Odds337PricingContact
    DocsLog in
    Odds337

    Live sports odds from 170+ bookmakers and exchanges in one API, and counting

    Normalised, real-time odds from 172 bookmakers and every major exchange: Betfair, Kalshi, Polymarket, Novig and ProphetX. One event, one market, one response. Build faster. Bet smarter.

    Get API keyRead the docs

    Free plan: 50 tokens a month. No credit card required.

    Live data
    curl -sG "https://$ODDS_API_HOST/odds/v1/odds" \
      --data-urlencode "event_id=aussie_rules/au/afl/carlton_blues_v_essendon_bombers/2026-10-04" \
      --data-urlencode "tier=main" \
      -H "X-API-Key: $ODDS_API_KEY"
    import os
    import requests
    
    resp = requests.get(
        f"https://{os.environ['ODDS_API_HOST']}/odds/v1/odds",
        params={"event_id": "aussie_rules/au/afl/carlton_blues_v_essendon_bombers/2026-10-04", "tier": "main"},
        headers={"X-API-Key": os.environ["ODDS_API_KEY"]},
        timeout=10,
    )
    resp.raise_for_status()
    
    # Every book's price for the event, lined up by market
    for market in resp.json()["markets"]:
        print(market["name"], len(market["selections"]))
    const url = new URL(`https://${process.env.ODDS_API_HOST}/odds/v1/odds`);
    url.searchParams.set("event_id", "aussie_rules/au/afl/carlton_blues_v_essendon_bombers/2026-10-04");
    url.searchParams.set("tier", "main");
    
    const res = await fetch(url, {
      headers: { "X-API-Key": process.env.ODDS_API_KEY },
    });
    
    // Tokens left this month ride on every metered response
    console.log(res.headers.get("X-Tokens-Remaining"));
    const { event, markets } = await res.json();
    HTTP/1.1 200 OK
    X-Tokens-Cost: 1
    X-Tokens-Remaining: 149588
    
    {
      "schema_version": 1,
      "event": {
        "event_id": "aussie_rules/au/afl/carlton_blues_v_essendon_bombers/2026-10-04",
        "name": "Carlton Blues v Essendon Bombers",
        "start_time": "2026-10-04T09:30:00Z",
        "status": "prematch"
      },
      "tier": "main",
      "markets": [
        {
          "market": "head_to_head",
          "name": "Head to Head",
          "selections": [
            {
              "name": "Carlton Blues",
              "line": null,
              "prices": {
                "sportsbet": { "odds": 1.85, "updated_at": "2026-10-03T02:29:46Z" },
                "betfair":   { "odds": 1.88, "updated_at": "2026-10-03T02:30:21Z" }
              }
            }
          ]
        }
      ]
    }
    WebSocket updates
    ~1s
    Events in the feed
    ~7,900
    Bookmakers
    172
    Sports
    25

    Bookmakers and exchanges in the feed

    • Sportsbet
    • TAB
    • Neds
    • Ladbrokes
    • Betr
    • PointsBet
    • TABtouch
    • bet365
    • FanDuel
    • DraftKings
    • Pinnacle
    • Betfair Exchange
    • Polymarket
    • Kalshi
    • Novig
    • ProphetX
    • Sportsbet
    • TAB
    • Neds
    • Ladbrokes
    • Betr
    • Sportsbet
    • TAB
    • Neds
    • Ladbrokes
    • Betr
    • Sportsbet
    • TAB
    • Neds
    • Ladbrokes
    • Betr
    • Sportsbet
    • TAB
    • Neds
    • Ladbrokes
    • Betr
    • PointsBet
    • TABtouch
    • bet365
    • FanDuel
    • DraftKings
    • PointsBet
    • TABtouch
    • bet365
    • FanDuel
    • DraftKings
    • PointsBet
    • TABtouch
    • bet365
    • FanDuel
    • DraftKings
    • PointsBet
    • TABtouch
    • bet365
    • FanDuel
    • DraftKings
    • Pinnacle
    • Betfair Exchange
    • Polymarket
    • Kalshi
    • Novig
    • ProphetX
    • Pinnacle
    • Betfair Exchange
    • Polymarket
    • Kalshi
    • Novig
    • ProphetX
    • Pinnacle
    • Betfair Exchange
    • Polymarket
    • Kalshi
    • Novig
    • ProphetX
    • Pinnacle
    • Betfair Exchange
    • Polymarket
    • Kalshi
    • Novig
    • ProphetX

    And 157 more bookmakers and brands.

    Pricing

    Pay in tokens, not per seat

    Every plan covers every sport. Free is main markets from Tier 1 bookmakers; Developer opens every market, every Australian bookmaker and Betfair; Business adds international books, tote, results, streaming, history and CLV.

    Free

    Ideal for testing

    A$0AUD / month

    50 tokens a month

    • Main markets: head to head, line and total
    • Every sport
    • Tier 1 bookmakers
    • Racing: next 3 races to go, win prices
    • Extensive docs
    • vibecode.md for AI coding assistants
    Start free

    Developer

    For personal projects and small apps

    A$1,000AUD / month

    25,000 tokens a month

    • Everything in Free, plus
    • All sports, all markets
    • Every Australian bookmaker + Betfair
    • Terminal access
    • Pay-as-you-go top-ups
    • Opening and closing prices
    • Bookmaker event links
    • Bet Assist extension
    Choose Developer
    Most popular

    Business

    For products that poll all day

    A$1,500AUD / month

    150,000 tokens a month

    • Everything in Developer, plus
    • WebSocket streaming included (up to 50 live events)
    • Bookie fluctuations
    • 337 model prices
    • Scores and results (major leagues)
    • CLV of closing events
    • Racing exotics
    • International books and exchanges (Polymarket, Kalshi and more)
    • Racing tote prices
    • Historical odds and closing prices (finished events)
    Choose Business

    Enterprise

    For sportsbooks and trading teams

    Talk to us

    Custom quote

    Unlimited tokens

    • Everything in Business, plus
    • Unlimited tokens (fair-use rate limits)
    • Live (in-play) oddsSoon
    • SGM, SGP and same-race multi pricingSoon
    • Live scoresSoon
    • SettlementSoon
    • Bookmaker templateSoon
    • Concierge trading team
    • Full sportsbook integrationSoon
    Talk to us

    Paying yearly? Talk to us

    Need more? Stream: 5,000,000 tokens, push priority and history, quoted to suit. Contact us

    Top up any time: A$15 for 8,000 tokens, rolls over.

    Prices in Australian dollars. Paid plans include Terminal, our live odds screen. Tokens are separate from betting credits and never convert either way.

    What you get

    One feed, every book, lined up

    Every bookmaker's prices mapped to the same events, markets and selections, so you compare numbers instead of writing matchers.

    REST snapshots

    /sports, /events, /odds, /books and /usage under /odds/v1. One call returns every book's price for an event, lined up by market and selection.

    WebSocket push

    Subscribe on /odds/v1/ws. You get a full snapshot, then only the prices that moved, within about a second of us seeing them.

    Freshness on every price

    Each book's price carries its own updated_at and age, so a stale quote never hides behind one event timestamp.

    Main and extended markets

    tier=main is head to head, line and totals. tier=extended adds player props, alternate lines and period markets.

    Exchanges next to the books

    Betfair, Kalshi, Polymarket, Novig and ProphetX prices sit in the same response as the bookmakers, under the same market and selection keys.

    Decimal, American and fractional odds

    Add format=american or format=fractional to /odds, or "format" to a WebSocket subscribe. Every price field converts, and the body says which with odds_format.

    Historical odds and closing prices

    /events and /odds cover finished games, with every book's closing price and a de-vigged fair_odds. /history returns each book's price moves, from August 2026.

    Opening and closing prices

    open_odds is the first price we recorded for a book and selection. close_odds is its price at the off, once the event has gone in-play. Either is left out when we don't have it.

    Bookmaker event links

    books[book].url links to that bookmaker's page for the event. Books with no reliable link leave it out.

    Horse, greyhound and harness racing

    /racing/race returns every book's fixed win and place price per runner, TAB tote prices, Betfair back and lay, and the official placings and dividends once TAB has them. /racing/history returns each book's price moves for a race.

    Closing line value (CLV)

    GET /clv takes a price you took and returns how far it beat the book's close and the fair close. POST /clv scores up to 100 bets in one call.

    337 model prices

    Our own fair price for each outcome, Pinnacle's de-vigged price (else Sportsbet's), as model_odds on the selection and edge_pct on every book's price. Business and Enterprise; only where Pinnacle or Sportsbet prices a complete market.

    Scores and results (major leagues)

    GET /scores and a score on every event, plus won, lost or push on each finished selection, for the NBA, NHL, MLB, NFL, AFL, NRL, MLS, A-League, the big five European leagues and the Champions and Europa Leagues. Business and Enterprise.

    OpenAPI and AsyncAPI specs

    /openapi.json for REST and /asyncapi.json for the WebSocket, free and without a key. Feed them to a generator for a typed client.

    Teams, players and logos

    /teams and /players list every side and the players on the rosters we hold, and every event carries competitors with a crest. Team crests, league marks and headshots are served by the API itself, free on every plan.

    Resilient streaming

    Every frame carries a seq, so a dropped WebSocket resumes from where it stopped, or is told to take a fresh snapshot. Each book has a stale flag, and compressed frames cut a snapshot to about 13% of its size.

    Metering in the headers

    X-Tokens-Cost, X-Tokens-Used and X-Tokens-Remaining on every metered response, so your client always knows where it stands.

    Coming soon

    What we're building next

    On the roadmap and not available yet. Tell us which you need first.

    SGM, SGP and same-race multi pricing

    Coming soon

    A bookmaker's own same game multi, same game parlay and same-race multi quote, with the correlation already in it. Premium tier, priced lower if you bring your own proxies.

    More exchanges

    Coming soon

    Smarkets, Matchbook, Betdaq, Sporttrade and every other major exchange and prediction market next to the bookmakers.

    More markets

    Coming soon

    Deeper cards for every sport: more player props, alternate lines, period and quarter markets, and specials, mapped to the same keys as the main markets.

    Token costs

    What a call costs

    Catalogue calls are free. You only spend tokens on events and prices.

    Tokens charged per Odds337 call
    CallReturnsTokens
    GET /odds/v1/sportsSports and leagues with live event counts0
    GET /odds/v1/booksEvery bookmaker in the feed0
    GET /odds/v1/usageYour token usage this month0
    GET /odds/v1/eventsEvents, filtered by sport, league, date or status1
    GET /odds/v1/odds?tier=mainOne event, main markets, every book1
    GET /odds/v1/odds?tier=extendedAdds player props, alt lines and periods5

    WebSocket streaming: included on Business (up to 50 live events, 3 connections) and Enterprise.

    FAQ

    Questions

    What is a token?

    The unit Odds337 meters in. Each call costs a fixed number of tokens (see the table above): catalogue calls are free, an event list or a main-markets odds snapshot is 1, an extended snapshot is 5. Tokens are separate from betting credits and never convert either way.

    Which plan should I pick?

    Free (50 tokens) is for wiring up an integration: main markets across every sport from Tier 1 bookmakers over REST. Developer (25,000) suits a personal project and adds every market, every Australian bookmaker and Betfair. Business (150,000) adds international books and exchanges, tote prices, results, streaming and history for a product polling all day. Enterprise has unlimited tokens and a concierge trading team.

    What currency are prices in?

    Australian dollars, billed monthly. Enterprise is quoted, so talk to us.

    What is Terminal access?

    Paid plans include Terminal, our live odds screen: every bookmaker's price next to every exchange, in the browser, from the same feed the API serves.

    What happens when I run out?

    Metered calls return HTTP 402 until you top up (A$15 for 8,000 tokens) or your plan resets at the start of the next month. The X-Tokens-Remaining header on every metered response lets you see it coming.

    Are there rate limits?

    60 requests a minute per API key by default; Enterprise runs on fair-use rate limits. Tokens decide how much you can pull in a month; the rate limit decides how fast.

    How fresh are the prices?

    Each book is re-read on its own cycle, so every price carries its own updated_at and age rather than one timestamp for the event. On the WebSocket we check for changes every second and push only what moved.

    Do unused tokens roll over?

    Paid plan tokens reset every 30 days from your billing date (Free resets on the 1st of each month). Top-up tokens roll over until you use them.

    Can I try it for free?

    Yes, two ways. The docs run every example against a public demo key (the Free plan: tier-1 books, main markets, 10 requests a minute), and the Free plan gives your own key 50 tokens a month with no credit card. Open the docs.

    Start pulling odds today

    Create an account, grab your key and make your first call. The Free plan includes 50 tokens a month.

    Get API keyRead the docs

    Products

    • Terminal
    • Execution API
    • Full Automation
    • Automated betting
    • Horse racing betting bot
    • Same Game Multi automation
    • Bonus bet automation
    • Copy betting
    • Odds comparison
    • +EV betting
    • Betting API
    • Supported bookmakers
    • Pricing

    Guides and tools

    • How betting bots work
    • Money back racing promos
    • Bonus bet converter
    • Betmatic alternative

    Company

    • About
    • Security
    • Responsible gambling
    • Contact
    • Terms
    • Privacy

    Chances are you're about to lose.

    18+ only. For free and confidential support call 1800 858 858 or visit gamblinghelponline.org.au. Self-exclusion: BetStop (betstop.gov.au).

    B337 is software, not a bookmaker or wagering service provider. Bets are placed in accounts you hold with Australian bookmakers. Bookmaker names are trade marks of their owners; B337 is not affiliated with or endorsed by them. Bookmaker terms may restrict automated betting.

    Bet337 © 2026Join our Discord