---
title: "Returns the event list for a sport without prices: ids, teams, start time, status and league. Use it to discover eventId values and league labels before calling the priced endpoints."
method: GET
path: "/api/v1/{sport}/events"
tags: ["Odds"]
---

# Returns the event list for a sport without prices: ids, teams, start time, status and league. Use it to discover eventId values and league labels before calling the priced endpoints.

`GET /api/v1/{sport}/events`

## Request

- Base URL: `https://api.owlsinsight.com`
- URL: `https://api.owlsinsight.com/api/v1/{sport}/events`
- Auth: HTTP bearer

Returns the event list for a sport without prices: ids, teams, start time, status and league. Use it to discover eventId values and league labels before calling the priced endpoints.

home_team and away_team are one canonical string per team across every book for NFL, college football, NBA, NHL, MLB and college basketball: the name as returned is the join key. eventId is {sport}:{away}@{home}-{YYYYMMDD}, built from those names, and is the key the /api/v1/history endpoints use. Soccer and tennis carry each book's own spelling.

/api/v1/normalize maps an outside name (a score feed, a spreadsheet) onto ours; it is not needed for names we return.

home_team_id and away_team_id (homeTeamId and awayTeamId on /api/v1/history/games) are the stable roster id of the team behind each name, the same from every book and spelling. The key is absent, never null, when a name is not on our roster: every tennis name, a soccer or college name we do not carry, and sports without a roster. There is no abbreviation field.

## Path parameters

- `sport` string, required

## Query parameters

- `league` string

## Response `200`

OK

- EventsResponse
  - `data` EventSummary[]
    - `away_team` string
    - `away_team_id` string: Stable roster id for `away_team`; same rules.
    - `commence_time` string
    - `country_code` string
    - `eventId` string: Formatted event ID for use with history endpoints.
    - `home_team` string
    - `home_team_id` string: Stable roster id for `home_team`, absent when the name is not on a roster we carry. Same values as {@link OddsEvent.home_team_id}.
    - `id` string
    - `league` string
    - `sport_key` string
    - `sport_title` string
    - `status` string
  - `meta` EventsMeta
    - `available_leagues` string[]: Every league value present for this sport, before any `league` filter. Use it to discover valid `league` values instead of guessing them, and to tell a filter that matched nothing from a genuinely empty slate: a non-empty `available_leagues` with `event_count: 0` means the filter missed.
    - `event_count` number, double
    - `freshness` OddsFreshness
      - `ageSeconds` number, double
      - `droppedAsFinished` number, double: Events dropped because the match was confirmed finished (realtime only).
      - `droppedAsStale` number, double: Events dropped because their scheduled start is older than the sport's max plausible live duration — a source-independent staleness guard (realtime only).
      - `stale` boolean
    - `league` string: The `league` filter that was applied, echoed back.
    - `sport` string
    - `sport_key` string
    - `timestamp` string
  - `success` boolean

---

[API](https://skmtc.dev/owlsinsight/apis/owls-insight-api.md) · [All operations](https://skmtc.dev/owlsinsight/apis/owls-insight-api/llms.txt) · [OpenAPI document](https://skmtc.dev/owlsinsight/apis/owls-insight-api/revisions/76c1ea016ff1?raw)
