Skip to content
Documentation menu

oddsfeed API documentation

oddsfeed collects odds from bookmakers and exchanges, matches each event across sources, and delivers the prices as decimal odds over a REST API, a WebSocket stream and webhooks. What you can request (sports, sources, markets, pre-match or in-play, delivery speed and request rate) is set by your plan.

What the API provides

  • Sports: the catalogue with each sport's markets and periods, and whether your plan includes it.
  • Sources: the bookmakers and exchanges your plan includes, with their current collection health.
  • Events: fixtures matched across sources into one record, with phase (pre-match, live, ended) and, when a source reports one, the score.
  • Quotes: each source's current decimal prices for one market line of one event, with the market's status and timestamps.

Each source's price is delivered as the source published it, normalized to decimal odds, unless your account has margins configured, in which case you receive prices with your margin applied (see margins and house odds).

Integration methods

MethodBest forHow
RESTSnapshots on demand, backfilling, simple integrations.HTTPS GET requests, JSON responses, paginated.
WebSocket streamKeeping a live copy of the market.One connection: a snapshot of your subscription, then every change. Requires a plan with the stream.
WebhooksReceiving changes without holding a connection open.oddsfeed POSTs signed batches of changes to your HTTPS endpoint.

Who it is for

Sportsbooks, odds platforms, trading desks and analytics teams that need prices from many sources in one consistent format: one event id across sources, one set of market and outcome names, one odds format.

Prerequisites and limitations

  • Every request needs an API key, issued with your oddsfeed account. There is no anonymous or sandbox access to odds.
  • The API serves the current state of the market. There is no endpoint for historical odds; ended events remain available for a limited time, then are removed.
  • Odds are decimal. Event status and scores are passed on as sources report them; the API does not settle markets or publish official results.
  • Your plan limits the sports, sources, markets, phases (pre-match, in-play), delivery delay, request rate and stream connections. GET /v1/me shows yours.
  • The API is meant to be called from servers. Authenticated endpoints do not send CORS headers, so a browser on another site cannot call them, and an API key must never be shipped to a browser.

Conventions

  • Base URL: provided with your account. Every path in this documentation starts with /v1.
  • Format: JSON, UTF-8. Request bodies need Content-Type: application/json.
  • Times: RFC 3339 strings in UTC, for example 2026-10-14T18:45:00Z.
  • Errors: a JSON body with a stable code; see Errors.
  • Request ids: every response carries X-Request-ID. You may send your own (up to 64 characters) and it is echoed back.
  • Methods: GET endpoints also answer HEAD. A wrong method gets 405 METHOD_NOT_ALLOWED with an Allow header.
  • Pagination: limit (1–1000, default 100) and offset; the response gives next_offset, or null on the last page.