Every race, every stage,
every rider.
The whole race, as data: results, times and gaps for every stage and classification, jersey standings after each stage, stage towns with altitude and distances, rider careers back to 1869 and the calendar ahead. Road, track, mountain bike, cyclocross, BMX and gravel.
Coverage
158 seasons. One archive.
Who rides with it
Built for the people who follow every stage.
Precision
Measured to the second.
A stage is decided in seconds. Every result carries the time, the gap and the place exactly as the race recorded them, checked against every record we hold.
The fortnight
Racing, right now.
The calendar as the riders see it: what finished, what is on the road today and what starts next, across every discipline. Read every 15 minutes.
GET /v1/calendar?from=2026-10-26&to=2026-11-08Plans
Pick your window.
Each plan is a stretch of the archive. The gold bar shows what it reads: 1869 on the left, this season and today to the right, the races ahead at the end.
Every plan: JSON over HTTPS, one id per rider, usage and coverage lookups, and support by email. Card charges appear as DEVELOPERDATA.NET.
Who won the stage to Alpe d'Huez in 1952?
race_results( race: "rc_7qk3m2xa", year: 1952, stage: "10" )200 · 41 rows · 38 msFor AI assistants
Ask it anything.
The whole archive as tools an assistant can call. Your key, your plan, the same rows as the API: every answer comes with the result it was read from.
https://cyclingapi.com/mcpHow it is kept
Checked before it reaches you.
Every race read from several independent records, old and new, then read again as results are corrected.
One id per rider across every season and spelling, so a career is one call, not a guessing game.
Where records disagree, the places are voted; each podium says how many records agree on it.
Times to the second, countries as three-letter codes, every date in UTC. Live feeds read every 15 minutes.
Start now
Your first call is free.
A free key reads yesterday, today and the races ahead, 50 calls a day. No card.
curl https://api.cyclingapi.com/v1/results/yesterday \ -H "Authorization: Bearer cya_your_key"