About TennisDB
Coverage at a Glance
What is TennisDB?
TennisDB is an independent ATP tennis reference for looking up players, results, rankings, head-to-head records, tournament history, Elo ratings, and all-time leaderboards.
The goal is simple: make it fast to answer tennis questions, compare players, follow the current season, and browse the historical record from one place.
The site is built for both human browsing and machine-readable fact retrieval: canonical pages include structured data, compact markdown mirrors, and clear source notes so stats can be cited with context.
Built by @mhonkasalo (opens in new tab). For questions or inquiries, reach out at [email protected].
Data Sources
Jeff Sackmann / Tennis Abstract (1968–2024)
Historical match, player, and tournament data is sourced from Jeff Sackmann's open tennis datasets:
This dataset is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International license (CC BY-NC-SA 4.0 (opens in new tab)).
In accordance with the license:
- Attribution: Historical ATP data by Jeff Sackmann (opens in new tab) / Tennis Abstract (opens in new tab).
- NonCommercial: Sackmann-derived historical data is provided free of charge.
- ShareAlike: Any derived datasets are shared under the same CC BY-NC-SA 4.0 terms.
BallDontLie ATP API
Current-season match results, rankings, and tournament data from 2025 onward is provided by the BallDontLie (opens in new tab) ATP API.
Wikidata / Wikimedia Commons
Player biographical data (birth dates) and profile photos are sourced from Wikidata (opens in new tab). Player images are served from Wikimedia Commons (opens in new tab) and are used under their respective free licenses (typically CC BY-SA 4.0 (opens in new tab)). Original image authors and license details are available on each file's Wikimedia Commons page.
How It Works
Raw records are ingested from upstream sources, normalized into canonical tables, and published into a pre-computed serving layer designed for fast reads. Refresh jobs run automatically on a regular cadence.
Page-level "Updated" timestamps show the best known freshness signal. Exact timing can vary by source delivery and job completion windows.
What TennisDB Tries to Optimize
- Fast current-season updates: live and recent results should reach public pages quickly after they are available from upstream sources.
- Transparent historical caveats: older eras remain visible even when source coverage is imperfect, with limitations called out on the data-quality page.
- Stable public URLs: player, tournament, match, rivalry, leaderboard, and news pages are designed to be linkable and citeable.
- Request-time speed: expensive reconciliation and aggregation happen in refresh jobs, not while a user is waiting for a page.
Methodology
Most values are direct source fields. Some are derived or estimated when upstream data is incomplete — estimated dates are clearly marked in the UI with an asterisk and tooltip.
Player and tournament identities are reconciled across sources using feature-based matching algorithms. Match categories and round names are normalized before serving so pages use a consistent vocabulary across ATP, WTA, Sackmann, and BallDontLie source formats.
The Data Quality & Coverage page shows how complete and current our data is. The Glossary defines the stats, categories, and abbreviations used throughout the site.
Caveats
- This is a reference product, not an official governing-body record.
- Historical coverage and field completeness can differ across seasons.
- Corrections may appear after upstream revisions and serving refresh cycles.
If you spot an issue, please report it via Contact.