About TennisDB

Coverage at a Glance

211,924
Matches
5,194
Players
2,377
Tournaments
1968–2026
Seasons

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
BallDontLie API 2025+

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:

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.