Endpoints
List Events
GET
/v1/sports/{sport_key}/eventsAPI keyReturns upcoming events for a sport, or settled past events with status=final. Team sports populate home_team and away_team; tournament sports (golf) populate title and leave teams null.
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
sport_key | string | required | Sport key from /v1/sports, e.g. nfl. |
Query parameters
| Name | Type | Required | Description |
|---|---|---|---|
status | string | optional | scheduled (default), live or final. |
from | string | optional | ISO 8601 UTC lower bound on commence_time. |
to | string | optional | ISO 8601 UTC upper bound on commence_time. |
limit | integer | optional | Max events. Default 100, max 500. |
Request
cURL
curl "https://api.openoddsapi.com/v1/sports/nfl/events?from=2026-09-10T00:00:00Z&to=2026-09-16T00:00:00Z" \
-H "X-API-Key: sk_test_your_key_here"JavaScript
const url = "https://api.openoddsapi.com/v1/sports/nfl/events" +
"?from=2026-09-10T00:00:00Z&to=2026-09-16T00:00:00Z";
const res = await fetch(url, {
headers: { "X-API-Key": "sk_test_your_key_here" }
});
const events = await res.json();
console.log(events);Python
import requests
url = "https://api.openoddsapi.com/v1/sports/nfl/events"
res = requests.get(
url,
params={"from": "2026-09-10T00:00:00Z", "to": "2026-09-16T00:00:00Z"},
headers={"X-API-Key": "sk_test_your_key_here"},
)
print(res.json())JSON
[
{
"id": "evt_nfl_20260910_chiefs_bills",
"sport_key": "nfl",
"competition": "NFL - Week 1",
"commence_time": "2026-09-10T23:20:00Z",
"home_team": "Kansas City Chiefs",
"away_team": "Buffalo Bills",
"status": "scheduled",
"markets": ["moneyline", "spread", "total_points", "player_props"]
}
]The markets array lists which market keys currently have odds. It can change as bookmakers price or suspend markets.