Endpoints
All endpoints require Authorization: Bearer <API_KEY>.
curl -H "Authorization: Bearer <API_KEY>" \
https://api.baselinerank.com/players/a0e2
{
"data": {
"atp_id": "a0e2",
"name_short": "C. Alcaraz",
"country": "Spain",
"dob": "2003-05-05",
"height_cm": 183,
"weight_kg": 74,
"plays": "Right-Handed, Two-Handed Backhand",
"coach": "Samuel Lopez",
"turned_pro": 2018,
"rank": 1,
"points": 13550,
"movement": 0,
"tournaments_played": 17,
"career_high_rank": 1,
"career_wins": 292,
"career_losses": 65,
"career_titles": 26,
"ytd_prize_money": "$3,301,730",
"career_prize_money": "$63,333,776",
"scraped_at": "2026-03-03T21:03:09Z"
}
}
{
"error": "Player not found"
}
curl -H "Authorization: Bearer <API_KEY>" \
"https://api.baselinerank.com/players/su87/ranking/history?limit=52"
{
"data": {
"atpId": "su87",
"type": "singles",
"history": [
{ "date": "2026-03-02", "rank": 64 },
{ "date": "2026-02-23", "rank": 65 },
{ "date": "2026-02-16", "rank": 60 },
{ "date": "2026-02-09", "rank": 60 },
{ "date": "2026-02-02", "rank": 40 },
{ "date": "2026-01-19", "rank": 40 }
]
}
}
{
"error": "Player not found"
}
curl -H "Authorization: Bearer <API_KEY>" \
https://api.baselinerank.com/v1/rosters/acme/rankings
{
"agency": "Baseline Sports Group",
"updatedAt": "2026-02-23",
"players": [
{ "name": "Coco Gauff", "rank": 3, "trend": 1 },
{ "name": "Carlos Alcaraz", "rank": 2, "trend": 0 }
]
}
{
"events": ["rank.updated"],
"callbackUrl": "https://yoursite.com/hooks/rank"
}
{
"data": {
"atp_id": "a0e2",
"name_short": "C. Alcaraz",
"country": "Spain",
"dob": "2003-05-05",
"height_cm": 183,
"weight_kg": 74,
"plays": "Right-Handed, Two-Handed Backhand",
"coach": "Samuel Lopez",
"turned_pro": 2018,
"rank": 1,
"points": 13550,
"movement": 0,
"tournaments_played": 17,
"career_high_rank": 1,
"career_wins": 292,
"career_losses": 65,
"career_titles": 26,
"ytd_prize_money": "$3,301,730",
"career_prize_money": "$63,333,776",
"scraped_at": "2026-03-03T21:03:09Z"
}
}
Search by player name — select one to get a live response from the API.
// Search for a player above to get a live response
Reference
Authentication, rate limits, errors, and SDKs.
Authentication
Use Bearer tokens for server or client-side requests.
Authorization: Bearer {API_KEY}
Rate limits
Default: 600 requests / minute per key.
X-RateLimit-Limit: 600
X-RateLimit-Remaining: 542
Error handling
Structured errors with consistent status codes.
{
"error": "not_found",
"message": "Player ID not recognized"
}
SDKs Coming soon
Native clients for JavaScript and Python are in development. Until then, the API is fully usable with fetch, curl, or any HTTP client.
const res = await fetch(
"https://api.baselinerank.com/players/a0e2",
{ headers: { Authorization: "Bearer " + API_KEY } }
);
const { data } = await res.json();
Response schema
Field definitions for /players/{atpId}.
a0e2.
C. Alcaraz.
Spain.
$3,301,730.
Ranking history schema
Field definitions for /players/{atpId}/ranking/history.
singles or doubles.
2026-03-02.
Error codes
- not_found — Player ID is not recognized.
- unauthorized — Missing or invalid API key.
- rate_limited — Too many requests in a short window.
- invalid_request — Malformed parameters.
Versioning
The API is versioned under /v1. Future versions will ship behind a new
base path. Breaking changes will be announced in the changelog with a deprecation
window before removal.