It seems the API already exists. Here’s how to get the latest rating info for a player by USCF ID:
curl https://beta-ratings-api.uschess.org/api/v1/members/12641216 | jq
and the JSON response:
{
"fideId": "2016192",
"gender": "Male",
"fideTitles": "G",
"lastChangedDate": "2025-10-07",
"rank": 1,
"stateRank": 1,
"ratings": [
{
"rating": 2874,
"ratingSystem": "OverTheBoardRegular",
"gamesPlayed": 1566,
"isProvisional": false,
"floor": 2200
},
{
"rating": 2774,
"ratingSystem": "OverTheBoardQuick",
"gamesPlayed": 436,
"isProvisional": false,
"floor": 2200
},
{
"rating": 2959,
"ratingSystem": "OverTheBoardBlitz",
"gamesPlayed": 180,
"isProvisional": false,
"floor": 2100
},
{
"rating": 2747,
"ratingSystem": "OnlineRegular",
"gamesPlayed": 21,
"isProvisional": true,
"floor": 100
},
{
"ratingSystem": "OnlineQuick",
"gamesPlayed": 0,
"isProvisional": true
},
{
"ratingSystem": "OnlineBlitz",
"gamesPlayed": 0,
"isProvisional": true
}
],
"id": "12641216",
"firstName": "HIKARU",
"lastName": "NAKAMURA",
"stateRep": "NY",
"uscfStateCode": "NY",
"expirationDate": "2030-12-31",
"fideCountry": "USA",
"status": "Active"
}