Migrating from the-odds-api in 5 minutes

ParlayAPI is wire-compatible with the-odds-api v4 on the core /sports and /sports/{key}/odds surface. You change one base URL and your code keeps working for the shared endpoints. You also gain 22 additional bookmakers (Pinnacle, the exchanges Novig and ProphetX, prediction markets Kalshi and Polymarket and Robinhood, DFS pick'em PrizePicks / Underdog / Sleeper, plus French and European books). Starter tier is 6x cheaper per credit; see the pricing table below for the honest comparison.

The whole migration: one URL change

If you're using the-odds-api.com directly, swap the base URL to parlay-api.com. That's it.

# Python (requests)
- BASE_URL = "https://api.the-odds-api.com/v4"
+ BASE_URL = "https://parlay-api.com/v1"

r = requests.get(
    f"{BASE_URL}/sports/baseball_mlb/odds",
    params={"markets": "h2h", "regions": "us"},
    headers={"X-API-KEY": "YOUR_PARLAYAPI_KEY"},
)

If you're using their official the-odds-api SDK, point it at our base URL via the SDK's config option, or migrate to plain requests / fetch. Most users do the latter; the response is identical.

// JavaScript (fetch)
- const BASE = "https://api.the-odds-api.com/v4";
+ const BASE = "https://parlay-api.com/v1";

const events = await fetch(
  `${BASE}/sports/baseball_mlb/odds?markets=h2h®ions=us`,
  { headers: { "X-API-KEY": YOUR_KEY } }
).then(r => r.json());

Endpoint compatibility

the-odds-apiParlayAPICompat
/v4/sports/v1/sportsIdentical
/v4/sports/{key}/odds/v1/sports/{key}/oddsIdentical + more bookmakers + prop markets
/v4/sports/{key}/events/v1/sports/{key}/eventsIdentical
/v4/historical/sports/{key}/odds/v1/historical/sports/{key}/oddsIdentical + deeper history (NFL 1999+, NBA 2017+)
(none)/v1/sports/{key}/propsPlayer props from DK, FanDuel, BetMGM, Caesars, PrizePicks, Underdog, Sleeper, ProphetX, Novig, plus DFS-pick'em books
(none)/v1/ws/odds/{key}WebSocket streaming (push updates, no polling). Sport key is part of the path.
(none)/v1/sse/odds/{key}Server-Sent Events streaming (HTTP/2 friendly, EventSource-compatible)
(none)/v1/sports/{key}/compareSide-by-side bookmaker prices with the best line highlighted per outcome. Also reachable at /v1/sports/{key}/best-line.

Sport keys: 100% identical for US majors

You don't need to change a single sport_key string for these:

We add 60+ sport keys the-odds-api doesn't carry: French Ligue 2, Brazilian Serie B, Korean KBO baseball, Japanese NPB, Polish Ekstraklasa, Swiss Super League, Czech table tennis, esports leagues (CS2, LoL, Valorant, Dota 2), and more. Full list at /v1/sports?all=true.

Bookmaker keys

The authoritative list is GET /v1/bookmakers. Below is what's live today. If the key isn't in /v1/bookmakers, it isn't ingested; we do not maintain placeholder entries.

Shared with the-odds-api (same key string)

draftkings, fanduel, betmgm, caesars, betrivers, bovada, pinnacle, fanatics, bet365.

Some books the-odds-api lists (PointsBet US, William Hill US, Wynn, Unibet US) are not in our ingest. We avoid maintaining a dead key just for parity; if you depended on those, check the corresponding feed below or contact support.

Additional books we carry that the-odds-api does not

Pricing comparison

The honest per-credit math. Read the rightmost column. Bigger plans on the-odds-api are cheaper per credit than our equivalent tier; smaller plans (Free, Starter, Pro) are dramatically cheaper on ParlayAPI. Pick the row that matches your monthly volume.

Tierthe-odds-apiParlayAPIPer-credit comparison
Free500 credits/mo1,000 credits/mo2x more credits, same $0
Starter$30/mo (20K) = $1.50 per 1K$5/mo (20K) = $0.25 per 1K6x cheaper per credit
Pro$59/mo (100K) = $0.59 per 1K$20/mo (100K) = $0.20 per 1K3x cheaper per credit
Business$119/mo (5M) = $0.024 per 1K$40/mo (1M) = $0.040 per 1KTotal bill is lower on our plan but you get 5x fewer credits. If you need 5M credits/mo on ParlayAPI, jump to Scale ($200/mo for 50M = $0.004 per 1K, 6x cheaper than their Business per credit).
EnterpriseContact salesScale: $200/mo (50M)Self-serve; no sales call required

Credit costs per call vary by endpoint (1 credit for most reads, 5 credits for /v1/sports/{key}/compare and /v1/clv). Hit /v1/usage on your account to see your actual burn rate before migrating.

What's actually different (the honest part)

Things you gain

Things to know

Migration safety: Run both APIs side-by-side. Diff the responses for the matchups you care about. Switch over only when you're satisfied. Email [email protected] if you want a 24-hour Pro trial to validate.

Common gotchas

Authentication header

Both APIs accept X-API-KEY as a header. We also accept ?apiKey= as a query param for compatibility with code that uses the-odds-api's older docs. Either works.

Rate limits

None on paid tiers. Burst at whatever rate your client wants; you're metered on monthly credits, not per-second throughput. Free trial keeps a 60 req/s cap purely for anti-abuse during evaluation. If you need >10,000 req/s sustained from a single key (almost always a misconfigured retry loop), contact support to shard across keys.

Response timestamps

Same commence_time ISO-8601 UTC format. Same last_update per bookmaker. No code change needed.

Bookmaker filter

Same ?bookmakers= comma-separated key list. We support all keys the-odds-api does plus the additional ones above.

Ready?

Sign up gets you an API key in 30 seconds. No credit card. Free tier supports real testing volume (1,000 credits/month).