Odds API Documentation

Access live sports odds data via a simple REST API. JSON responses, HTTPS, and CORS-ready.

Base URL

https://oddstatus.com/api

Authentication

All API requests require an API key passed via the Authorization: Bearer YOUR_KEY header. Contact us to request an API key.

Endpoints

GET /sports

Returns a list of all available sports.

{
  "sports": [
    { "id": 1, "key": "soccer_epl", "name": "EPL" },
    { "id": 2, "key": "basketball_nba", "name": "NBA" },
    ...
  ]
}

GET /events?sportKey={key}&limit={n}

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"
    },
    ...
  ]
}

GET /odds/{eventId}

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"
    },
    ...
  ]
}

GET /surebets?minProfit={n}&sport={key}

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 }
      ]
    },
    ...
  ]
}

Rate Limits

Free tier: 60 requests/minute. Pro tier: 600 requests/minute. Rate limit headers are included in every response.

HeaderDescription
X-RateLimit-LimitMaximum requests per minute
X-RateLimit-RemainingRemaining requests in current window
X-RateLimit-ResetUnix timestamp when the rate limit resets

Quickstart

Try the API immediately:

curl -H "Authorization: Bearer YOUR_KEY" \
  https://oddstatus.com/api/sports

Request an API key →

Quickstart Guide