---
title: "GET /api/feed/v1/leagues/{league}/games"
method: GET
path: "/api/feed/v1/leagues/{league}/games"
tags: ["Feed"]
---

# GET /api/feed/v1/leagues/{league}/games

`GET /api/feed/v1/leagues/{league}/games`

## Request

- Base URL: `https://api.findticker.com`
- URL: `https://api.findticker.com/api/feed/v1/leagues/{league}/games`
- Auth: HTTP bearer

## Path parameters

- `league` string, required

## Query parameters

- `team` string: Only this team's games, by the team key from `teams`.
- `side` 'home' | 'away' | 'any': With `team`: only its home games, only its away games, or both (the default).
- `schedule_section` 'postseason' | 'season': The section to page through: `postseason` (the games inside the postseason's dates, while the league has a bracket) or `season` (every other upcoming game). Default: the postseason while it has games, else the season.
- `month` string: With `schedule_section=season`: the venue-local month, YYYY-MM. Default: the first month with games.
- `if_necessary` 'true' | 'false': With `schedule_section=postseason`: the if-necessary games no series is sure to reach yet are listed by default (each carries `folded`); `false` folds them away.
- `q` string: Words that must all be in one of the game's teams (name, short name or code) or in the game's name. Case and accent blind.
- `sort_by` 'date' | 'primary' | 'primary_left' | 'secondary' | 'vs' | 'qty' | 'resale_to_primary' | 'interest' | 'sales': The order of the section before paging: `date` (the default) or a market column. `sh` and `sg` do not sort; `primary` sorts by the primary price each game shows (tm, mlb or sgp); `secondary` sorts by the cheapest resale each game shows (vs, tmr, sh, sg); `resale_to_primary` sorts by the ratio each game shows. A column the key's plan does not include is refused with 402.
- `sort_order` 'asc' | 'desc': Default `asc` for `date`, `desc` for a market column. Games with no value come last.
- `page` integer: 1 based.
- `page_size` integer: Games per page, 50 by default, 100 at most. Each game costs a unit.

## Response `200`

The league's upcoming games, soonest first, one section and one page at a time, each with its market: the League page's read. The postseason comes first while the league has a bracket, then the next season by month. Market columns follow the key's plan the way the screener's do. Costs one unit per game returned, and one unit for a page with no games.

- FeedLeagueGames
  - `league` FeedLeagueSummary, required
    - `key` string, required
    - `name` string, required
    - `sport` string, required
    - `beta` boolean, required: The league's page is in beta.
    - `season_section` boolean, required: The League page draws the league's season section.
    - `phase` string, nullable, required: preseason, regular, postseason or offseason; null when Ticker does not read the league's season.
    - `season` string, nullable, required
  - `teams` FeedLeagueTeam[], required
    - `key` string, required
    - `abbreviation` string, required
    - `name` string, required
    - `short_name` string, required
    - `conference` string
    - `division` string
    - `performer_id` string, nullable, required
  - `sections` object[], required
    - `key` 'postseason' | 'season', required
    - `label` string, required
    - `games` integer, required
    - `if_necessary` integer, required
    - `months` object[], required
      - `month` string, required
      - `games` integer, required
  - `section` 'postseason' | 'season', required
  - `month` string, nullable, required
  - `if_necessary` boolean, required
  - `columns` FeedLeagueMarketColumn[], required
    - `key` string, required: The key of the value in each game's `market`.
    - `source` string, required: The source code the column reads by default: tm, mlb, vs, tmr, sh or sg. A role column (primary, secondary) says the game's own source on the cell's `source`.
    - `unit` string, required: $ (a price cell), count, x or score.
    - `columns` string[], required: The screener columns behind the value; empty for a source the screener has no column for.
    - `locked` boolean, required: The key's plan does not include the column.
    - `required_tier` string, required: The plan that opens the column.
  - `sort_by` string, required: The order the page is in: `date` or a market column key.
  - `sort_order` 'asc' | 'desc', required
  - `games` FeedLeagueGame[], required
    - `event_url` string, nullable, required: The game's page on Ticker.
    - `event_id` string, required: Ticker event id.
    - `name` string, required: The event's name.
    - `starts_at` string, nullable, required: Start time, UTC.
    - `local_date` string, nullable, required: The venue's local date.
    - `local_time` string, nullable, required: The venue's local time, null when not set.
    - `date_tbd` boolean, required: The date is not set yet.
    - `time_tbd` boolean, required: The time is not set yet.
    - `if_necessary` boolean, required: The event is marked if necessary.
    - `home_away` 'known' | 'unknown', required: `unknown` when the event names neither home nor away.
    - `home` string, nullable, required: Home team key, from the event itself; null when unknown or still to be decided.
    - `away` string, nullable, required: Away team key, the same rule.
    - `teams` string[], required: Every team key on the event, home first when known.
    - `venue` object, nullable, required: The venue, null when the event has none.
      - `id` string, required: Ticker venue id.
      - `name` string, required
      - `city` string, nullable, required
      - `state` string, nullable, required
    - `folded` boolean, required: An if-necessary postseason game no series is sure to reach yet.
    - `market` FeedLeagueMarket, required: The game's market by column key, the League page's numbers. A column the key's plan does not include is absent and named in `withheld`; null means there is no reading.
      - `primary` FeedLeaguePrimaryCell: The detected primary market's get-in, all-in.
        - `price` number, nullable, required: The get-in, all-in, in dollars.
        - `price_before_fees` number, nullable, required: The get-in before fees, in dollars, from the same reading; the face value for mlb. Null where the source stores none. Never worked out from `price`.
        - `change_1d` number, nullable, required: Percent moved over a day; null with no reading that old.
        - `change_7d` number, nullable, required: Percent moved over a week; null with no reading that old.
        - `as_of` string, nullable, required: When the newest reading was taken, when the source says.
        - `bases` string[], required: The bases the cell carries: `price` when `price_before_fees` is set, `all_in` when `price` is. `change_1d` and `change_7d` are the all-in price's.
        - `source` string, nullable, required: The primary source detected for the game: tm, mlb or sgp (the SG primary market); null when none covers it.
      - `primary_left` number, nullable: Seats the detected primary market still lists.
      - `secondary` FeedLeagueSecondaryCell: The lowest all-in resale get-in across the resale sources on the key's plan.
        - `price` number, nullable, required: The get-in, all-in, in dollars.
        - `price_before_fees` number, nullable, required: The get-in before fees, in dollars, from the same reading; the face value for mlb. Null where the source stores none. Never worked out from `price`.
        - `change_1d` number, nullable, required: Percent moved over a day; null with no reading that old.
        - `change_7d` number, nullable, required: Percent moved over a week; null with no reading that old.
        - `as_of` string, nullable, required: When the newest reading was taken, when the source says.
        - `bases` string[], required: The bases the cell carries: `price` when `price_before_fees` is set, `all_in` when `price` is. `change_1d` and `change_7d` are the all-in price's.
        - `source` string, nullable, required: The resale source with the lowest all-in get-in: vs, tmr, sh or sg; null when none has a reading.
      - `vs` object: The VS resale get-in, all-in.
        - `price` number, nullable, required: The get-in, all-in, in dollars.
        - `price_before_fees` number, nullable, required: The get-in before fees, in dollars, from the same reading; the face value for mlb. Null where the source stores none. Never worked out from `price`.
        - `change_1d` number, nullable, required: Percent moved over a day; null with no reading that old.
        - `change_7d` number, nullable, required: Percent moved over a week; null with no reading that old.
        - `as_of` string, nullable, required: When the newest reading was taken, when the source says.
        - `bases` string[], required: The bases the cell carries: `price` when `price_before_fees` is set, `all_in` when `price` is. `change_1d` and `change_7d` are the all-in price's.
      - `sh` object: The SH resale get-in, all-in.
        - `price` number, nullable, required: The get-in, all-in, in dollars.
        - `price_before_fees` number, nullable, required: The get-in before fees, in dollars, from the same reading; the face value for mlb. Null where the source stores none. Never worked out from `price`.
        - `change_1d` number, nullable, required: Percent moved over a day; null with no reading that old.
        - `change_7d` number, nullable, required: Percent moved over a week; null with no reading that old.
        - `as_of` string, nullable, required: When the newest reading was taken, when the source says.
        - `bases` string[], required: The bases the cell carries: `price` when `price_before_fees` is set, `all_in` when `price` is. `change_1d` and `change_7d` are the all-in price's.
      - `sg` object: The SG resale get-in, all-in.
        - `price` number, nullable, required: The get-in, all-in, in dollars.
        - `price_before_fees` number, nullable, required: The get-in before fees, in dollars, from the same reading; the face value for mlb. Null where the source stores none. Never worked out from `price`.
        - `change_1d` number, nullable, required: Percent moved over a day; null with no reading that old.
        - `change_7d` number, nullable, required: Percent moved over a week; null with no reading that old.
        - `as_of` string, nullable, required: When the newest reading was taken, when the source says.
        - `bases` string[], required: The bases the cell carries: `price` when `price_before_fees` is set, `all_in` when `price` is. `change_1d` and `change_7d` are the all-in price's.
      - `qty` number, nullable: Resale tickets listed.
      - `resale_to_primary` number, nullable: The game's secondary price over its primary price; null when either has no price.
      - `interest` number, nullable: Interest score.
      - `interest_change_1d` number, nullable: The interest score's move over a day, an absolute difference, not a percent.
      - `sales` number, nullable: Sales score.
      - `sales_change_1d` number, nullable: The sales score's move over a day, an absolute difference, not a percent.
  - `page` integer, required
  - `page_size` integer, required
  - `total` integer, required
  - `truncated` boolean, required
  - `screen` object, required: This read as a screen: a View created with this predicate watches the same games.
    - `name` string, required
    - `predicate` object, required: The screener predicate for these games: the league, and the team `team` or `q` names.
      - `all` object[], required
        - `col` string, required
        - `op` '=' | 'contains', required
        - `val` union, required
          - number
          - string
  - `withheld` FeedLeagueWithheld[]
    - `fields` string[], required
    - `entitled` false, required
    - `required_tier` string, required: The cheapest plan that includes these fields.
    - `message` string, required: One line naming the plan, for a person.

## Other responses

- `400`: Validation error, an unknown `columns` name (the message lists the valid set), or a batch over the size bound.
- `401`: Missing or invalid API key.
- `402`: `sort_by` names a column the key's plan does not include. The body carries reason, required_tier and locked_columns.
- `403`: The key's account is not entitled to the feed, or the account or the address it calls from is blocked (`reason` `blocked`).
- `404`: No such league, or no such team.
- `429`: The per-minute burst ceiling or the unit budget for the current UTC date is used up.
- `500`: Internal Server Error.

---

[API](https://skmtc.dev/findticker/apis/ticker-api.md) · [All operations](https://skmtc.dev/findticker/apis/ticker-api/llms.txt) · [OpenAPI document](https://skmtc.dev/findticker/apis/ticker-api/revisions/b6229ca924f4?raw)
