Betfair API for pre-match odds

Request normalized Betfair prices for covered pre-match events with bookmakers=betfair, then follow supported changes through SSE or WebSocket.

Paid plans from $25/month. No surprise charges.

GET /v1/events/{event_id}/odds/snapshot?bookmakers=betfair
{
  "event_id": "$EVENT_ID",
  "items": [
    
    {
      "bookmaker": "betfair",
      "bet_type": "moneyline 3w",
      "period_str": "full time",
      "side": "home",
      "selection_name": "Manchester City",
      "odds": 2.08
    },
    
    {
      "bookmaker": "betfair",
      "bet_type": "moneyline 3w",
      "period_str": "full time",
      "side": "draw",
      "selection_name": "Draw",
      "odds": 3.55
    }
    
  ],
  "resume": "1784092451749-0"
}
Betfair API filter Request only Betfair prices with the canonical betfair bookmaker key.
Normalized Betfair odds Use consistent event, market, period, selection, price, and freshness fields.
REST and live streams Start with REST, then add SSE or WebSocket updates.

Betfair API markets

Use the normalized bet_type values below when working with Betfair prices.

Market API bet_type What it covers
Moneyline moneyline Winner prices for covered two-way events.
Three-way moneyline moneyline 3w Home, draw, and away prices for covered soccer events.
Handicap handicap Line-based prices with the selection side and handicap value kept separate.
Total total Over and under prices for supported full-event and period totals.
Team total team total Over and under prices for one team's score where supplied.

Betfair prices are returned only when Betfair is available for the selected event and market. Confirm the current catalog and event snapshot before depending on this source.

Built for agents and humans

MCP server

Tools for events, odds, line movement, and streams. Bets endpoints are support-approved.

Agent skill

Agent-ready instructions.

SDKs and examples

TypeScript, Python, Postman and example builds.

Sports and racing

Sports and racing odds coverage for agent workflows.

SSE odds stream

Lightweight streaming updates for dashboards and alerts.

WebSocket feeds

Bidirectional streams for richer pre-match products.

How to use the Betfair API

Find a covered event, confirm Betfair is attached, and request its current prices with bookmakers=betfair.

  1. Confirm Betfair coverage

    Create an API key and request GET /v1/bookmakers. Confirm that the canonical betfair key is available to your account and attached to the event you need.

  2. Load Betfair prices

    Request GET /v1/events/{event_id}/odds/snapshot with bookmakers=betfair and retain the response freshness fields.

  3. Store normalized odds

    Keep the event, market, period, selection, price, availability, freshness, and resume fields your product needs.

  4. Follow price changes

    Open the matching SSE or WebSocket odds stream, resume from the latest token after reconnecting, and reload the snapshot after a resync event.

Odds API Pricing

Choose a monthly plan based on request volume, rate limits, and support.

Best for testing

Starter

50K
$25 USD / month
Requests
50K / month
Streams
150 stream-hours / month
  • 60 requests/min
  • Self-serve
Best value

Builder

2M
$90 USD / month
Requests
2M / month
Streams
1,500 stream-hours / month
  • 300 requests/min
  • Email support

Live

20M
$250 USD / month
Requests
20M / month
Streams
6,000 stream-hours / month
  • 600 requests/min
  • Priority email

Pro

75M
$500 USD / month
Requests
75M / month
Streams
20,000 stream-hours / month
  • 1,200 requests/min
  • Priority email plus onboarding

Scale

Custom
Custom
Requests
100M+ typical
Streams
Custom
  • Custom
  • Dedicated support

Betfair API FAQs

Answers about Betfair coverage, bookmaker filters, normalized odds, streaming, and affiliation.

Is this the official Betfair API?

No. odds-api is an independent data service and is not affiliated with, endorsed by, or sponsored by Betfair. It provides market data only and does not place bets or manage Betfair customer accounts.

How do I retrieve Betfair odds?

Request GET /v1/events/{event_id}/odds/snapshot with bookmakers=betfair. Covered rows use the same normalized market, period, selection, price, and freshness fields as other bookmaker odds.

What is the correct Betfair API filter?

Use bookmakers=betfair on supported sports odds endpoints after confirming the betfair key is available to your account and attached to the event.

Can I stream Betfair price changes?

Yes, for covered pre-match odds. Start with the REST snapshot, then use its resume token with the matching SSE or WebSocket odds endpoint. Reload the snapshot after a resync event.

Does this Betfair API integration include in-play odds?

No. odds-api currently provides pre-match Betfair coverage rather than in-play odds after an event has started.

Start using the Betfair API

Choose a plan, confirm Betfair coverage, and request current pre-match prices.

Paid plans from $25/month. No surprise charges.