Skip to main content
Cycling race content — stage results, General Classification, live standings — is served by V3.

Base URL and auth

The canonical front door https://api.sportsapipro.com/v3/cycling/... maps to the same routes.

Endpoints

These four period windows are the supported cycling endpoints. /api/v1/cycling/tournament/{id} is not served, and /api/v1/match/{eventId} (plus /standings) returns an empty shell for cycling — all the cycling payload is in the period listings.
Rolling window only — no historical or date-addressable cycling. today, live, yesterday and tomorrow are the complete set. There is no date parameter: /api/v1/cycling/2026-07-15, /api/v1/cycling/date/2026-07-15 and /api/v1/cycling/schedule/2026-07-15 all return 404. Once a race finishes it leaves the window, so a Grand Tour that is not currently running cannot be queried, and multi-season backfill for modelling is not available on any version.If your product needs archived stage results, persist the today / yesterday payloads yourself day by day while a race is live.

How to read the response

Two rules cover everything:
  1. Each leagues[] entry is a classification, not a competition.
    • ... - Overall is the General Classification (GC).
    • ... - Stage N is that stage’s result.
    • One race therefore appears as several leagues sharing the same tournamentId.
  2. Each events[] entry is one rider’s placing, not a match.
    • homeTeam.name — the rider (Wiebes L.)
    • homeTeam.shortName — the position ("1", "2", "3", …)
    • homeTeam.slug / participantId — stable rider identifiers
    • status / statusCodefinished, in progress, etc.
    • awayTeam and all score objects are unused for cycling — ignore them.

Recipe: GC table and stage result

Swap "Overall" for "Stage 2" to get that stage’s finishing order.

Coverage notes

  • Men’s and women’s Grand Tours and week-long stage races appear under this structure while they are running. Once a race finishes it drops out of the today / live windows; use yesterday immediately after a stage.
  • league.name is prefixed with the race family (for example TOURS:) and suffixed with the classification. Match on tournamentId when you need a stable key across days.
  • Not available for cycling on any version: live GPS/telemetry, power and gradient data, per-rider in-stage splits, cycling odds, and multi-season historical backfill.
Last modified on August 2, 2026