Documentation

The GambleData sandbox API - deterministic sample data for building and testing integrations.

Quickstart

No key needed in sandbox.

curl "https://gambledata.com/api/v1/odds?sport=nba"

GET /api/v1/odds

Returns current normalized odds across bookmakers for a given sport.

Params

ParamValuesDescription
sportnba | nfl | eplSport to fetch odds for. Default nba.

Example response

{
  "sandbox": true,
  "sport": "nba",
  "generated_at": "2026-07-18T03:50:52.785Z",
  "events": [
    {
      "id": "nba-event-1",
      "commence_time": "2026-07-18T04:50:52.784Z",
      "home_team": "Celtics",
      "away_team": "Lakers",
      "bookmakers": [
        {
          "key": "draftkings",
          "title": "DraftKings",
          "markets": [
            {
              "key": "h2h",
              "outcomes": [
                { "name": "Celtics", "price": 1.86 },
                { "name": "Lakers", "price": 1.96 }
              ]
            }
          ]
        },
        {
          "key": "fanduel",
          "title": "FanDuel",
          "markets": [
            {
              "key": "h2h",
              "outcomes": [
                { "name": "Celtics", "price": 1.87 },
                { "name": "Lakers", "price": 1.95 }
              ]
            }
          ]
        },
        {
          "key": "betmgm",
          "title": "BetMGM",
          "markets": [
            {
              "key": "h2h",
              "outcomes": [
                { "name": "Celtics", "price": 1.89 },
                { "name": "Lakers", "price": 1.93 }
              ]
            }
          ]
        }
      ]
    }
    // ... 3 more events (nba-event-2, nba-event-3, nba-event-4)
  ]
}

Error response (400)

Returned when sport is not supported.

{
  "error": "unsupported sport 'cricket'",
  "supported": ["nba", "nfl", "epl"]
}

GET /api/v1/historical

Returns closing lines and results for past events - useful for backtesting.

Params

ParamValuesDescription
sportnba | nfl | eplSport to fetch historical rows for. Default nba.

Example response

{
  "sandbox": true,
  "sport": "nba",
  "rows": [
    {
      "event_id": "nba-hist-1",
      "date": "2026-07-12",
      "home_team": "Celtics",
      "away_team": "Lakers",
      "closing_home_price": 1.87,
      "closing_away_price": 1.95,
      "result": "home"
    },
    {
      "event_id": "nba-hist-2",
      "date": "2026-07-13",
      "home_team": "Lakers",
      "away_team": "Warriors",
      "closing_home_price": 1.87,
      "closing_away_price": 1.95,
      "result": "away"
    }
    // ... 4 more rows (nba-hist-3 through nba-hist-6)
  ]
}

Unsupported sports return the same 400 error shape shown above.

Schema notes