Full career match history of ATP and WTA players: opponent, rank, round, surface, score, plus per-match ace rate, double fault rate, serve percentages, break points saved and dominance ratio. Win rates by surface and record against top-10 computed for you.
Pricing
from $2.00 / 1,000 player profile with career totals
New fields and options; nothing was renamed or removed, and the defaults are the same.
careerSummary in every profile: titles and finals by season and level, head-to-head by opponent,
splits by round, best of 3 and 5, last 52 weeks and tour level, sets, games, tiebreaks, hold and
break rates, and a summary by tournament. It covers every match that passed the filters, not only
the returned ones, and comes with the profile price. New views: Head-to-head, Tournaments
and Titles.
Each match carries bestOf, entry and opponentEntry, opponentDateOfBirth,
opponentAgeAtMatch, opponentId (men's matches) and provisional.
The tournament of the current week loses the source's "ATP " or "WTA " prefix ("ATP Shanghai" is
now Shanghai) and is marked provisional: true; its matchKey is computed from the name without
the prefix, so it no longer changes when the source renames the tournament.
ITF levels have names: ITF M15, ITF W25 and so on instead of the bare prize money; women's
C is WTA 125. levelCode is unchanged.
The profile adds peakRankLastDate, doublesRank, doublesPeakRank, active, atpId,
wtaPath and itfId.
maxMatchesPerPlayer: 0 returns the profile with the career totals only, billed as one profile.
A last name that only one player has is enough ("Swiatek"); a shared one returns the error
ambiguous name with candidates, unbilled.
Women's players skip the men's page when the tour is known beforehand, up to three players load at
a time (one at a time after the source first refuses a request), and a proxy that refuses the
connection (HTTP 407) fails the run with a proxy message instead of "source unavailable".
1.0 — first public version
The records and every view are described in the README (Output, Match key and joins,
Download as a spreadsheet) and in the dataset schema. Changes of the output since the 0.1
test builds:
Every career match carries matchKey, the same in both players' careers, sourceMatchId,
the source's own ID of the match where it writes one, and opponentSlug, which works as a
players entry.
New filter opponents: only the matches against these players.
The Career matches view carries the player's slug.
From here on a field that is renamed or removed, or a default that changes, comes with a new
major version. To stay on one build, pass its build number (such as 1.0.3, shown in the run's
details) as build when you start a run through the API.