Sport key cycling
Cycling odds API
Pre-match and live cycling odds from bookmakers, with a margin-adjusted fair price on every market, in one consistent JSON format. 270 competitions.
Popular cycling competitions
| Competition | Country or tour | League key |
|---|---|---|
| Tour de France | Tournaments and events | cycling_tour_de_france |
| Sparkassen Munsterland Giro | Tournaments and events | cycling_sparkassen_munsterland_giro |
| Vuelta Murcia | Tournaments and events | cycling_vuelta_murcia |
| Tour of Flanders | Tournaments and events | cycling_tour_of_flanders |
| Milan San Remo | Tournaments and events | cycling_milan_san_remo |
| World Championship Road Race | Tournaments and events | cycling_world_championship_road_race |
| 4 Jours de Dunkerque | Tournaments and events | cycling_4_jours_de_dunkerque |
| Alula Tour | Tournaments and events | cycling_alula_tour |
| Amstel Gold | Tournaments and events | cycling_amstel_gold |
See all 270 cycling competitions and pick the ones for your plan.
Countries and tours
- Tournaments and events270
Cycling markets
You get every market the bookmakers offer for each event. The most common ones:
- Outright winner
- Top 3, 5 and 10 finish
- Head-to-head matchups
- Each way
- Group and special markets
Which plan fits
Choose cycling competitions as part of your plan's leagues, mixed with any other sport: Solo 10, Pro 25, Scale 60 and Elite every league. Live odds start on Pro.
Want every cycling competition? Add the whole sport for $500/month, or single leagues for $100/month each.
Example request
One request returns the bookmaker price and the fair price for every outcome. Sport and league keys are being added to the API; the request shows the format.
GET https://api.valueoddsapi.com/v1/odds?sport=cycling&league=cycling_tour_de_france&phase=prematch
Authorization: Bearer YOUR_API_KEY{
"example": true,
"data": [
{
"event_id": "example-001",
"sport": "cycling",
"league": "cycling_tour_de_france",
"phase": "prematch",
"bookmaker": "example-book",
"observed_at": "2026-11-03T12:00:00Z",
"data_age_seconds": 0.25,
"market": {
"id": "outright_winner",
"period": "full_time",
"line": null,
"status": "open",
"method": "proportional_v1",
"fair_status": "available",
"overround": 0.0751,
"outcomes": [
{
"id": "participant_a",
"bookmaker_odds": 3.5,
"fair_odds": 3.76,
"fair_probability": 0.2658
},
{
"id": "participant_b",
"bookmaker_odds": 4.2,
"fair_odds": 4.52,
"fair_probability": 0.2215
},
{
"id": "participant_c",
"bookmaker_odds": 6.0,
"fair_odds": 6.45,
"fair_probability": 0.155
},
{
"id": "field",
"bookmaker_odds": 2.6,
"fair_odds": 2.8,
"fair_probability": 0.3578
}
]
}
}
]
}
Example data, not live prices. Fair odds use proportional margin removal. Read the integration guide
Questions about cycling odds
Which cycling competitions does the API cover?
The catalog lists 270 cycling competitions, taken from bookmakers' own public listings. Pick the ones you need on the sports page; your plan sets how many leagues you choose.
Do you have live cycling odds?
Yes. Pro and higher plans stream pre-match and live odds in real time over WebSocket and REST. Solo covers pre-match odds.
Which cycling markets are included?
Every market the bookmakers offer for the event, with the original price and a margin-adjusted fair price side by side.
How do I request cycling odds in the API?
Use the sport key cycling and a league key such as cycling_tour_de_france. League keys are the sport key plus the competition name in snake case.
Other sports
Get cycling odds into your product
Bookmaker odds and fair odds in one format, from pre-match to live.