ParlayAPI is wire-compatible with the-odds-api v4. Same endpoints, same response shapes, same query parameters. You change one base URL and your code keeps working. You also gain 19 more bookmakers, prediction markets, and pay roughly 6x less.
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());
| the-odds-api | ParlayAPI | Compat |
|---|---|---|
/v4/sports | /v1/sports | Identical |
/v4/sports/{key}/odds | /v1/sports/{key}/odds | Identical + more bookmakers + prop markets |
/v4/sports/{key}/events | /v1/sports/{key}/events | Identical |
/v4/historical/sports/{key}/odds | /v1/historical/sports/{key}/odds | Identical + deeper history (NFL 1999+, NBA 2017+) |
| (none) | /v1/sports/{key}/odds/props | Player props from DK, FanDuel, BetMGM, Caesars, PrizePicks, Underdog, Sleeper, Pick6 |
| (none) | /v1/ws/odds | WebSocket streaming (push updates, no polling) |
| (none) | /v1/sse/odds | Server-Sent Events streaming (HTTP/2 friendly, EventSource-compatible) |
| (none) | /v1/sports/{key}/best-line | Best price per outcome across all books |
You don't need to change a single sport_key string for these:
baseball_mlb, basketball_nba, americanfootball_nfl, icehockey_nhlamericanfootball_ncaaf, basketball_ncaab, basketball_wnbamma_mixed_martial_arts, mma_ufcsoccer_epl, soccer_spain_la_liga, soccer_germany_bundesliga, soccer_italy_serie_a, soccer_france_ligue_onesoccer_uefa_champs_league, soccer_uefa_europa_league, soccer_conmebol_copa_libertadoresWe 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.
Every bookmaker key the-odds-api uses, we use. We just have 19 more on top.
draftkings, fanduel, betmgm, caesars, pointsbetus, williamhill_us, betonlineag, betrivers, bovada, mybookieag, pinnacle, unibet_us, wynnbet.
novig, prophetx, sportradeprizepicks, underdog, sleeper, pick6, betrkalshi, polymarketbetclic, pmu, unibet_fr, winamaxbet365, fliff, esportsbetfanatics, espnbet, hardrockbet| Tier | the-odds-api | ParlayAPI | Savings |
|---|---|---|---|
| Free | 500 credits/mo | 1,000 credits/mo | Better |
| Starter | $30/mo (20K) | $5/mo (50K) | 6x cheaper, 2.5x more credits |
| Pro | $59/mo (100K) | $20/mo (250K) | 3x cheaper, 2.5x more credits |
| Business | $119/mo (5M) | $40/mo (1M) | 3x cheaper |
| Enterprise | Contact sales | $100/mo (5M) | Self-serve |
Credit costs per call are similar (1 credit per book per market). Compare your current monthly the-odds-api spend against ours at the same call volume; most teams cut their bill by 60-85%.
/odds endpoint with markets=player_*/best-line endpoint for line-shopping bots/v1/sports?all=true first.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.
We rate-limit per API key at 500 requests/minute on free, 2,000/min on Starter+, 10,000/min on Pro+, custom on Business+. Throttle in your client to stay under the limit.
Same commence_time ISO-8601 UTC format. Same last_update per bookmaker. No code change needed.
Same ?bookmakers= comma-separated key list. We support all keys the-odds-api does plus the additional ones above.
Sign up gets you an API key in 30 seconds. No credit card. Free tier supports real testing volume (1,000 credits/month).