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

BookDallas CowboysPhiladelphia Eagles
Pinnacle-211+183
Bally Bet-222+180
Bally Bet Ontario-222+180
BET99-220+190(best price)
betPARX-222+180
BetRivers-222+180
BetRivers Ontario-222+180
Betway Ontario-210(best price)+175
Bovada-230+190(best price)
FanDuel-220+184
FanDuel Ontario-220+184
LeoVegas Ontario-227+180
Proline+-222+180
Unibet Ontario-222+180

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.

Connect your AI

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.