What is an odds API?

A plain-English answer, a real response, and what people actually build with the prices.

In one sentence

An odds API is a service that fetches prices from many sportsbooks, exchanges and prediction markets, puts every price in the same shape, and returns it as JSON over HTTP. Instead of opening a dozen betting sites and reading numbers off a page, a program sends one request and gets back every book's price for a fixture in a response it can parse directly.

The API itself does not judge, recommend or place anything. It answers one question: what is each book currently showing for this fixture, and when did it last confirm that price.

What the JSON looks like

A real response to GET /v1/sports/{sport}/odds, taken from the API's own OpenAPI description, not typed by hand.

[
  {
    "id": "soccer:crystalpalace-nottinghamforest:2026-10-11",
    "sport_key": "soccer",
    "sport_title": "Soccer",
    "commence_time": "2026-10-11T13:00:00.000Z",
    "is_live": false,
    "status": "scheduled",
    "home_team": "Crystal Palace",
    "away_team": "Nottingham Forest",
    "bookmakers": [
      {
        "key": "betmgm",
        "title": "BetMGM",
        "link": "https://sports.nj.betmgm.com/en/sports/events/crystal-palace-nottingham-forest-2:7865814",
        "last_update": "2026-10-10T22:06:51.003Z",
        "markets": [
          {
            "key": "spreads",
            "last_update": "2026-10-10T22:06:51.003Z",
            "outcomes": [
              {
                "name": "Nottingham Forest",
                "price": 145,
                "point": -0.5,
                "main": true
              },
              {
                "name": "Crystal Palace",
                "price": -210,
                "point": 0.5,
                "main": true
              }
            ]
          }
        ]
      }
    ],
    "unmatched_bookmakers": []
  }
]

What people build with it

Described factually, as things people build. None of it is endorsed or promised to work.

Common uses

  • Price-comparison tools and odds screens
  • Closing-line (CLV) tracking
  • Line-shopping tools
  • Prediction-market bots
  • Market research and modeling
  • AI agents that need current prices

What the API does not do

  • Place or manage any bet
  • Recommend what to bet
  • Judge which price is 'better'
  • Guess a price it has not measured

How this API differs

Every book, one shape

37 sportsbooks, 6 exchanges and 3 prediction markets, all reduced to the same fields: fixture, bookmakers, markets, outcomes. A prediction market like an exchange is priced the same way a sportsbook is, not bolted on as a special case.

Timestamped, never guessed

last_update is present on every price and can be null. A null value means we do not yet measure a fetch time for that book, and it is never an estimate.

No region parameter

Every book is available on every plan, with no regional gating and nothing to configure to see it.

Missing books are named

When a book returns nothing for a fixture, unmatched_bookmakers names it, so a gap never looks like a missing price.

Questions

What is an odds API?
A service that fetches prices from sportsbooks, exchanges and prediction markets and returns them as JSON, so a program can read them instead of a person reading a website. It replaces checking each book's own site or app one at a time.
What does the response actually look like?
An array of fixtures. Each fixture lists its bookmakers, each bookmaker its markets, each market its outcomes, and each outcome a price and, where the market has one, a point. See the example on this page, taken directly from the API's own OpenAPI description.
Does it cover 46 separate feeds I have to normalize myself?
No. Every book, whether it is a sportsbook, an exchange like 4Casters or a prediction market like Fanatics Markets, is already reduced to the same fields. You read one shape, not one shape per book.
Is this a betting product?
No. It is data infrastructure: fixtures and prices, joined and normalized, served over an API. It does not place bets, and it does not tell you what to bet.
How do I know when a price was last confirmed?
Every price carries its own last_update, the moment its book last confirmed it. It is null when that value is not yet measured, never an estimate.
Do I need to pick a region?
No. There is no region parameter. Every book is available on every plan, worldwide.
What do people build with an odds API?
Price-comparison tools and odds screens, closing-line tracking, line-shopping tools, prediction-market bots, research on market efficiency, and AI agents that need current prices to answer a question. What you build with the prices is up to you.
What's the cheapest way to try it?
The Free plan: 1,000 requests a month, every book, at no cost.

Read a real response in one request.

Free plan: 1,000 requests a month, every book.