One player's bio + ranking + cached stats (FREE)

playerId is a ROSTER id — the live player registry, the id space /players, /matches and /rankings all speak. It is NOT the archive corpus person id. The results archive (1968–2022) keeps its own person registry, and archive match rows publish those ids as winner.player_id / loser.player_id. The two spaces are disjoint: no corpus id resolves here, and since 2026-09-20 a 404 for one says so and points at /history/archive/players?id={playerId}, which is where that id is read. A 404 with no see field is simply an id we do not hold.

get/players/{playerId}

Request

  • Base URL: https://api.livetennisapi.com/api/public/v1
  • URL: https://api.livetennisapi.com/api/public/v1/players/{playerId}
  • Auth: one of:
    • HTTP bearer
    • API key in header X-API-Key

Path parameters

playerIdinteger required

Response

Player with stats ({ratings, season})

idinteger
namestring
tourstring nullable

The record's OWN tour, which is NOT the tour filter vocabulary. It is granular (juniors_boys, juniors_girls, challenger_men) where the filter is grouped (juniors, challenger), and a doubles team reports it UPPERCASE (ATP) where an individual reports lowercase (atp). Treat it as an opaque string; do not parse it into the filter enum.

countrystring nullable
rankinginteger nullable

Official singles ranking POSITION (the ordinal: 1, 25, 100) — never points, seed, race, UTR, Elo or a doubles rank. Men from the official ATP table, women from the WTA table, chosen by the player (a Challenger or ITF man who holds an ATP ranking carries it here). Refreshed from the standings ahead of each match the player has with us; a player who has not played recently keeps their last refreshed position. null when no ranking is held (doubles teams, most ITF/junior-only players). Always the CURRENT record, even on historical matches — use /rankings?as_of= for the rank in force on a date.

ranking_pointsinteger nullable

Points on the same official table, refreshed with ranking.

ranking_movement'up' | 'down' | 'same' | 'null' nullable
hand'R' | 'L' | 'null' nullable
backhand1 | 2 | null nullable
birthdaystring date nullable
is_doubles_teamboolean

Changes

No recorded changes to this operation across all 1 revision of this API.