For businesses · public beta
Football closing odds API
Consensus closing prices for football, as JSON or a daily CSV. Margin removed, from 3+ independent sources.
- Competitions, last 7 days
- 589
- Figures held since
- 10 Oct 2026
The close
What a closing price is here
The close is the fair price as it stood at kick-off. We take each bookmaker's margin out, set outliers aside, and agree one consensus figure across at least three independent sources. Brands that share one trading desk count once.
Under three sources we publish no figure and say so: the row is withheld, with its figures null. A thin market never gets a confident-looking number.
Every row
What each close carries
The same fields on every plan, free or paid.
consensus_closeThe closing price in decimal odds.close_tsWhen the close was taken (UTC).close_is_finaltrue once the match has kicked off.n_sourcesIndependent sources behind the figure.price_age_sAge of the newest input price at kick-off, in seconds.quality_flagWhy a row was withheld: stale or thin.
Get it
JSON for code, CSV for files
/v1/close?date=YYYY-MM-DD returns a day's closes as JSON. /v1/close.csv returns the same rows as a file, one kick-off day per request, with the same columns. The docs page has a download button.
A day of closes
curl -G https://data.oddsintel.app/v1/close.csv \ -H "X-Api-Key: $ODDSINTEL_KEY" \ -d date=$(date -u -d yesterday +%F) -o close.csvUses
What people use it for
Grading picks or models against the close (closing-line value), backtesting on finished matches, and checking your own prices against the market at kick-off. We publish derived figures only: no single bookmaker's price and no bookmaker names.
History
How far back
We hold closes since 10 Oct 2026. History depth by plan: Sample yesterday only, Starter the last 90, Pro and Business no cap. No plan reaches before the first day we hold.
Try it on today’s matches
Sample is free. Starter and Pro are paid monthly by card and can be cancelled any time.
Which leagues? See the coverage list.