Supported Sports
Every sport we catalogue, each with its own leagues and markets. Pass a sportID to the events endpoint to pull odds across a whole sport, or drill into a single league.
Access real-time odds data across 28+ sports — including football, basketball, baseball, hockey, soccer, tennis, golf, MMA, and more. Our API provides pre-match odds, live betting odds, player props, alternative lines, and results data across all supported sports.
| Name | sportID | Leagues |
|---|---|---|
| Soccer | SOCCER | 19 |
| Football | FOOTBALL | 5 |
| Baseball | BASEBALL | 14 |
| Golf | GOLF | 3 |
| MMA | MMA | 1 |
| Motorsports | MOTORSPORTS | 0 |
| Horse Racing | HORSE_RACING | 0 |
| Non-Sports | NON_SPORTS | 9 |
| Basketball | BASKETBALL | 4 |
| Hockey | HOCKEY | 4 |
| Tennis | TENNIS | 3 |
| Handball | HANDBALL | 5 |
| Floorball | FLOORBALL | 0 |
| Rugby | RUGBY | 0 |
| Aussie Rules | AUSSIE_RULES_FOOTBALL | 0 |
| Bandy | BANDY | 0 |
| Snooker | SNOOKER | 0 |
| Table Tennis | TABLE_TENNIS | 0 |
| Darts | DARTS | 0 |
| Volleyball | VOLLEYBALL | 0 |
| Cricket | CRICKET | 0 |
| Water Polo | WATER_POLO | 0 |
| Futsal | FUTSAL | 0 |
| Badminton | BADMINTON | 0 |
| Beach Volleyball | BEACH_VOLLEYBALL | 0 |
| ESports | ESPORTS | 0 |
| Lacrosse | LACROSSE | 0 |
| Boxing | BOXING | 0 |
Which sports does the API cover?
The catalogue lists 28+ sports. Leagues are currently configured for football, basketball, baseball, hockey, soccer, tennis, golf, MMA and handball, together covering 67+ leagues. The sports endpoint returns what your API key can query today, which is the answer to build against.
How do I get the current list of sports for my API key?
Call the sports endpoint. It reflects your plan rather than the full catalogue, so it is the reliable source for what you can actually query — and it stays correct as sports and leagues are added.
What is a sportID and where do I use it?
An uppercase identifier for one sport — BASKETBALL, FOOTBALL, SOCCER, BASEBALL. Pass it to the events endpoint to pull odds across every league in that sport, or a comma-separated list such as BASKETBALL,FOOTBALL for several at once.
Why is points the statID for goals and runs?
Because points is the score stat for every sport in the API. A Premier League goals total, an MLB runs total and an NFL points total all arrive under statID points, which is what lets one piece of parsing code handle every sport without branching on the league. Sport-specific stats keep their own IDs — shots_onGoal, batting_hits, passing_yards.
Do all sports support player props?
Coverage varies by sport, by league within a sport, and by which books price that league. The markets endpoint returns the supported set from live data, which is more reliable than any list we could publish and keeps working as coverage changes.
How do sports, leagues and events relate?
A sport contains leagues, a league contains events, and an event carries the odds. That means you can request at whatever level suits you: a whole sport with sportID, one league with leagueID, or specific games by event ID.
Can I request odds across several sports in one call?
Yes. sportID accepts a comma-separated list, so sportID=BASKETBALL,FOOTBALL returns both in one response. Billing is per event object, so the cost is the number of games returned rather than the number of sports you asked for.
What happens if I request a sport my plan does not include?
The request succeeds and returns an empty result rather than an error. A 200 with an empty array usually means the plan gate rather than a bug, which catches people out while testing on the free tier.
Ready to get started?
Join thousands of developers building the next generation of sports and betting applications.