Skip to main content

Overview

The Odds-API.io provides several endpoints for fetching odds data from multiple bookmakers. This guide covers best practices and common patterns for working with odds data.
For an up-to-date list of all supported bookmakers, visit odds-api.io/sportsbooks.

Basic Workflow

  1. Get available sports - Fetch the list of supported sports
  2. Get leagues - Retrieve leagues for your chosen sport
  3. Get events - Find upcoming or live events
  4. Get odds - Fetch odds from selected bookmakers

Fetching Odds for a Single Event

Use the /v3/odds endpoint to get odds for a specific event:

Fetching Odds for Multiple Events

For better efficiency, use the /v3/odds/multi endpoint to fetch odds for up to 10 events in a single request:
The multi-odds endpoint counts as only 1 API request regardless of how many events you fetch (up to 10).

Understanding the Odds Response

The odds response includes multiple markets for each bookmaker:

Market Types

Pass these exact names to the markets parameter. Matching is case-insensitive.
  • ML - Match result (Home, Draw, Away)
  • Spread - Handicap betting with fractional lines, including Asian lines
  • Totals - Total goals/points over or under a line
  • Both Teams To Score - Yes/No markets
  • Correct Score - Exact score predictions
  • Double Chance, Draw No Bet, European Handicap, Half Time / Full Time
  • Team Total Home / Team Total Away - Totals for one side only
  • Half-time and period variants use a suffix: ML HT, Totals HT, Spread HT, Totals 2H
  • And many more…
Availability varies by sport. Tennis uses Totals (Games) and Spread (Games), basketball adds Player Props. To see exactly which markets an event carries, request it without a markets filter.
Match the full market name. There is no market called “Match Winner” (use ML), and no bare “Over/Under” or “Asian Handicap”, though longer names such as Goals Over/Under and Alternative Asian Handicap do exist.

Finding the Best Odds

Here’s an example of comparing odds across bookmakers to find the best value:

Getting Updated Odds

For real-time applications, use the /v3/odds/updated endpoint to fetch only odds that have changed:
The since parameter must be a UNIX timestamp no older than 90 seconds.

Caching Strategies

To optimize performance and reduce API calls:
  1. Cache event lists for 5-10 minutes
  2. Cache pre-match odds for 30-60 seconds
  3. Cache live odds for 5-10 seconds
  4. Use updated odds endpoint for incremental updates

Best Practices

Select only the most relevant bookmakers for your users. See the full list of supported bookmakers.
Batch requests using /v3/odds/multi to reduce API calls and stay within rate limits.
Cache odds data appropriately based on match status (pre-match vs live).
Not all bookmakers offer all markets. Always check if data exists before accessing it.

Next Steps

Value Bets

Learn how to identify profitable betting opportunities

WebSockets

Get real-time odds updates via WebSocket connections