⏱ 5-minute walkthrough

Get started

Try the API without an account, then make your first authenticated call with a free key. No credit card. Start with curl; choose an SDK when you're ready.

1 Try without signup ~30s

This no-auth odds demo returns up to five events and is limited to 60 requests per hour per IP. It lets you inspect a response before creating an account.

Run

curl -i -sS https://parlay-api.com/v1/try/baseball_mlb/odds

The -i option shows the HTTP status and headers. A successful demo returns a JSON object with events_returned and an events array, with bookmaker prices nested inside each event. An empty array means this response has no events to show; it does not prove every source is healthy.

Sportsbook and market availability varies by sport and time. Check coverage and service status for your use case. If you receive HTTP 429, follow the Retry-After header or retry_after_seconds in the body; this demo may require waiting an hour.

Other no-auth demos worth trying: /v1/try/basketball_nba/arbitrage, /v1/try/baseball_mlb/ev, /v1/try/americanfootball_nfl/middles.

2 Sign up for a free key ~30s

Free tier: 1,000 credits/month, no credit card. Requests can use more than one credit, depending on the endpoint and filters; see limits and credits. After signup, copy the API key shown in your dashboard.

Get your free key →

Set the key

In a bash or zsh terminal, replace the placeholder below with your key. Keep your key out of public repos, browser code, and screenshots.

export PARLAY_API_KEY="YOUR_API_KEY"

3 Make your first authenticated call ~1m

In the same terminal, request MLB moneylines from US books. This step needs curl and your key, with no SDK or JSON tool to install.

curl -i -sS 'https://parlay-api.com/v1/sports/baseball_mlb/odds?regions=us&markets=h2h' \
  -H "X-API-Key: $PARLAY_API_KEY"

A successful authenticated response is a JSON array of events, unlike the demo's wrapper object. Check for HTTP 200, then inspect each event's bookmakers and markets. If you receive [], check the sport, filters, and current coverage before trying another sport key from the sports catalogue.

Read the response headers too: x-requests-remaining shows the remaining monthly credits, x-requests-last shows this call's credit cost, and X-Request-ID helps support identify the request. See response shapes before adding props or other endpoints.

4 Optionally use an SDK ~1m

Once curl works, use a client in your language. The Python example below uses the public Python SDK; the language guides cover other clients.

Install the Python SDK

python -m pip install parlay-api

Use your key in Python

import os
from parlay_api import ParlayAPI

client = ParlayAPI(api_key=os.environ["PARLAY_API_KEY"])
events = client.odds("baseball_mlb", regions="us", markets="h2h")
print(f"Got {len(events)} events.")
if events:
    print(events[0])
else:
    print("No events returned. Check your sport, filters, and coverage.")

Don't see your language? If you have OpenAPI Generator installed, choose its language identifier as LANGUAGE and generate a client from /openapi.json:

openapi-generator-cli generate \
  -i https://parlay-api.com/openapi.json \
  -g $LANGUAGE -o ./parlay-api-$LANGUAGE

5 Know how errors look ~30s

Use the HTTP status together with the error and message fields. Where present, keep the request_id for support and follow docs_url for details.

If a response still looks wrong, send support the request ID, endpoint, sport, and time of the request. Leave your API key out. See the production guide for retry and error-handling patterns.

Your first call is the starting point. Confirm that your required sports, books, and markets are available, then explore a daily +EV digest, an arb alerter, or an AI agent. The playground helps you inspect other endpoints and their access requirements.

Where to go from here