Odds API for betting-tool developers and AI agents
Every sportsbook's line, in one request.
PingOdds reads 14 sportsbooks across the US and Ontario and serves their prices as one JSON API: current odds, every price change since, and no-vig probabilities. Each response says how old its prices are.
Paid plans from $19 a month, with +EV, steam and outlier signals included. Billed by Stripe; cancel any time. The free plan needs no card.
NFL moneyline, Mon, Oct 26, 8:15 PM ET
Dallas Cowboys @ Philadelphia Eagles
| Book | Dallas Cowboys | Philadelphia Eagles | Last move |
|---|---|---|---|
| Pinnacle | -211 | +183 | 24 min ago |
| Bally Bet | -222 | +180 | 3 d ago |
| Bally Bet Ontario | -222 | +180 | 3 d ago |
| BET99 | -220 | +190(best price) | 1 h ago |
| betPARX | -222 | +180 | 3 d ago |
| BetRivers | -222 | +180 | 3 d ago |
| BetRivers Ontario | -222 | +180 | 3 d ago |
| Betway Ontario | -210(best price) | +175 | 39 min ago |
| Bovada | -230 | +190(best price) | 1 d ago |
| FanDuel | -220 | +184 | 5 h ago |
| FanDuel Ontario | -220 | +184 | 5 h ago |
| LeoVegas Ontario | -227 | +180 | 3 d ago |
| Proline+ | -222 | +180 | 3 d ago |
| Unibet Ontario | -222 | +180 | 3 d ago |
Each book's latest price, from the same data the API serves. Orange marks the best price on each side.
- API availability (30-day SLO)
- 99.99%
- Median time since each of 14 books was last checked, right now
- 32 s
- Price changes recorded, last 24 hours
- 252,000
Measured by our own checks every minute. The status page shows each book and league.
One call, every book
Ask for a league and the markets you want. Each book comes back with its price, when that price last changed and when PingOdds last checked it.
meta.staleness_ms is the age of the oldest price in
the response, so a cached answer never passes for a live one.
See the quickstart or the full API reference.
curl -H "Authorization: Bearer $PINGODDS_API_KEY" \
"https://api.pingodds.com/v2/odds?league=americanfootball_nfl&markets=h2h" {
"events": [{
"event": { "id": 2243, "league": "americanfootball_nfl", ... },
"markets": [{
"key": "h2h",
"books": [{
"key": "pinnacle",
"last_update": "2026-10-08T18:42:07Z",
"last_checked": "2026-10-08T19:00:31Z",
"outcomes": [
{ "name": "home", "price_am": -167, "no_vig": 0.6098, ... },
{ "name": "away", "price_am": 150, "no_vig": 0.3902, ... }
]
}, ...]
}]
}],
"meta": { "staleness_ms": 4210, ... }
}Every tick kept
Each price change is stored, not just the latest snapshot. Pull a game's full history, or movement candles per book, market and side.
Signals as they happen
- Steam (Starter and Pro)
- Three or more independent price sources move the same side within two minutes.
- +EV (Starter and Pro)
- A book's price is at least 2% better than the no-vig consensus: a value bet.
- Outlier (Starter and Pro)
- A book's price sits two standard deviations or more from the consensus for over 30 seconds.
- Arbitrage (Pro)
- The best prices across books imply less than 100% in total, so backing every side returns more than it stakes.
Read them over REST, the live stream or webhooks on paid plans.
Freshness you can check
Every book in a response carries last_checked. The status page shows how current each book and league is right now.
Wire it into your AI agent
PingOdds runs an MCP server with 13 tools, so Claude Code, Cursor, VS Code, Claude Desktop or your own agent can look up odds, line moves, value bets and arbitrage for you, in plain language.
Included with paid plans: Starter gives 2,000 agent lookups a month and Pro gives 25,000 agent lookups a month.
What's covered
14 sportsbooks
- Pinnacle
- FanDuel
- BetRivers
- Bally Bet
- betPARX
- Bovada
- FanDuel Ontario
- BetRivers Ontario
- Bally Bet Ontario
- Unibet Ontario
- LeoVegas Ontario
- Proline+
- BET99
- Betway Ontario
15 leagues
- NFL
- NBA
- MLB
- NHL
- NCAAF
- NCAAB
- EPL
- MLS
- Champions League
- La Liga
- Bundesliga
- Serie A
- Ligue 1
- ATP
- WTA
Moneylines, spreads and totals on all 15 leagues, on every plan. Player props and prediction markets aren't covered yet.