PA

ParlayAPI

io.github.JacobiusMakes/parlayapi

Sports odds, player props and source coverage for AI assistants. Connect with your own API key.

Yes, your AI can use this right now.Answered a live MCP handshake in 5241 ms with no sign-in needed and exposes 22 tools.

Connect it

Settings → Connectors → Add custom connector
URL: https://parlay-api.com/mcp/http

22 tools, verified live

Pulled straight from the server with tools/list on 2026-10-17.
parlayapi_signup

Create a free-tier ParlayAPI account for the given email. Returns the API key, a magic-login URL the user can click to access their dashboard, and a Stripe upgrade URL. Idempotent: if the email already has an account, returns exists=true with the login URL only (the existing API key is intentionally NOT exposed for security). Use this when a user wants to start building with

parlayapi_checkout_link

Request an owner-authenticated checkout URL or an email-link flow. A configured key is forwarded for the backend to verify account ownership. With no matching key, the backend returns an email-flow acknowledgement rather than a checkout URL. That response does not confirm email delivery. Tiers: starter, pro, business, enterprise, scale. For current prices, call parlayapi_get_p

parlayapi_magic_link

Email a magic-login link for an existing ParlayAPI account. Always returns ok=true regardless of whether the email exists, to prevent account enumeration. The user receives the link by email.

parlayapi_get_pricing

Return the current public pricing table. No API key required. Use this when an agent needs to explain which tier unlocks a workflow before sending a checkout link.

parlayapi_live_sports

List currently active live sports on the retail /live surface. No API key required. Returns sport keys plus live event and book counts so agents can discover what is active right now.

parlayapi_live_search

Search live teams, players, and sport keys. No API key required. Useful when the user asks for a team, player, or league by natural-language name and the agent needs the exact sport_key to call next.

parlayapi_live_command_center

Return the public best-line command center payload. No API key required. Shows current games, participating books, and best available real prices on the /live dashboard preview. This is a discovery and demo surface, not a substitute for the paid odds endpoints.

parlayapi_source_quality

Return public per-source freshness and quality metadata. No API key required. Use this to prove that rows are flowing from each source before choosing books for a customer workflow.

parlayapi_book_coverage

Return public per-book coverage gates. No API key required. This is the proof surface for whether each source survives freshness, normalization, database, REST-shape, and stream-shape checks.

parlayapi_list_sports

List available sport keys. Use these in subsequent calls. Examples: baseball_mlb, basketball_nba, americanfootball_nfl, icehockey_nhl, soccer_epl, mma_ufc, esports_lol, table_tennis_*.

parlayapi_get_odds

Get game-level odds for a sport from all configured bookmakers. Args: sport_key: e.g. "baseball_mlb", "soccer_epl" markets: Comma-separated. h2h, spreads, totals. regions: us, us2, uk, eu, fr, au, ca, mx, latam, br, asia. Comma-separated for multiple. bookmakers: Comma-separated bookmaker keys (optional). Examples: pinnacle, draftkings, fanduel, bov

parlayapi_get_props

Get player prop odds for a sport. Args: sport_key: e.g. "baseball_mlb", "basketball_nba" markets: Comma-separated prop market keys (optional). Examples: player_points, player_rebounds, player_strikeouts, player_passing_yards, player_total_bases. bookmakers: Comma-separated. Examples: prizepicks, underdog, sleeper, draftkings, fanduel

parlayapi_best_line

Find the best (highest) price for each outcome across bookmakers. Useful for line-shopping bots. Returns one row per game / market / side with the bookmaker offering the best price. Args: sport_key: e.g. "baseball_mlb" market: h2h | spreads | totals bookmakers: Restrict the search to these books (optional).

parlayapi_verdict

Should I bet this? One-call verdict for a specific bet. Returns the no-vig fair price for the exact bet, the best available price and which book has it, how the user's price (if given) grades as EV, a line-shopping nudge, and a plain-English call: BET / LEAN / FAIR / PASS (or NO_DATA). Use this when a user asks whether a specific bet is worth making, or whether they're getting

parlayapi_set_bettable_books

Remember which books the user can bet at, so parlayapi_verdict scopes its best-price and shop recommendations to them automatically (no need to pass region/books every call). Call this once when a user tells you where they bet ("I'm in the US on DraftKings and FanDuel"). Pass region OR an exact books list. Args: region: us | eu | uk | au | ca. books: exact CSV

parlayapi_parlay_verdict

Grade a multi-leg parlay: should you bet it, and at which book? Give 2 to 12 legs (each shaped like a parlayapi_verdict bet) and get the combined no-vig fair price, the single best BOOK to place the whole slip at (a real parlay is one slip, not best-of-each), the parlay's EV, the weakest leg, same-game correlation warnings, and (with stake) the payout. Best-price is scoped to

parlayapi_best_bets

What should I bet right now? Ranked +EV plays for a sport. The discovery counterpart to parlayapi_verdict: scans the whole board, grades every candidate with the same no-vig engine, keeps only bets that are +EV at a book the user can bet at, and ranks them by edge. Also returns edge_alerts (books showing a price far off the market). Player props only, priced by several books,

parlayapi_account_info

Get info about the API key currently in use: tier, credits remaining, billing period.

parlayapi_find_arbitrage

Find cross-book arbitrage candidates from current quoted prices. Scans every event for quoted prices whose combined implied probability is under 100%. Results are candidates, not guaranteed executable profit: prices can move or be unavailable, and limits, latency, commissions, voids, settlement rules, or stake constraints can change the outcome. Soccer and other 3-way (home/dr

parlayapi_find_ev

Find positive-EV bets vs a sharp book's no-vig fair line. Compares every soft book's price against the no-vig fair probability derived from a sharp book (default Pinnacle); rows where a soft book offers better odds than the sharp fair price are +EV. Three-way soccer markets use a dedicated no-vig pass over home/draw/away, so +EV on the draw surfaces too. Args: spo

parlayapi_consensus

Get consensus (average) odds across all bookmakers per market. Returns average, best, and worst price per (event, market, player, line), a sharp baseline for line-shopping. Soccer and other 3-way markets return separate home, draw, and away consensus rows. Args: sport_key: e.g. "baseball_mlb", "soccer_epl". markets: Comma-separated market_keys (optional), e.g. "mo

parlayapi_find_middles

Find cross-book middle opportunities. A middle takes the Over at a low line on one book and the Under at a higher line on another, so a window of whole numbers cashes BOTH bets (e.g. Over 7.5 at one book, Under 9.5 at another means 8 or 9 wins both). Scans game totals, spreads, AND player-total props (points, rebounds, strikeouts, ...). Each result carries the window, the numb

Alternatives in Developer Tools

Compare →
Try “Notion”, “Stripe”, “create invoice”, “browser”