ParlayAPI
Sports odds, player props and source coverage for AI assistants. Connect with your own API key.
| Endpoint | https://parlay-api.com/mcp/http (streamable-http) |
|---|---|
| Registry version | 0.3.8 |
| Now | 22 tools · grade D (64) · pin ts_302d40513be11744e083662c6f3ba0d2 · protocol 2025-06-18 |
| First / last listed | 2026-10-28 03:39 UTC / 2026-10-28 03:39 UTC |
| Grade over time | 2026-10-28: D (64), 22 tools |
Is this your server? Own a server? ToolFit hosted watch re-checks it every 24 h ($0.25 per 30 days) or 6 h ($0.60) and sends you an HMAC-signed webhook when its tools or grade change: POST https://api.youraitools.co/toolfit/v1/watch. To opt out, see About & opt-out.
Tools: parlayapi_signup parlayapi_checkout_link parlayapi_magic_link parlayapi_get_pricing parlayapi_live_sports parlayapi_live_search parlayapi_live_command_center parlayapi_source_quality parlayapi_book_coverage parlayapi_list_sports parlayapi_get_odds parlayapi_get_props parlayapi_best_line parlayapi_verdict parlayapi_set_bettable_books parlayapi_parlay_verdict parlayapi_best_bets parlayapi_account_info parlayapi_find_arbitrage parlayapi_find_ev parlayapi_consensus parlayapi_find_middles
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 params: email*, intended_use, agent_id |
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 params: email*, tier |
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.
params: 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.
params: none |
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.
params: none |
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.
params: q*, limit |
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.
params: sport_key, limit |
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.
params: minutes, limit |
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.
params: window_minutes, include_warn |
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_*.
params: active_only |
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 params: sport_key*, markets, regions, bookmakers, odds_format |
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 params: sport_key*, markets, bookmakers, player, include_futures |
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).
params: sport_key*, market, bookmakers |
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 params: sport*, side*, market, home, away, team, player, line, book, price, region, books, bankroll, kelly |
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 params: region, books |
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 params: legs*, region, books, stake, book, bankroll, kelly |
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, params: sport_key*, region, books, limit, min_edge |
parlayapi_account_info | Get info about the API key currently in use: tier, credits
remaining, billing period.
params: none |
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 params: sport_key*, min_profit, exclude_exchanges, markets |
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 params: sport_key*, sharp_book, min_edge, markets |
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 params: sport_key*, markets |
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 params: sport_key*, min_gap, markets, include_props |
Entries describe changes in tool definitions. They are not statements about a server, its quality or its author. The grade measures how the tool definitions fit model providers (token cost, schema compatibility, confusable names) as scored by the ToolFit engine at the time of the listing. JSON: append .json. Opt-out: how or hello@youraitools.co.