Data quality updated: 2026-07-24 21:35 UTC
ATP Data Quality & Coverage
How complete and current is the ATP data on this site.
How to Read This Page
This page is the public status note for TennisDB's ATP data. It separates coverage, freshness, source priority, and known limitations so users can tell whether a surprising stat is likely a site bug, a source coverage gap, or a normal delay in upstream publication.
Counts focus on completed professional singles records that are eligible for public site pages. They are useful for transparency, but they are not a promise that every historical match, ranking snapshot, or biographical field exists in every era.
Coverage Overview
Data Sources
| Source | Period | Matches | Share |
|---|---|---|---|
| Jeff Sackmann / Tennis Abstract (opens in new tab) | 1968–2024 | 206,875 | 95.7% |
| BallDontLie API | 2025–present | 9,248 | 4.3% |
Source Priority Rules
How TennisDB chooses between upstream sources before publishing request-time serving tables.
Matches
ATP match pages use Jeff Sackmann records before 2025 and BallDontLie records from 2025 onward. That split keeps historical records stable while allowing current-season results to publish quickly.
Rankings
ATP rankings follow the same source split: Sackmann before 2025, BallDontLie from 2025 onward.
Categories
Tournament categories are normalized during ingest and stored in the serving layer, so pages use one canonical category value instead of reinterpreting source-specific codes at request time.
Coverage by Era
ATP main-tour singles match records by decade. Coverage improves in more recent decades as data sources become more comprehensive.
| Decade | Matches |
|---|---|
| 1960s | 5,982 |
| 1970s | 35,946 |
| 1980s | 33,600 |
| 1990s | 33,818 |
| 2000s | 37,679 |
| 2010s | 44,110 |
| 2020s | 25,081 |
Data Freshness
When site data was last updated.
| Event | Time (UTC) | Status |
|---|---|---|
| Last data ingest | — | — |
| Last serving layer refresh | Jul 24, 2026 | success |
Known Limitations
Accepted data limitations that we are aware of and working to improve over time.
Historical match coverage varies by era
The Sackmann dataset is the most comprehensive open ATP dataset, but does not cover 100% of historical matches. Coverage is approximately 95% for the 2000s, 90% for the 1990s, 85% for the 1980s, and 80% for the 1970s. Win-loss records and title counts for older players may be slightly lower than ATP official figures.
Pre-2009 tournament categories are approximate
Modern category labels (ATP 250, ATP 500) are applied retroactively to pre-2009 events. Historical tier distinctions are not preserved because no upstream data source provides them.
"Turned pro" year is approximate for historical players
For players active before ~2000, the displayed turned-pro year reflects the first season with ATP main-tour match data, which may differ from official records by 1-3 years.
Prize money is source-dependent
Career prize money is reconciled from official tour PDFs, Wikidata, and BallDontLie where available. Most prominent historical players should have values, but lower-ranked historical players may still have gaps.
Rankings before August 1973 do not exist
The ATP computer ranking system began in August 1973. No rankings are available for earlier seasons.
Recently retired players on active leaderboards
Players who have retired but still hold a ATP ranking (within the 52-week rolling window) may appear on active leaderboards until their ranking points expire naturally.
If you spot something that looks wrong, please let us know.