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.

The free plan needs no card.

NFL moneyline, Thu, Oct 22, 8:15 PM ET

New England Patriots @ Chicago Bears

BookNew England PatriotsChicago Bears
Pinnacle+140(best price)-155(best price)
Bally Bet+128-159
Bally Bet Ontario+128-159
BET99+140(best price)-160
betPARX+128-159
BetRivers+128-159
BetRivers Ontario+128-159
Betway Ontario+135-165
Bovada+135-160
FanDuel+134-158
FanDuel Ontario+134-158
LeoVegas Ontario+128-159
Proline++128-159
Unibet Ontario+128-159

Each book's latest price, from the same data the API serves. Orange marks the best price on each side.

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 moves, prices better than the market, outliers and arbitrage, counted across independent price sources. 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.

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 every plan.