Zero to first API call — no signup
Read-only prediction market data is open for personal, non-commercial use under the End User License Agreement. No key, no registration — your first request is one command away.
Make Your First Request
# No API key required $ curl --location 'https://data-api.crypto.com/api/v1/predictions/events?kind=NFL&limit=5'
import requests url = "https://data-api.crypto.com/api/v1/predictions/events" resp = requests.get(url, params={"kind": "NFL", "limit": 5}) for event in resp.json()["data"]: print(event["title"], event["kind"])
const resp = await fetch( "https://data-api.crypto.com/api/v1/predictions/events?kind=NFL&limit=5" ); const { data, pagination } = await resp.json(); data.forEach(e => console.log(e.title, e.kind));
Know Your Limits
Anonymous access is rate limited per IP address at 100 requests/minute and 50,000 requests/day. Every response tells you where you stand:
X-RateLimit-Limit: 100 # requests per minute X-RateLimit-Remaining: 97 # left in this minute X-RateLimit-Day-Limit: 50000 # requests per day X-RateLimit-Day-Remaining: 49871 # left today
Exceed a window and you get 429 Too Many Requests with a Retry-After header (seconds until the window resets). Back off and retry — don't hammer.
Need more? Redistribution, commercial use, or model training requires a Market Data License (MDLA) — licensed keys get tiered limits well above the anonymous defaults.
Have a Key?
Licensed (MDLA) keys send the X-API-Key header and get their tier's limits instead of the anonymous defaults:
$ curl --location 'https://data-api.crypto.com/api/v1/predictions/events?kind=NFL&limit=5' \ --header 'X-API-Key: YOUR_KEY'
Want to test keyed behaviour (tier headers, 429 handling) before applying? Grab a free sandbox key for integration testing.
Explore the API
?kind=NFL
Filter by sport or category
/events/search?q=super+bowl
Full-text search events
/contracts/BTC-YES/price
Get real-time contract pricing
See the full API documentation for all endpoints and parameters.