Glossary

Odds feed

An odds feed is the ongoing supply of bookmaker and exchange prices as structured data, which a product polls to keep its own pages current.

Prices shorten and drift, markets open and close, and fixtures come and go. A feed carries that moving picture as data: events, the markets on each, the selections in each market, and a price from every bookmaker quoting one. The API is how a product asks for it, and the feed is what comes back.

OddsRelay's feed is polled. There is no socket or push connection to hold open. Your product sends a GET request when it wants the prices, and the reply is the reply as it stood at meta.processed_at, the same value the X-Processed-At header carries. How often to ask is your product's call.

Freshness is carried in the data itself. A matched pair has no timestamp of its own, because its time is the feed's. meta.last_seen gives, for each bookmaker and sport, when that bookmaker was last read, so the current time minus last_seen is an upper bound on a price's age. Every product has a maximum update time of 10–20 s, the most a bookmaker's prices have aged by the time they reach you.

The raw feed adds time per market. bookmakers[].markets[].last_update records when that bookmaker's market last changed, whether a price, a lay price or the available money moved. It is no heartbeat, though. A quiet market's last_update keeps ageing while the bookmaker is still being read, so a bookmaker's health is read from last_seen, which keyed GET /v2/coverage reports per bookmaker and sport.

Asking again for an unchanged reply costs nothing. Every data reply carries an ETag, a label of its decompressed content, and a request that sends it back as If-None-Match gets a 304 with no body when nothing has changed. That 304 is free of tokens, and so is a reply with no events.

On the matched feeds the feed arrives already paired. Each outcome's back[] prices, best price first, sit beside lay[] offers from Betfair, Smarkets, Matchbook and BETDAQ, each showing the money available at that lay price. The raw feed keeps every bookmaker's own prices per event, for products that do their own pairing.

Try it on your own key

Every plan includes every feed. Sign up free and call any of them.

From the blog