Every way to plug ParlayAPI into your stack. Reference clients in eight languages, Postman/Bruno/Insomnia collections auto-generated from the OpenAPI spec, MCP server for Cursor & Claude, llms.txt for AI agents, embeddable widgets, status badges, and HMAC-signed webhooks. If you're missing one, open an issue.
Production-grade single-file client. Capped exponential backoff, Retry-After, idempotency keys, typed exceptions. requests + dataclasses, nothing else.
Browser + Node 18+. Uses fetch (native everywhere now). Same retry semantics, same idempotency helper, same typed Error.
Single .go file. context.Context throughout, net/http, encoding/json. No external dependencies.
Ruby 3.0+. net/http + json + securerandom. Keyword args, raises ParlayAPI::Error.
Java 17+. java.net.http only, no Jackson/Gson. Returns raw JSON strings; pipe into your preferred deserializer.
PHP 8.1+. Strict types, named-arg constructor, curl extension only. Typed ParlayException.
.NET 6+. System.Net.Http + System.Text.Json only. Builder, IDisposable, async-throughout, CancellationToken.
Rust 1.75+. tokio + reqwest + serde_json + thiserror. Async-throughout, typed Error enum, Builder pattern.
Full machine-readable spec at /openapi.json. Generate clients in any language with openapi-generator-cli.
openapi-generator-cli generate \
-i https://parlay-api.com/openapi.json \
-g typescript-axios -o ./parlay-api-ts
Importable Postman collection covering every endpoint. Auto-rebuilt from the OpenAPI spec on every deploy. 181 requests across 57 folders.
# In Postman: Import → Link →
https://parlay-api.com/collections/postman.json
Both editors import OpenAPI 3.1 natively. Point them at /openapi.json. Bruno's bru-cli can also generate per-request .bru files into your repo.
bru import --type openapi \
--source https://parlay-api.com/openapi.json
Single-fetch landing page for AI search engines and agent crawlers. Lists every public endpoint, blog post, reference client, and HTML page with one-line descriptions. Spec: llmstxt.org.
parlay-api-mcp wraps every endpoint as an MCP tool. Drop it into Claude Desktop or Cursor settings and let the agent fetch odds, score bets, find arbs, run +EV scans, etc. directly.
pip install parlay-api-mcp
# claude_desktop_config.json:
{ "mcpServers": {
"parlay-api": {
"command": "parlay-api-mcp",
"env": { "PARLAY_API_KEY": "pak_live_..." }
}
} }
Four recipes for plugging a sportsbook into Claude: live-odds, EV scanning, bet logging with auto-CLV, and arb-alert subscriptions.
Drop live cross-book arbitrage onto any site. 30s auto-refresh, sport selector, dark transparent theme. iframe-friendly CSP.
<iframe src="https://parlay-api.com/widget/arbs?sport=baseball_mlb"
width="100%" height="320" frameborder="0"></iframe>
Live Pinnacle-anchored +EV plays.
<iframe src="https://parlay-api.com/widget/ev?sport=baseball_mlb"
width="100%" height="320" frameborder="0"></iframe>
Live cross-book totals middles.
<iframe src="https://parlay-api.com/widget/middles?sport=americanfootball_nfl"
width="100%" height="320" frameborder="0"></iframe>
Shields.io-compatible SVG badges for README files and status pages. Show ParlayAPI's uptime, source count, or your own per-book SLA tier.


Subscribe to source-quality breach alerts, edge-detection triggers, and odds-movement events. Every payload is HMAC-SHA256 signed; verify with your subscription secret.
wss://parlay-api.com/v1/ws, sub-second odds pushes with subscribe/unsubscribe per (sport, market, book). SSE fallback at /v1/sse/odds for HTTP-only clients.
Want a Kotlin client, an Elixir wrapper, a Zapier integration, or first-class support for some niche editor? Open an issue at github.com/JacobiusMakes/ParlayAPI/issues. We prioritize integrations that lower the time-to-first-call for new customers.