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.
QuickstartMake your first request in a few minutes.AuthenticationAPI keys, permissions and rate limits.REST referenceEvery endpoint, parameter and response field.WebSocket streamA snapshot, then every change as it happens.
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
| Method | Best for | How |
|---|---|---|
| REST | Snapshots on demand, backfilling, simple integrations. | HTTPS GET requests, JSON responses, paginated. |
| WebSocket stream | Keeping a live copy of the market. | One connection: a snapshot of your subscription, then every change. Requires a plan with the stream. |
| Webhooks | Receiving 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_ALLOWEDwith anAllowheader. - Pagination:
limit(1–1000, default 100) andoffset; the response givesnext_offset, or null on the last page.