> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.datafortennis.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.datafortennis.com/_mcp/server.

# Challenger data

> Select Challenger history, inspect measured coverage and use the shared player registry.

The `research-challenger-20261007-v1` snapshot adds Challenger men's singles
history from 2019 through the source captures of 7 October 2026. Main and
qualifying draws are included. The snapshot contains 62,213 distinct matches,
6,731,406 accepted point rows and 4,904,566 metric rows. These are counts of
accepted source observations, not a guarantee that every match has complete PBP.

The production snapshot was published at epoch `58611` on 7 October 2026.
Its shared registry contains 4,050 canonical players across the combined release;
918 historical alias IDs remain addressable, including 548 verified links added
by this reconciliation.

| Season | Matches | Matches with observed PBP | Accepted point rows |
| --- | ---: | ---: | ---: |
| 2019 | 5,223 | 0 | 0 |
| 2020 | 2,646 | 42 | 5,899 |
| 2021 | 6,256 | 2,086 | 291,892 |
| 2022 | 8,757 | 8,745 | 1,229,217 |
| 2023 | 9,432 | 8,681 | 1,214,661 |
| 2024 | 9,861 | 8,479 | 1,192,054 |
| 2025 | 10,302 | 10,177 | 1,434,668 |
| 2026 | 9,736 | 9,688 | 1,363,015 |

The 2026 capture reconciled the 205 eligible calendar editions observed by the
cutoff, including five ongoing editions. Future editions were excluded. Match
metadata, boxscores, point history and enrichment have separate availability.
Failed or contradictory source responses do not become fabricated points.
Set scores use explicit terminal score observations. Replayed game versions and
repeated set fragments are not counted as extra games; contradictory terminal
scores remain unknown. Set-score evidence does not establish complete PBP.

The snapshot reconciles 1,935 matches already present in the earlier release
under an unknown category. Existing match and point IDs are retained; the combined
release contains 87,630 distinct matches. Its metric census also includes 7,632
source-backed legacy observations for net points won, winners and unforced errors
that the newer capture did not provide. These retain their older source evidence
and do not acquire a new observation clock or a final-statistics guarantee.

## Select Challenger

`category` is an exact canonical filter. Use `Challenger`, including its case.
A category filter is bound into cursors and idempotent retry identity.

```http
GET /v1/matches?release=research-challenger-20261007-v1&category=Challenger&season=2026&limit=50
Authorization: Bearer <your private API key>
```

Follow `page.next_cursor` with the same release, category, season and limit.
The unfiltered match list includes the combined release's supported categories.
A player's category-filtered history uses the same `ply_` ID:

```http
GET /v1/players/<own-player-id>/matches?release=research-challenger-20261007-v1&category=Challenger&season=2026
```

## Inspect league-specific coverage

```http
GET /v1/coverage?release=research-challenger-20261007-v1&category=Challenger&season=2026
GET /v1/coverage/summary?release=research-challenger-20261007-v1&category=Challenger&season=2026
```

Detailed coverage requires the existing product access. The anonymous summary
contains the core coverage families only. `meta.definition` is
`category-coverage/1`; retain the release, epoch, category, season and family
when reporting counts. Family census and enrichment point density have their
own definitions. A match count is not an interchangeable point denominator.

Read a selected match's `/coverage`, `/points` and `/stats` using its `mat_` ID.
Rally, strokes and time evidence remain separate optional families. The existing
player-season aggregate pools the named release's selected categories; it is
not a Challenger-only aggregate. For league-specific statistics, select the
Challenger match census and the per-match metric family.

## One player identity across categories

ATP Tour, Challenger, singles and doubles use the same canonical player model.
Provider keys plus corroborated full names and compatible birth dates support
confirmed links. Accent and spelling variants can refer to the same person.
Similar names alone do not authorize a merger. Old Own IDs stay usable as
versioned aliases; old releases retain their historical identity representation.

Profiles expose the available source-backed traits. Unknown birth date, height,
weight, affiliation country, handedness or professional debut year remains null
or explicitly unknown. Country affiliation is not automatically citizenship.
Unresolved source associations and different-key name collisions remain under
review rather than being silently collapsed.

## Point clocks and live scope

Challenger time evidence includes relative elapsed clocks. It does not establish
UTC point timestamps. Zero-only templates are withheld; a zero in an observed
relative series remains valid. Explicit contact operands can reconstruct a rally
length under its stated definition; they do not establish ordered shot tracking.
PBP quality remains partial or unknown, including when many point rows exist.

Historical Challenger coverage and the separate `/v2/live` engineering preview
have independent availability. This release does not enable Challenger model
predictions or guarantee live point/statistics coverage. Live capabilities retain
their existing access controls and freshness semantics. Retired `/v1/live` routes
return HTTP 410 with the `/v2/live` replacement.