Fundamentals
What odds APIs and odds feeds are, how their responses are shaped, and how to build on one.
Football odds data, explainedThe football markets, the sport and market keys that name them, which OddsRelay boards carry football, and what one matched football row looks like.5 min readHow odds comparison sites use odds dataA comparison site is a best-price table, and the hard part is proving every column is the same bet. What the data layer has to do, and where a raw feed stops.5 min readHow odds feeds handle suspended and void marketsFeeds show a suspension in one of three ways. OddsRelay's matched boards use the plainest: a price nobody offers leaves the board. Here is what that means for your code.5 min readHow to display odds data in your appYou have the odds data and now need to render it. How to turn the nested response into rows, format prices, show the matched pair and its age, and keep the key off the browser.7 min readHow to get bookmaker odds data into your appCollect the prices yourself or license a feed. What to settle before you choose, what a first call and its response look like, and when building your own is the right trade.4 min readHow to monitor an odds feed in productionA frozen odds feed still answers 200. Three separate checks catch what one health ping misses: availability, price age from the board's own timestamps, and bookmaker coverage.5 min readHow to normalise odds across bookmakersDifferent books name the same fixture, market and selection differently, so their prices don't line up on their own. Where the matching goes wrong, and what a feed can hand you already joined.5 min readHow to store and version odds dataAn odds feed serves the current board. The history is yours to keep: an append-only table, the feed's own timestamps, your own fixture keys and change-only writes.5 min readIntegrating an odds feed with AI coding toolsThe OddsRelay OpenAPI contract is keyless, so an AI coding assistant can read the whole API before you hold a key. What to feed it, what to ask for and what to check in what it writes.5 min readLive vs pre-match odds data: which one your product needsIn-play and pre-match odds are different data products. How to tell which one your product needs, that OddsRelay ships pre-match only, and what its freshness bound means.5 min readOdds API vs odds feed: what's the difference?Builders meet two terms for the same data and assume they are choosing between products. What each word stresses, and the distinction that does change your build: raw versus matched.4 min readOdds API vs sports data API: what's the difference?A sports data API delivers scores, fixtures and player stats. An odds API delivers bookmakers' prices for outcomes. They are different products, often used together, and matched betting runs on the odds side.4 min readPolling an odds feed efficiently with ETag and 304sStore each reply's ETag and send it back as If-None-Match. An unchanged board is an empty 304 that costs no tokens. Add gzip, narrow filters and a proper 429 handler, and the loop is done.5 min readThe anatomy of an odds API responseThe whole /v2 response walked field by field: what meta dates, how events nest markets and outcomes, what back and lay offers carry, and how each-way, dutching and raw differ.6 min readWebhooks vs polling for odds dataPrices move continuously, with no discrete event to push. Why polling with ETag and 304 suits odds data, where webhooks still fit, and why OddsRelay is polled.4 min readWhat is an odds API? A 2026 guide for buildersAn odds API hands your software bookmakers' prices as JSON instead of a person reading betting sites. What one returns, how raw and matched feeds differ, and what to check before you commit.5 min read