Sports Odds Delta Feed - Line Movement API
Pricing
from $10.00 / 1,000 odds rows
Sports Odds Delta Feed - Line Movement API
Multi-book sports odds with line movement. Returns only the lines that moved since your last run, so an agent can poll cheaply instead of re-reading the whole board. Decimal and American prices, implied probability, previous price and change percentage per row.
Pricing
from $10.00 / 1,000 odds rows
Rating
0.0
(0)
Developer
Alejandro Oceja
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Security
Limited permissionsShare
Sports Odds Delta Feed — line movement, not line dumps
Every odds actor on this store hands you the whole board every run. You pay for the same 1,200 rows a hundred times a day and diff them yourself.
This one returns only the lines that moved. Poll it every minute, pay for the movement,
and get previous → current already computed.
What you get per row
{"event_key": "basketball:nba:401909907","event": "OKC @ CLE","market": "moneyline","selection": "home","point": null,"book": "draftkings","decimal_price": 1.578,"american_price": -173,"implied_prob": 0.633714,"previous_decimal_price": 1.62,"price_change": -0.042,"price_change_pct": -2.59,"kickoff_utc": "2026-11-03T00:00Z","captured_at": "2026-11-03T13:40:50+00:00"}
Markets: moneyline, spread, total. Both decimal and American prices, plus implied
probability, so you do not re-derive them.
Two modes
| Mode | Use it for | Cost |
|---|---|---|
latest | First call, or a full resync | Every row returned |
deltas | Polling — the normal case | Only rows that moved |
deltas needs a sinceRun. Run once in latest, read the run_id from the run summary,
then poll deltas with that id.
Input
{"mode": "deltas","sport": "basketball","league": "nba","maxEvents": 12,"sinceRun": 1}
sport/leagueare ESPN paths:basketball/nba,americanfootball/nfl,baseball/mlb,icehockey/nhl,soccer/esp.1for LaLiga.maxEventscaps upstream work (default 12).limitcaps returned rows — it caps your bill, so set it while testing.marketfilterslatesttomoneyline,spreadortotal.
Pricing
Charged per returned row (odds_row event). A 12-event NBA board is roughly 200–300 rows;
a delta poll on a quiet board is usually zero to a few dozen, and a run that returns
nothing is free.
Who this is for
- Line-movement trackers that need history without storing the world.
- Agents and LLM tools that poll on a schedule and only want the diff.
- Closing-line-value work — capture the last price before kickoff by polling
deltas.
Honest limitations
- US books only via the live source (ESPN's public feed, which surfaces DraftKings).
European books — Winamax, William Hill ES, Bet365 ES — come through the
ingestsource, where you supply a normalised JSON file from your own scraper. That path is documented and tested; it is not zero-config. - Pre-match prices, not live in-play.
is_liveis on the row and alwaysfalsefrom the current public source. - Upstream is best-effort. A book that fails to answer is skipped, never invented; the run summary tells you what was fetched.
Keywords
sports odds, betting odds, line movement, closing line value, NBA odds, NFL odds, odds API, odds scraper, implied probability, sportsbook, arbitrage detection, delta feed