Oddschecker APIoddschecker.com ↗
Retrieve bookmaker-by-bookmaker odds for football, horse racing, and motorsport from Oddschecker. Compare markets, runners, and outcomes across all major bookmakers.
What is the Oddschecker API?
The Oddschecker API exposes 9 endpoints covering betting odds across football, horse racing, and motorsport. Use get_match_odds to pull fractional odds for every bookmaker on a given football match across multiple markets, or get_horse_race_odds to retrieve all runners and their per-bookmaker prices for a specific race card. Response fields include outcome names, bookmaker codes, fractional odds strings, and market metadata.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/f34bb573-963f-4e6e-9222-1c47647686b0/get_sports_list' \ -H 'X-API-Key: $PARSE_API_KEY'
Retrieves all sports available on Oddschecker. Returns sport names and slugs extracted from the site navigation. The slug can be used to construct league or event URLs for further exploration.
No input parameters required.
{
"type": "object",
"fields": {
"sports": "array of sport objects each containing name, url, and slug"
},
"sample": {
"data": {
"sports": [
{
"url": "https://www.oddschecker.com/horse-racing",
"name": "Horse Racing",
"slug": "horse-racing"
},
{
"url": "https://www.oddschecker.com/football",
"name": "Football",
"slug": "football"
},
{
"url": "https://www.oddschecker.com/tennis",
"name": "Tennis",
"slug": "tennis"
}
]
},
"status": "success"
}
}About the Oddschecker API
Football Odds and Leagues
Start with get_football_leagues to retrieve the full list of competitions available on Oddschecker — each league object includes a name, url, and slug. Pass the slug as the league_path parameter to get_football_matches to get upcoming fixtures for that competition. Each match object returns an event name and a slug that feeds into get_match_odds. That endpoint returns a markets array — each market (e.g. Winner, Correct Score) contains an outcomes array where every outcome carries an odds dict keyed by bookmaker code, so you can compare prices across all listed bookmakers simultaneously. The bookmakers object in the same response maps each bookmaker code to bookmakerName, bookmakerCode, and bookmakerType.
Horse Racing and Motorsport
get_horse_racing_meetings returns today's race schedule organised by venue, with each meeting containing a races array of objects that carry a time and a url. Pass that URL directly to get_horse_race_odds to get the runners array for the race — each runner has a name (horse name) and an odds object mapping bookmaker codes to fractional odds strings. For motorsport, get_sport_events accepts a sport_path such as motorsport/formula-1 and returns all available betting markets including race winner, podium finish, and championship markets. Each market object includes a slug that goes into get_race_odds, which returns a runners array, a bookmakers metadata object, and a market_name string.
Search and Discovery
search_events accepts a free-text query — team names, competition names, or event titles — and returns a results array with fields including market_name, market_map, category_name, event_name, and market_id, plus a total_hits integer. The market_map slugs from search results can be used to navigate to specific odds pages. get_sports_list provides the top-level sport navigation with name, url, and slug for every sport on the site, giving a starting point for any sport beyond football and motorsport.
The Oddschecker API is a managed, monitored endpoint for oddschecker.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when oddschecker.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official oddschecker.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a best-odds finder that compares fractional prices across all bookmakers for a given football match using get_match_odds outcome odds dicts.
- Monitor horse racing markets in real time by polling get_horse_race_odds for runner prices throughout the day as odds shift before race off.
- Track Formula 1 race winner and championship odds changes across bookmakers using get_race_odds with market slugs from get_sport_events.
- Aggregate upcoming fixtures across multiple football leagues by iterating get_football_matches with different league_path values.
- Implement arbitrage detection by identifying diverging fractional odds for the same outcome across bookmaker codes in the odds dict.
- Power a search feature that finds odds markets by team or competition name using the search_events query parameter and returned market_map slugs.
- Alert users when a specific bookmaker's odds on a horse race runner cross a threshold by watching the bookmaker-keyed odds object in get_horse_race_odds.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.