Skip to main content
Sports Betting API

The Sportsbook API for Real-Time Betting Odds

A sportsbook API gives your code the odds a bookmaker shows its customers. Odds-API.io is a sports betting API with pre-match and live odds from 450+ bookmakers across 34 sports, in one JSON format over REST and WebSocket.

Bookmakers
450+
Leagues
12,000+
Latency
<150ms
Uptime
99.99%

Sportsbook API Integration

One API key, plain HTTPS requests and JSON responses, in four steps.

  1. 1

    Get an API key

    Pick a plan and your key arrives by email. Every request sends it as the apiKey query parameter.

  2. 2

    Find events

    Call /v3/events with a sport and league to get event IDs, start times and status. /v3/sports and /v3/bookmakers need no key.

  3. 3

    Fetch odds

    /v3/odds returns the markets for one event from the bookmakers you choose. /v3/odds/multi takes up to 10 events per call.

  4. 4

    Stream changes

    Open the WebSocket feed to get odds updates as they happen. After a reconnect it replays what you missed.

Prefer a client library? There are official SDKs for Node.js, Python, PHP, Go and R, and an MCP server that lets Claude, Cursor and other AI tools query the API. Follow the quickstart for your first request or read the SDK guide.

What the Sports Betting API Covers

Every plan covers every sport and market. Plans differ mainly in how many bookmakers you choose.

Bookmakers
450+, from Bet365, DraftKings, FanDuel and Betfair Exchange to local books in Europe, Australia, the US and Latin America
Sports
34, including football, basketball, tennis, American football, baseball, ice hockey, cricket and esports
Live odds
Pre-match lines plus in-play odds that refresh about every second
Markets
Moneyline, spreads, totals, Asian handicap, corners, cards and player props, depending on the bookmaker
Endpoints
Value bets, arbitrage, dropping odds, odds summaries, closing lines and bet settlement
Format
JSON over REST and WebSocket, with an OpenAPI spec

What Will You Build?

Our Sports Betting API powers thousands of applications. Here are the most popular use cases.

Build a Betting App

Display real-time odds from multiple bookmakers in your mobile or web application.

  • Real-time odds updates
  • Multiple bookmaker comparison
  • All major sports covered
// List upcoming Premier League events
const events = await fetch(
  'https://api.odds-api.io/v3/events?' +
  'sport=football&league=england-premier-league&' +
  'status=pending&limit=10&apiKey=YOUR_API_KEY'
).then((res) => res.json());

// Then pull odds for up to 10 of them per call
if (events.length === 0) throw new Error('No upcoming events');
const ids = events.map((e) => e.id).join(',');
const odds = await fetch(
  'https://api.odds-api.io/v3/odds/multi?' +
  'eventIds=' + ids + '&bookmakers=Bet365,DraftKings,FanDuel&' +
  'apiKey=YOUR_API_KEY'
).then((res) => res.json());

Why Developers Choose Our API

Unmatched Coverage

450+ bookmakers and 12,000+ leagues. From major US sportsbooks to niche European bookies. See all bookmakers →

Real-Time WebSocket

Odds changes are pushed to you as they happen, with replay after a reconnect. Critical for live betting apps and arbitrage detection. WebSocket docs →

Developer Experience

Official Node.js, Python, PHP, Go and R SDKs, an MCP server, an OpenAPI spec and full documentation. View docs →

Plans from £49/month

The Solo plan: 2 bookmakers of your choice, 5,000 requests/hour, every sport and market, pre-match and live. Cancel anytime. Pricing details →

Built-in Arbitrage

A dedicated /arbitrage-bets endpoint finds opportunities across the bookmakers you choose, with stakes pre-calculated. Arbitrage calculator →

Global Coverage

US, UK, Europe, Asia, LATAM bookmakers. Regional operators others miss. US books →

Start in 5 Minutes

Get real-time sports betting odds with just a few lines of code.

Python
# pip install odds-api-io
from odds_api import OddsAPIClient

with OddsAPIClient(api_key="YOUR_API_KEY") as client:
    # Upcoming NFL games
    events = client.get_events(sport="american-football", league="usa-nfl", status="pending")

    # Odds for the first game from three US sportsbooks
    odds = client.get_event_odds(
        events[0]["id"],
        bookmakers=["DraftKings", "FanDuel", "BetMGM"],
        markets=["ML", "Spread", "Totals"],
    )

    for bookmaker, markets in odds["bookmakers"].items():
        for market in markets:
            print(bookmaker, market["name"], market["odds"][0])

Frequently Asked Questions

What is a sportsbook API?

A sportsbook API gives your code the odds a bookmaker offers: events, markets and prices as JSON instead of a web page. Odds-API.io puts 450+ bookmakers behind one sports betting API, so you integrate once rather than once per sportsbook.

How do I integrate a sportsbook API?

Get an API key, call /v3/events to find the matches you need, then /v3/odds or /v3/odds/multi for prices from the bookmakers you pick. Add the WebSocket feed when you need live updates without polling. The quickstart at docs.odds-api.io/quickstart covers the first request, and the Node.js, Python, PHP, Go and R SDKs handle the API key, retries and pagination for you.

Is there a free sports betting API?

New free API keys are paused, and keys that already exist keep working. To start now, pick a paid plan: the Solo plan covers 2 bookmakers of your choice with 5,000 requests per hour on every sport and market, and you can cancel anytime. The /v3/sports and /v3/bookmakers endpoints need no key, so you can try a request first.

Which bookmakers does the API cover?

450+ bookmakers, including Bet365, DraftKings, FanDuel, BetMGM, Betfair, William Hill and many more. That covers US sportsbooks, European bookmakers, Asian books and regional operators.

Does the API support live/in-play betting odds?

Yes. Live odds are available over REST and over a WebSocket stream that pushes changes as they happen, which is what live betting apps and in-play arbitrage need.

Can I use this API to build an arbitrage betting tool?

Yes. The /arbitrage-bets endpoint returns arbitrage opportunities across the bookmakers you choose, with the legs and optimal stakes already worked out. Customers use it for arbitrage scanners and market research tools.

What sports and markets are covered?

34 sports, including football (soccer), NFL, NBA, MLB, NHL and tennis. Markets include moneylines, spreads, totals, player props and many others, depending on the sport and bookmaker.

OddsNotifier and OddsHub run on the same real-time feed you get with the API.

See what's built with Odds API →

Ready to Build Your Betting Application?

Join 20,000+ developers who build on our sports betting API.

Plans from £49/month · Cancel anytime · 5-minute setup