Access live sports odds data via a simple REST API. JSON responses, HTTPS, and CORS-ready.
https://oddstatus.com/apiAll API requests require an API key passed via the Authorization: Bearer YOUR_KEY header. Contact us to request an API key.
Returns a list of all available sports.
{
"sports": [
{ "id": 1, "key": "soccer_epl", "name": "EPL" },
{ "id": 2, "key": "basketball_nba", "name": "NBA" },
...
]
}Returns events for a given sport. Supports pagination with limit and offset.
{
"events": [
{
"id": "evt_abc123",
"title": "Liverpool vs Fulham",
"start_time": "2026-05-15T16:30:00Z",
"sport_key": "soccer_epl",
"sport_name": "EPL",
"competition_name": "Premier League",
"status": "upcoming"
},
...
]
}Returns all odds lines for a specific event, grouped by market type.
{
"odds": [
{
"id": "line_xyz",
"market_type": "h2h",
"market_label": "Match Winner",
"bookmaker_key": "draftkings",
"bookmaker_name": "DraftKings",
"outcome_name": "Liverpool",
"price": "+120",
"decimal_price": "2.20",
"fetched_at": "2026-05-15T14:00:00Z"
},
...
]
}Returns current arbitrage opportunities. Filter by minimum profit percentage and sport.
{
"opportunities": [
{
"sport": "EPL",
"event": "Liverpool vs Fulham",
"profitPct": 3.5,
"legs": [
{ "bookmaker": "FanDuel", "outcome": "Liverpool", "odds": 2.95 },
{ "bookmaker": "BetOnline.ag", "outcome": "Fulham", "odds": 5.78 },
{ "bookmaker": "Bovada", "outcome": "Draw", "odds": 4.55 }
]
},
...
]
}Free tier: 60 requests/minute. Pro tier: 600 requests/minute. Rate limit headers are included in every response.
| Header | Description |
|---|---|
X-RateLimit-Limit | Maximum requests per minute |
X-RateLimit-Remaining | Remaining requests in current window |
X-RateLimit-Reset | Unix timestamp when the rate limit resets |
Try the API immediately:
curl -H "Authorization: Bearer YOUR_KEY" \ https://oddstatus.com/api/sports