---
title: "Get Events By Sport Slug"
method: GET
path: "/v2/sports/{slug}/events"
tags: ["Sports"]
---

# Get Events By Sport Slug

`GET /v2/sports/{slug}/events`

## Request

- Base URL: `https://api.polymarket.us`
- URL: `https://api.polymarket.us/v2/sports/{slug}/events`
- Auth: API key in header `X-PM-Access-Key` and API key in header `X-PM-Timestamp` and API key in header `X-PM-Signature`
- TypeScript: <https://skmtc.dev/polymarket/apis/portfolio-api/docs/v2/sports/:slug/events/get.ts> (a function with typed inputs; its response is checked against the schema)

Retrieve events for a sport by its slug (e.g., 'football', 'basketball'). Fetches all leagues for the sport, collects their active series, and returns combined events.

## Path parameters

- `slug` string, required

## Query parameters

- `limit` integer
- `offset` integer
- `excludeEventId` integer[]
- `type` string
- `section` string

## Response `200`

Sport events with sport info

- GatewaySportsV2GetSportEventsResponse: Response containing events for a sport
  - `type` string: Type: sport or futures
  - `typeTitle` string: Subtab title: Games or Futures
  - `section` string: Section: general or trending
  - `sectionTitle` string: Section title: Sport or Trending
  - `events` GatewayMarketV1Event[]: Events in this section
    - `id` string: Unique event identifier
    - `ticker` string, nullable: Event ticker symbol
    - `slug` string, nullable: Event slug for URL
    - `title` string, nullable: Event title
    - `subtitle` string, nullable: Event subtitle
    - `description` string, nullable: Event description
    - `resolutionSource` string, nullable: Source for event resolution
    - `startDate` string, nullable: Event start date
    - `creationDate` string, nullable: Event creation date
    - `endDate` string, nullable: Event end date
    - `image` string, nullable: Event image URL
    - `active` boolean, nullable: Whether event is active
    - `closed` boolean, nullable: Whether event is closed
    - `archived` boolean, nullable: Whether event is archived
    - `liquidity` number, nullable: Event liquidity
    - `volume` number, nullable: Event volume
    - `openInterest` number, nullable: Open interest
    - `category` string, nullable: Event category
    - `subcategory` string, nullable: Event subcategory
    - `createdAt` string, nullable: Creation timestamp
    - `updatedAt` string, nullable: Last update timestamp
    - `volume24hr` number, nullable: 24-hour volume
    - `volume1wk` number, nullable: One week volume
    - `volume1mo` number, nullable: One month volume
    - `volume1yr` number, nullable: One year volume
    - `closedTime` string, nullable: Event close time
    - `eventDate` string, nullable: Event date
    - `startTime` string, nullable: Event start time
    - `seriesSlug` string, nullable: Series slug
    - `score` string, nullable: Event score
    - `elapsed` string, nullable: Elapsed time
    - `period` string, nullable: Event period
    - `live` boolean, nullable: Whether event is live
    - `ended` boolean, nullable: Whether event has ended
    - `finishedTimestamp` string, nullable: Finished timestamp
    - `featuredOrder` integer, nullable: Featured order
    - `markets` GatewayMarketV1Market[]: Associated markets
      - `id` string: Unique market identifier
      - `question` string, nullable: Market question
      - `slug` string, nullable: Market slug for URL
      - `endDate` string, nullable: Market end date
      - `category` string, nullable: Market category
      - `startDate` string, nullable: Market start date
      - `image` string, nullable: Market image URL
      - `description` string, nullable: Market description
      - `active` boolean, nullable: Whether market is active
      - `marketType` string, nullable: Type of market (deprecated). Options: moneyline, spreads, totals
      - `closed` boolean, nullable: Whether market is closed
      - `createdAt` string, nullable: Creation timestamp
      - `updatedAt` string, nullable: Last update timestamp
      - `archived` boolean, nullable: Whether market is archived
      - `orderPriceMinTickSize` number, nullable: Minimum tick size for order price
      - `gameStartTime` string, nullable: Game start time
      - `manualActivation` boolean, nullable: Whether manual activation is required
      - `sportsMarketType` string, nullable: Sports market type
      - `line` number, nullable: Line value
      - `marketSides` GatewayMarketV1MarketSide[]: Market sides
        - `id` string: Market side ID
        - `marketSideType` 'MARKET_SIDE_TYPE_ERC1155' | 'MARKET_SIDE_TYPE_INSTRUMENT'
        - `identifier` string, nullable: Market side identifier
        - `createdAt` string, nullable: Creation timestamp
        - `updatedAt` string, nullable: Last update timestamp
        - `description` string, nullable: Market side description
        - `price` string, nullable: Market side price
        - `marketId` integer: Market ID
        - `long` boolean, nullable: Whether market side is the long or short side of the market
        - `teamId` integer, nullable: Team ID
        - `team` GatewayMarketV1Team
          - `id` integer
          - `name` string
          - `abbreviation` string
          - `league` string
          - `record` string
          - `logo` string
          - `alias` string
          - `safeName` string
          - `homeIcon` string, nullable
          - `awayIcon` string, nullable
          - `colorPrimary` string, nullable
          - `providerId` integer, nullable
          - `ordering` string, nullable
          - `longIcon` string, nullable
          - `shortIcon` string, nullable
          - `displayAbbreviation` string, nullable
          - `ranking` string, int64, nullable
          - `conference` string, nullable
          - `providerIds` GatewayMarketV1SportsTeamProvider[]
            - `provider` 'PROVIDER_SPORTSDATAIO' | 'PROVIDER_SPORTRADAR' | 'PROVIDER_OPTICODDS' | 'PROVIDER_PANDASCORE' | 'PROVIDER_INFRONT' | 'PROVIDER_ENETPULSE' | 'PROVIDER_UFC'
            - `providerId` string: The provider id
          - `longIconDark` string, nullable
          - `shortIconDark` string, nullable
          - `color` GatewayMarketV1ResolvedColor
            - `light` string: Hex color for light mode
            - `dark` string: Hex color for dark mode
        - `quote` GatewayTypesV1Amount: Represents a monetary amount with its currency.
          - `value` string, decimal, required: The amount as a decimal string.
          - `currency` string, required: The currency code
        - `tradable` boolean, nullable: Whether this side can be traded
      - `outcomes` string, nullable: Outcomes JSON
      - `outcomePrices` string, nullable: Outcome prices JSON
      - `ep3Status` string, nullable: EP3 status
      - `sportsMarketTypeV2` 'SPORTS_MARKET_TYPE_MONEYLINE' | 'SPORTS_MARKET_TYPE_SPREAD' | 'SPORTS_MARKET_TYPE_TOTAL' | 'SPORTS_MARKET_TYPE_PROP' | 'SPORTS_MARKET_TYPE_FUTURE' | 'SPORTS_MARKET_TYPE_DRAWABLE_OUTCOME'
      - `hidden` boolean, nullable: Whether market is hidden
      - `tags` GatewayTagsV1Tag[]: Associated tags
        - `id` string: Unique tag identifier
        - `label` string, nullable: Tag label
        - `slug` string, nullable: Tag slug for URL
        - `createdAt` string, nullable: Creation timestamp
        - `updatedAt` string, nullable: Last update timestamp
        - `image` string, nullable: Tag image URL
        - `tradable` boolean, nullable: Whether the tag is tradable
        - `league` GatewayTagsV1TagLeague
          - `id` integer
          - `name` string
          - `sportId` integer
          - `tagId` integer, nullable
          - `image` string, nullable
          - `resolution` string, nullable
          - `ordering` string, nullable
          - `activeSeriesId` integer, nullable
          - `isOperational` boolean, nullable
          - `automaticResolution` boolean, nullable
          - `createdAt` string, nullable
          - `slug` string
          - `abbreviation` string, nullable
        - `sport` GatewayTagsV1TagSport
          - `id` integer
          - `name` string
          - `tagId` integer, nullable
          - `createdAt` string, nullable
          - `slug` string
          - `image` string, nullable
        - `parentId` integer, nullable: Parent tag ID
        - `subtags` object[]: Child subtags
      - `title` string, nullable: Market title
      - `subtitle` string, nullable: Market subtitle
      - `color` string, nullable: Market color
      - `darkColor` string, nullable: Market dark mode color
      - `subjectId` integer, nullable: Subject ID
      - `subject` GatewayMarketV1Subject: Subject information
        - `id` integer: Subject ID
        - `name` string: Subject name
        - `displayName` string, nullable: Subject display name
        - `description` string, nullable: Subject description
        - `subjectType` string: Subject type (nominee, player, team, candidate, golf_player)
        - `image` string, nullable: Subject image URL
        - `color` string, nullable: Subject color
        - `darkColor` string, nullable: Subject dark mode color
        - `createdAt` string, nullable: Creation timestamp
        - `updatedAt` string, nullable: Last update timestamp
        - `slug` string, nullable: Subject slug for URL
      - `feeCoefficient` number, nullable: Fee coefficient
      - `spreadTotalSuffix` string, nullable: Spread/total suffix for UI display (e.g. points, goals, runs)
      - `sortOrder` integer, nullable: Sort order for market within event
      - `bestBidQuote` GatewayTypesV1Amount: Represents a monetary amount with its currency.
        - `value` string, decimal, required: The amount as a decimal string.
        - `currency` string, required: The currency code
      - `bestAskQuote` GatewayTypesV1Amount: Represents a monetary amount with its currency.
        - `value` string, decimal, required: The amount as a decimal string.
        - `currency` string, required: The currency code
      - `metadata` object, nullable: Opaque metadata object — internal-use only, shape is not part of the public contract
      - `titleShort` string, nullable: Compact display title computed at serialization time (e.g. 'DET -5.5 F5', 'Over 5.5 F5'). Falls back to title.
      - `ep3SyncedAt` string, nullable: Timestamp when this market was last synced from EP3
      - `minimumTradeQty` number, nullable: Minimum order quantity in contracts (e.g. 0.01 = 1% of a contract, 1.0 = one whole contract).
      - `volume` number, nullable: Market volume (lifetime, in shares)
      - `volume24hr` number, nullable: 24-hour market volume (in shares)
      - `volume1wk` number, nullable: One week market volume (in shares)
      - `volume1mo` number, nullable: One month market volume (in shares)
      - `volume1yr` number, nullable: One year market volume (in shares)
      - `rulesDisclaimer` string, nullable: Short 'understanding the rules' disclaimer for this market type, computed at serialization time. Omitted when the market's sports_market_type has no disclaimer.
    - `gameId` integer, nullable: ID taken from our sports provider
    - `rescheduledFromGameId` integer, nullable: Rescheduled ID taken from our sports provider
    - `sportradarGameId` string, nullable: Sportradar game ID
    - `eventState` GatewayMarketV1EventState
      - `id` integer
      - `gameId` integer, nullable
      - `sportradarGameId` string, nullable
      - `type` string
      - `createdAt` string, date-time, nullable
      - `updatedAt` string, date-time, nullable
      - `score` string, nullable
      - `elapsed` string, nullable
      - `period` string, nullable
      - `live` boolean, nullable
      - `ended` boolean, nullable
      - `finishedTimestamp` string, date-time, nullable
      - `footballState` GatewayMarketV1FootballState
        - `down` integer, nullable
        - `yard` integer, nullable
        - `possessionProviderId` string, nullable
      - `ufcState` GatewayMarketV1UFCState
        - `weightClass` string, nullable
        - `cardSegment` string, nullable
        - `eventLogo` string, nullable
        - `rounds` integer, nullable
        - `order` integer, nullable
      - `tennisState` GatewayMarketV1TennisState
        - `tournamentName` string, nullable
        - `round` string, nullable
      - `baseballState` GatewayMarketV1BaseballState
        - `balls` integer, nullable
        - `strikes` integer, nullable
        - `outs` integer, nullable
        - `onFirst` boolean, nullable
        - `onSecond` boolean, nullable
        - `onThird` boolean, nullable
        - `inningHalf` string, nullable
      - `cricketState` GatewayMarketV1CricketState
        - `innings` GatewayMarketV1CricketInnings[]
          - `number` integer, nullable
          - `battingTeamId` string, nullable
          - `runs` integer, nullable
          - `wickets` integer, nullable
          - `oversCompleted` integer, nullable
          - `complete` boolean, nullable
          - `ballsIntoOver` integer, nullable
        - `currentInnings` integer, nullable
        - `totalOvers` integer, nullable
        - `phase` string, nullable
        - `chase` GatewayMarketV1CricketChase
          - `target` integer, nullable
          - `runsNeeded` integer, nullable
          - `ballsRemaining` integer, nullable
          - `currentRunRate` number, double, nullable
          - `requiredRunRate` number, double, nullable
      - `soccerState` GatewayMarketV1SoccerState
        - `shootoutAttempts` GatewayMarketV1SoccerPenaltyShootoutAttempt[]
          - `competitorId` string
          - `status` 'SOCCER_PENALTY_SHOOTOUT_ATTEMPT_STATUS_NOT_TAKEN_YET' | 'SOCCER_PENALTY_SHOOTOUT_ATTEMPT_STATUS_SCORED' | 'SOCCER_PENALTY_SHOOTOUT_ATTEMPT_STATUS_MISSED'
          - `playerId` string
          - `playerName` string
      - `mainSpreadLine` number, double, nullable: Main spread line
      - `mainTotalLine` number, double, nullable: Main total line
      - `marketGroupStats` GatewayMarketV1MarketGroupStat[]: Per-market-group current line and count
        - `marketGroupId` string: Market group identifier this stat applies to (matches EventMarketGroup.id)
        - `line` number, nullable: Line value for the group
        - `current` number, nullable: Current line value for the group
    - `hidden` boolean, nullable: Whether event is hidden
    - `tags` GatewayTagsV1Tag[]: Associated tags
      - `id` string: Unique tag identifier
      - `label` string, nullable: Tag label
      - `slug` string, nullable: Tag slug for URL
      - `createdAt` string, nullable: Creation timestamp
      - `updatedAt` string, nullable: Last update timestamp
      - `image` string, nullable: Tag image URL
      - `tradable` boolean, nullable: Whether the tag is tradable
      - `league` GatewayTagsV1TagLeague
        - `id` integer
        - `name` string
        - `sportId` integer
        - `tagId` integer, nullable
        - `image` string, nullable
        - `resolution` string, nullable
        - `ordering` string, nullable
        - `activeSeriesId` integer, nullable
        - `isOperational` boolean, nullable
        - `automaticResolution` boolean, nullable
        - `createdAt` string, nullable
        - `slug` string
        - `abbreviation` string, nullable
      - `sport` GatewayTagsV1TagSport
        - `id` integer
        - `name` string
        - `tagId` integer, nullable
        - `createdAt` string, nullable
        - `slug` string
        - `image` string, nullable
      - `parentId` integer, nullable: Parent tag ID
      - `subtags` object[]: Child subtags
    - `teams` GatewayMarketV1Team[]: Associated teams
      - `id` integer
      - `name` string
      - `abbreviation` string
      - `league` string
      - `record` string
      - `logo` string
      - `alias` string
      - `safeName` string
      - `homeIcon` string, nullable
      - `awayIcon` string, nullable
      - `colorPrimary` string, nullable
      - `providerId` integer, nullable
      - `ordering` string, nullable
      - `longIcon` string, nullable
      - `shortIcon` string, nullable
      - `displayAbbreviation` string, nullable
      - `ranking` string, int64, nullable
      - `conference` string, nullable
      - `providerIds` GatewayMarketV1SportsTeamProvider[]
        - `provider` 'PROVIDER_SPORTSDATAIO' | 'PROVIDER_SPORTRADAR' | 'PROVIDER_OPTICODDS' | 'PROVIDER_PANDASCORE' | 'PROVIDER_INFRONT' | 'PROVIDER_ENETPULSE' | 'PROVIDER_UFC'
        - `providerId` string: The provider id
      - `longIconDark` string, nullable
      - `shortIconDark` string, nullable
      - `color` GatewayMarketV1ResolvedColor
        - `light` string: Hex color for light mode
        - `dark` string: Hex color for dark mode
    - `metadata` GatewayMarketV1EventMetadata
      - `gameState` GatewayMarketV1EventState
        - `id` integer
        - `gameId` integer, nullable
        - `sportradarGameId` string, nullable
        - `type` string
        - `createdAt` string, date-time, nullable
        - `updatedAt` string, date-time, nullable
        - `score` string, nullable
        - `elapsed` string, nullable
        - `period` string, nullable
        - `live` boolean, nullable
        - `ended` boolean, nullable
        - `finishedTimestamp` string, date-time, nullable
        - `footballState` GatewayMarketV1FootballState
          - `down` integer, nullable
          - `yard` integer, nullable
          - `possessionProviderId` string, nullable
        - `ufcState` GatewayMarketV1UFCState
          - `weightClass` string, nullable
          - `cardSegment` string, nullable
          - `eventLogo` string, nullable
          - `rounds` integer, nullable
          - `order` integer, nullable
        - `tennisState` GatewayMarketV1TennisState
          - `tournamentName` string, nullable
          - `round` string, nullable
        - `baseballState` GatewayMarketV1BaseballState
          - `balls` integer, nullable
          - `strikes` integer, nullable
          - `outs` integer, nullable
          - `onFirst` boolean, nullable
          - `onSecond` boolean, nullable
          - `onThird` boolean, nullable
          - `inningHalf` string, nullable
        - `cricketState` GatewayMarketV1CricketState
          - `innings` GatewayMarketV1CricketInnings[]
            - `number` integer, nullable
            - `battingTeamId` string, nullable
            - `runs` integer, nullable
            - `wickets` integer, nullable
            - `oversCompleted` integer, nullable
            - `complete` boolean, nullable
            - `ballsIntoOver` integer, nullable
          - `currentInnings` integer, nullable
          - `totalOvers` integer, nullable
          - `phase` string, nullable
          - `chase` GatewayMarketV1CricketChase
            - `target` integer, nullable
            - `runsNeeded` integer, nullable
            - `ballsRemaining` integer, nullable
            - `currentRunRate` number, double, nullable
            - `requiredRunRate` number, double, nullable
        - `soccerState` GatewayMarketV1SoccerState
          - `shootoutAttempts` GatewayMarketV1SoccerPenaltyShootoutAttempt[]
            - `competitorId` string
            - `status` 'SOCCER_PENALTY_SHOOTOUT_ATTEMPT_STATUS_NOT_TAKEN_YET' | 'SOCCER_PENALTY_SHOOTOUT_ATTEMPT_STATUS_SCORED' | 'SOCCER_PENALTY_SHOOTOUT_ATTEMPT_STATUS_MISSED'
            - `playerId` string
            - `playerName` string
        - `mainSpreadLine` number, double, nullable: Main spread line
        - `mainTotalLine` number, double, nullable: Main total line
        - `marketGroupStats` GatewayMarketV1MarketGroupStat[]: Per-market-group current line and count
          - `marketGroupId` string: Market group identifier this stat applies to (matches EventMarketGroup.id)
          - `line` number, nullable: Line value for the group
          - `current` number, nullable: Current line value for the group
      - `latestGameUpdate` GatewayMarketV1GameUpdate
        - `id` integer: Game update ID
        - `eventId` integer: Event ID
        - `sportradarGameId` string: Sportradar game ID
        - `type` string: Game update type
        - `title` string: Game update title
        - `subtitle` string, nullable: Game update subtitle
        - `subject` string, nullable: Game update subject
        - `team` string, nullable: Team name
        - `period` string, nullable: Game period
        - `clock` string, nullable: Game clock
        - `highlightAt` string, date-time, nullable: Highlight timestamp
        - `createdAt` string, date-time, nullable: Creation timestamp
    - `sortType` string, nullable: Sort type for ordering markets within event
    - `marketGroups` GatewayMarketV1EventMarketGroup[]: Flat list of market groups forming a hierarchy via parent_id (only when groups=true)
      - `id` string: Unique identifier for this group (path-based, e.g. 'player-props/home-runs/yankees')
      - `title` string: Display title for this group
      - `subtitle` string, nullable: Optional display subtitle for this group
      - `parentId` string, nullable: ID of the parent group (null for root groups, which act as tabs)
      - `order` integer: Sort order among siblings with the same parent
      - `marketIds` string[]: Ordered market ID references into event.markets
      - `line` number, nullable: Line value for this group
      - `current` number, nullable: Current line value
      - `searchable` boolean, nullable: Whether this group's markets are searchable
      - `showAllThreshold` integer, nullable: Number of markets to show before collapsing with a 'show all' button
      - `showMarketImages` boolean, nullable: Whether clients should render market images for this group
    - `primaryTag` GatewayTagsV1Tag
      - `id` string: Unique tag identifier
      - `label` string, nullable: Tag label
      - `slug` string, nullable: Tag slug for URL
      - `createdAt` string, nullable: Creation timestamp
      - `updatedAt` string, nullable: Last update timestamp
      - `image` string, nullable: Tag image URL
      - `tradable` boolean, nullable: Whether the tag is tradable
      - `league` GatewayTagsV1TagLeague
        - `id` integer
        - `name` string
        - `sportId` integer
        - `tagId` integer, nullable
        - `image` string, nullable
        - `resolution` string, nullable
        - `ordering` string, nullable
        - `activeSeriesId` integer, nullable
        - `isOperational` boolean, nullable
        - `automaticResolution` boolean, nullable
        - `createdAt` string, nullable
        - `slug` string
        - `abbreviation` string, nullable
      - `sport` GatewayTagsV1TagSport
        - `id` integer
        - `name` string
        - `tagId` integer, nullable
        - `createdAt` string, nullable
        - `slug` string
        - `image` string, nullable
      - `parentId` integer, nullable: Parent tag ID
      - `subtags` object[]: Child subtags
    - `secondaryTag` GatewayTagsV1Tag
      - `id` string: Unique tag identifier
      - `label` string, nullable: Tag label
      - `slug` string, nullable: Tag slug for URL
      - `createdAt` string, nullable: Creation timestamp
      - `updatedAt` string, nullable: Last update timestamp
      - `image` string, nullable: Tag image URL
      - `tradable` boolean, nullable: Whether the tag is tradable
      - `league` GatewayTagsV1TagLeague
        - `id` integer
        - `name` string
        - `sportId` integer
        - `tagId` integer, nullable
        - `image` string, nullable
        - `resolution` string, nullable
        - `ordering` string, nullable
        - `activeSeriesId` integer, nullable
        - `isOperational` boolean, nullable
        - `automaticResolution` boolean, nullable
        - `createdAt` string, nullable
        - `slug` string
        - `abbreviation` string, nullable
      - `sport` GatewayTagsV1TagSport
        - `id` integer
        - `name` string
        - `tagId` integer, nullable
        - `createdAt` string, nullable
        - `slug` string
        - `image` string, nullable
      - `parentId` integer, nullable: Parent tag ID
      - `subtags` object[]: Child subtags
    - `primaryTagSlug` string, nullable: Raw upstream primary tag slug override (admin-only; omitted on public reads)
    - `secondaryTagSlug` string, nullable: Raw upstream secondary tag slug override (admin-only; omitted on public reads)
    - `livestreamUrl` string, nullable: Livestream URL for the event
    - `featureAvailability` GatewayMarketV1EventFeatureAvailability: Data surfaces available for this event
      - `lineups` boolean: Lineups are generally available for this event
      - `timeline` boolean: Live timeline including statistics and play-by-play is generally available for this event
  - `sport` GatewaySportsV2Sport: Consumer-facing sport representation
    - `name` string: Sport name (e.g., Football, Basketball)
    - `slug` string: Sport slug
    - `image` string, nullable: Sport image URL
    - `id` integer: Sport ID
    - `tagId` integer, nullable: Associated tag ID
    - `createdAt` string, nullable: Creation timestamp
    - `defaultJerseyImage` string, nullable: Default jersey image URL for the sport

## Other responses

- `500`: Internal server error

---

[API](https://skmtc.dev/polymarket/apis/portfolio-api.md) - [All operations](https://skmtc.dev/polymarket/apis/portfolio-api/llms.txt) - [OpenAPI document](https://skmtc.dev/polymarket/apis/portfolio-api/revisions/150874842db1?raw)
