Skip to main content
Connector ID livetennisapi The Live Tennis API source reads current match data, player and tournament reference data, and optional historical results and rankings. It uses an HTTP manifest targeting API v1 and is alpha. It has been checked against the official API reference and Filament’s manifest validation. Live account validation is pending.

Configuration

Get a key from your Live Tennis API account. Connection testing reads /usage, which is authenticated and quota-exempt. See the official API reference for authentication and plan entitlements. Live and upcoming matches, fixtures, players, tournaments, and usage are available with a free key. Completed and cancelled matches and the history resources need BASIC or an eligible Historical Data API plan. The limited free history allowance is unsuitable for backfills. Rankings need PRO or higher. Match detail includes market and analysis fields only when your plan allows them.

Resources

Only matches and fixtures are selected by default. Reference tables, detail reads, and paid resources are optional. Selecting a child also reads its parent, even if the parent is not selected for writing. Matches and fixtures each emit one row per returned record. Matches follow match_status, while fixtures list upcoming scheduled fixtures. Players and tournaments emit one row per catalog entry. Tournament IDs remain stable across seasons. Usage emits one row for the calling key, including its daily history. History matches cover completed matches from January 2023 onward. Each history tape is one row per match with the score sequence, profiles, and coverage metadata kept as JSON. The default raw sequence is requested. It may be incomplete or include reconstruction with null timestamps and model values. Read the tape’s meta before using it for analysis. Archive matches cover results from 1968 through 2022 in a separate ID space. event_date is the tournament start date. Archive detail adds serve statistics where recorded. Archive players use the composite key tour, id, which joins the archive result’s player IDs within the same tour. These are not roster IDs. Rankings emit the latest published table for the selected system. They have no primary key because players outside the roster have null IDs and ranks can tie. History coverage is also keyless and emits one rollup object. History incidents emit one row per published incident, including correction and affected-match metadata. Incident exports are not downloaded. Nested data stays in JSON columns. Each resource has a trailing raw column for fields not projected separately. Match detail’s plan-dependent market and analysis objects remain in raw. Dedicated event, stoppage, status-transition, withdrawal, live point, price-tick, statistics, rally, and charting feeds are outside this version’s scope. So are archive reconstructed tapes, career and head-to-head queries, Elo and per-player as-of rankings, bulk packages, WebSocket feeds, broadcast overlays, and webhooks. Player and tournament detail lookups duplicate the catalog schemas and are not separate resources.

Modes

All resources support full reads. Use full replace for keyless rankings and history coverage. Full replace also removes matches that leave the selected status. Full upsert refreshes keyed records but retains rows no longer returned. Incremental reads are not supported. The upstream match change feed requires a server watermark and a cursor that replaces the initial filter. This connector uses ordinary full listings. Historical tapes and results may receive later corrections, so play dates are not used as update cursors.

Behavior

  • Auth uses the X-API-Key header on every request.
  • Pagination reads list records from data in pages of 50, advances offset by 50, and stops when meta.has_more is false. It can continue through short or empty pages. Detail objects, usage, coverage, and incidents are unpaginated.
  • Rate limiting allows one request every two seconds with a burst of one, matching the free plan’s 30 requests per minute. The HTTP engine retries throttled requests and honors Retry-After. Daily allowances are shared with other clients and are not tracked by Filament.
  • Backfills request unbounded listings without date filters. Player catalogs, archives, and per-match tapes can exceed daily quotas. Select these resources deliberately and use a plan with sufficient allowance.
  • Consistency reflects the API while pages are fetched. Offset reads are not atomic snapshots, and live matches can enter or leave the listing during a run.
  • Errors remain visible. Missing entitlement and unavailable detail responses fail the read rather than silently dropping records.