Event discovery and monitoring
Use SeatGeek endpoints to turn event discovery and monitoring into repeatable API requests with documented inputs and JSON responses.
Search public SeatGeek events and browse its full discovery hierarchy by category, venue, performer, city, or coordinate, with pagination plus event, venue, and performer detail endpoints -- including a live secondary-market pricing snapshot and geo-personalized trending -- for live-entertainment and ticket-resale research.
Extract SeatGeek event search, category browse, venue and performer detail, a curated city directory, and geo-trending data as structured JSON.
Endpoint families
6
Documented params
31
Examples
11
Live catalog snapshot
Active endpoints
11
Methods
GET
Required params
22
Schema refs
11
{
"platform": "SeatGeek",
"endpoint": "seatgeek-search",
"method": "GET",
"path": "/seatgeek/search",
"auth": "apiKey"
}Use cases
Extract SeatGeek event search, category browse, venue and performer detail, a curated city directory, and geo-trending data as structured JSON.
Use SeatGeek endpoints to turn event discovery and monitoring into repeatable API requests with documented inputs and JSON responses.
Use SeatGeek endpoints to turn category, venue, and performer coverage into repeatable API requests with documented inputs and JSON responses.
Use SeatGeek endpoints to turn live secondary-market pricing research into repeatable API requests with documented inputs and JSON responses.
Managed execution
Every figure below is read from the live SeatGeek endpoint catalog — 11 endpoints, 31 documented request parameters, and 11 published response schemas — the same catalog Docs and Playground run against.
11 documented SeatGeek endpoints, grouped into 11 request families — Categories, Cities and Event, plus 8 more.
31 request parameters are documented across those SeatGeek endpoints, 22 of them required — the full input contract is public before you write any integration code.
11 of the 11 SeatGeek endpoints ship a recorded example response, and 11 carry a documented response schema — you can code against the real JSON before the first request.
SeatGeek endpoints document their error responses (400, 404, 429 and 503) alongside the success schema, so a block, a rate limit, or a missing record comes back as a typed error rather than silently empty data.
11 hosted MCP tools back the SeatGeek endpoints, so an agent can call the same routes with the same parameters and the same JSON contract, with no custom glue.
Coverage map
These cards are generated from the active endpoint catalog, so the landing page reflects the same API surface used by Docs and Playground.
/seatgeek/categories
/seatgeek/cities
/seatgeek/event
/seatgeek/events-by-category
/seatgeek/events-near
/seatgeek/performer
Endpoint catalog
/seatgeek/searchFree-text search across SeatGeek's own catalog of events, performers (sports teams, artists, and shows), and venues -- the same call the site's own search box and search-results page use. Any of the three result lists may come back empty for a query with no matches in that type.
Response notes
- `events`, `performers`, and `venues` are each independent result lists; any of the three may come back as a well-formed empty array for a query with no matches in that type, rather than an error. - Each event's `lowest_price` is SeatGeek's own live lowest available secondary-market price for that event; `venue_name`/`venue_location` summarize where it's happening. - Each performer's `event_count` is its total number of scheduled events on SeatGeek. Pass a performer's `id` into `/seatgeek/performer-events` to get its full schedule. - Each venue's `event_count` is its total number of scheduled events at that venue. Example response: ```json { "code": 200, "msg": "OK", "data": { "query": "dodgers", "events": [ { "id": 17695775, "title": "San Francisco Giants at Los Angeles Dodgers", "short_title": "Giants at Dodgers", "type": "mlb", "datetime_local": "2026-09-18T19:10:00", "datetime_utc": "2026-09-19T02:10:00", "venue_name": "UNIQLO Field at Dodger Stadium", "venue_location": "Los Angeles, CA", "lowest_price": 24, "url": "https://seatgeek.com/san-francisco-giants-at-los-angeles-dodgers-tickets/mlb/9-18-2026-los-angeles-california-uniqlo-field-at-dodger-stadium/17695775" } ], "performers": [ { "id": 1, "name": "Los Angeles Dodgers", "short_name": "Dodgers", "type": "mlb", "image": "https://seatgeekimages.com/performers-landscape/los-angeles-dodgers-75122b/1/huge.jpg", "event_count": 222, "url": "https://seatgeek.com/los-angeles-dodgers-tickets" } ], "venues": [ { "id": 1, "name": "UNIQLO Field at Dodger Stadium", "display_location": "Los Angeles, CA", "capacity": 56000, "event_count": 114, "url": "https://seatgeek.com/venues/dodger-stadium/tickets" } ] } } ```
MCP tool seatgeek_search
/seatgeek/eventReturns one SeatGeek event's full detail: title, timing, venue, performers, category taxonomy, and SeatGeek's own live secondary-market pricing snapshot (listing/ticket counts, average/median/lowest/highest price). id is SeatGeek's own numeric event id, obtained from a search or performer-events result. Pricing is an aggregate snapshot only -- no per-seat listing rows and no checkout/purchase flow.
Response notes
- `stats` is an aggregate pricing snapshot only (`listing_count`, `ticket_count`, `average_price`, `median_price`, `lowest_price`, `highest_price`) — this endpoint does not surface per-seat listing rows or any checkout/purchase flow. - `performers` lists every performer on the event; a sports event's away team has `home_team: false`, and the primary performer/home team is marked `primary: true`/`home_team: true`. - `taxonomies` is SeatGeek's own category tree for the event (e.g. `sports` > `baseball` > `mlb`), root to leaf. - An `id` with no matching event returns a 404. Example response: ```json { "code": 200, "msg": "OK", "data": { "id": 17695775, "title": "New York Yankees at Minnesota Twins", "short_title": "Yankees at Twins", "type": "mlb", "datetime_local": "2026-09-15T18:40:00", "datetime_utc": "2026-09-15T23:40:00", "status": "onsale", "is_open": true, "score": 0.72, "url": "https://seatgeek.com/minnesota-twins-tickets/9-15-2026-minneapolis-minnesota-target-field/mlb/17695775", "venue": { "id": 10, "name": "Target Field", "city": "Minneapolis", "state": "MN", "country": "US", "timezone": "America/Chicago", "capacity": 38544, "display_location": "Minneapolis, MN", "url": "https://seatgeek.com/venues/target-field/tickets" }, "performers": [ { "id": 2, "name": "New York Yankees", "type": "mlb", "home_team": false }, { "id": 3, "name": "Minnesota Twins", "type": "mlb", "primary": true, "home_team": true } ], "stats": { "listing_count": 455, "ticket_count": 1967, "average_price": 48, "median_price": 41, "lowest_price": 0, "highest_price": 645 }, "taxonomies": [ { "id": 1000000, "name": "sports" }, { "id": 1010000, "name": "baseball", "parent_id": 1000000 }, { "id": 1010100, "name": "mlb", "parent_id": 1010000 } ] } } ```
MCP tool seatgeek_event
/seatgeek/categoriesReturns SeatGeek's full event-category tree (e.g. Sports > Baseball > MLB, Concerts, Theater), root and leaf nodes together. Each category's id is the value seatgeek-events-by-category's taxonomy_id parameter accepts.
Response notes
- Each category's `id` is the value `/seatgeek/events-by-category`'s `taxonomy_id` parameter accepts. - `parent_id` is omitted (zero) for a root category (e.g. `Sports`). - `event_count`/`performer_count`/`next_event_datetime_utc` are SeatGeek's own live counters for that category, where available. - `total` is the full node count (163 as of 2026-09-15). Example response: ```json { "code": 200, "msg": "OK", "data": { "categories": [ { "id": 1000000, "name": "Sports", "slug": "sports", "is_visible": true, "event_count": 50000, "performer_count": 9000 }, { "id": 1010000, "name": "Baseball", "parent_id": 1000000, "slug": "baseball", "event_count": 4000 }, { "id": 1010100, "name": "MLB", "parent_id": 1010000, "slug": "mlb", "event_count": 3394, "performer_count": 59, "next_event_datetime_utc": "2026-09-15T01:38:00Z" } ], "total": 163 } } ```
MCP tool seatgeek_categories
/seatgeek/events-by-categoryReturns one page of SeatGeek events under a category/taxonomy, soonest first. taxonomy_id is a SeatGeek category id from GET /seatgeek/categories, e.g. 1010100 for MLB.
Response notes
- `total` is SeatGeek's own total count of events under the category, independent of `page`/`per_page`. - Each event in `events` has the same shape as `/seatgeek/event`'s response, including its own pricing `stats` and `taxonomies`. - `taxonomy_id` is not a small fixed enum — it is SeatGeek's own ~163-node category id space, discovered via `/seatgeek/categories`. An id outside that set returns a well-formed empty `events` array with `total: 0`, not an error. Example response: ```json { "code": 200, "msg": "OK", "data": { "taxonomy_id": 1010100, "page": 1, "per_page": 25, "total": 3475, "events": [ { "id": 17695775, "title": "New York Yankees at Minnesota Twins", "datetime_utc": "2026-09-15T23:40:00", "venue": { "id": 10, "name": "Target Field" }, "stats": { "listing_count": 455, "average_price": 48 } } ] } } ```
MCP tool seatgeek_events_by_category
/seatgeek/venueReturns one SeatGeek venue's full detail: address, city/state/country, timezone, capacity, coordinates, and upcoming-event counts. id is SeatGeek's own numeric venue id, obtained from a search or event result.
Response notes
- `location` is a plain `{lat, lon}` coordinate pair. - `stats.event_count` is the venue's total number of scheduled events on SeatGeek. Pass a venue's `id` into `/seatgeek/venue-events` to get its full schedule. - An `id` with no matching venue returns a 404. Example response: ```json { "code": 200, "msg": "OK", "data": { "id": 1, "name": "UNIQLO Field at Dodger Stadium", "slug": "dodger-stadium", "city": "Los Angeles", "state": "CA", "country": "US", "postal_code": "90012", "timezone": "America/Los_Angeles", "capacity": 56000, "display_location": "Los Angeles, CA", "has_upcoming_events": true, "num_upcoming_events": 114, "location": { "lat": 34.0718, "lon": -118.246 }, "stats": { "event_count": 114 }, "url": "https://seatgeek.com/venues/dodger-stadium/tickets" } } ```
MCP tool seatgeek_venue
/seatgeek/venue-eventsReturns one page of a SeatGeek venue's upcoming event schedule, soonest first. venue_id is SeatGeek's own numeric venue id, obtained from a search or event result (e.g. 1 for UNIQLO Field at Dodger Stadium).
Response notes
- `total` is SeatGeek's own total count of upcoming events at the venue, independent of `page`/`per_page`. - Each event in `events` has the same shape as `/seatgeek/event`'s response, including its own pricing `stats` and `taxonomies`. - A venue with no upcoming events returns a well-formed empty `events` array with `total: 0`, not an error. Example response: ```json { "code": 200, "msg": "OK", "data": { "venue_id": 1, "page": 1, "per_page": 25, "total": 114, "events": [ { "id": 18200001, "title": "San Francisco Giants at Los Angeles Dodgers", "datetime_utc": "2026-09-19T02:10:00", "venue": { "id": 1, "name": "UNIQLO Field at Dodger Stadium" }, "stats": { "listing_count": 320, "average_price": 62 } } ] } } ```
MCP tool seatgeek_venue_events
/seatgeek/performerReturns one SeatGeek performer's (sports team, artist, or show) full detail by direct id lookup: name, type, image, popularity, home venue id, upcoming-event counts, and category taxonomy. id is SeatGeek's own numeric performer id, obtained from a search result. Use this when you already have a bare performer id and want to skip a search round-trip; seatgeek-search returns the same fields for a query.
Response notes
- Use this when you already have a bare performer id and want to skip a search round-trip — `/seatgeek/search` returns the same fields for a text query. - `home_venue_id` (sports teams only) pairs with `/seatgeek/venue` to get the team's home venue's full detail. - `event_count`/`num_upcoming_events` are SeatGeek's own live counters for the performer. - An `id` with no matching performer returns a 404. Example response: ```json { "code": 200, "msg": "OK", "data": { "id": 1, "name": "Los Angeles Dodgers", "short_name": "Dodgers", "type": "mlb", "image": "https://seatgeekimages.com/performers-landscape/los-angeles-dodgers-75122b/1/huge.jpg", "url": "https://seatgeek.com/los-angeles-dodgers-tickets", "home_venue_id": 1, "has_upcoming_events": true, "num_upcoming_events": 221, "event_count": 221, "taxonomies": [ { "id": 1000000, "name": "sports" }, { "id": 1010000, "name": "baseball", "parent_id": 1000000 }, { "id": 1010100, "name": "mlb", "parent_id": 1010000 } ] } } ```
MCP tool seatgeek_performer
/seatgeek/performer-eventsReturns one page of a SeatGeek performer's (sports team, artist, or show) upcoming event schedule, soonest first. performer_id is SeatGeek's own numeric performer id, obtained from a search result (e.g. 1 for the Los Angeles Dodgers).
Response notes
- `total` is SeatGeek's own total count of upcoming events for the performer, independent of `page`/`per_page`. - Each event in `events` has the same shape as `/seatgeek/event`'s response, including its own pricing `stats` and `taxonomies`. - A performer with no upcoming events returns a well-formed empty `events` array with `total: 0`, not an error. Example response: ```json { "code": 200, "msg": "OK", "data": { "performer_id": 2, "page": 1, "per_page": 25, "total": 188, "events": [ { "id": 17695775, "title": "New York Yankees at Minnesota Twins", "datetime_utc": "2026-09-15T23:40:00", "venue": { "id": 10, "name": "Target Field" }, "stats": { "listing_count": 455, "average_price": 48 } } ] } } ```
MCP tool seatgeek_performer_events
/seatgeek/citiesReturns SeatGeek's own curated "browse by city" directory (87 metro areas as of 2026-09-15): id, name, state, country, coordinates, and which verticals (concerts/sports/theater) it supports. Each city's lat/lon pairs directly with GET /seatgeek/events-near.
Response notes
- Each city's `lat`/`lon` pairs directly with `/seatgeek/events-near`'s `lat`/`lon` parameters. - `show_concerts`/`show_sports`/`show_theater` are SeatGeek's own flags for which verticals that city page surfaces — not every city shows all three. - `radius` is SeatGeek's own default search radius for that city (e.g. `"20mi"`), as a string. Example response: ```json { "code": 200, "msg": "OK", "data": { "cities": [ { "id": 72, "name": "Albuquerque", "slug": "albuquerque", "state": "New Mexico", "country": "United States", "lat": 35.08794, "lon": -106.6357, "radius": "20mi", "show_concerts": true, "show_sports": true, "show_theater": true } ], "total": 87 } } ```
MCP tool seatgeek_cities
/seatgeek/events-nearReturns one page of SeatGeek events near a coordinate, soonest first -- the same call its city pages and homepage location-based sections make. Pair with GET /seatgeek/cities for a curated list of coordinates, or pass any coordinate directly.
Response notes
- `total` is SeatGeek's own total count of events near the coordinate, independent of `page`/`per_page`. - `geolocation` is SeatGeek's own reverse-geocode of the requested coordinate (city, state, country, and the search radius it applied) — the same info its city pages use to label the search. - Each event in `events` has the same shape as `/seatgeek/event`'s response, including its own pricing `stats` and `taxonomies`. Example response: ```json { "code": 200, "msg": "OK", "data": { "page": 1, "per_page": 25, "total": 569, "geolocation": { "city": "Albuquerque", "state": "NM", "country": "US", "display_name": "Albuquerque, NM", "range": "50mi" }, "events": [ { "id": 17807813, "title": "Salt Lake Bees at Albuquerque Isotopes", "datetime_utc": "2026-09-15T23:00:00" } ] } } ```
MCP tool seatgeek_events_near
/seatgeek/trendingReturns SeatGeek's own geo-personalized "trending near you" event feed for a coordinate -- the same list its homepage renders.
Response notes
- `items[].rank`/`rank_change` reflect SeatGeek's own current ranking and its movement. - `items[].lowest_price` is the entity's live lowest available secondary-market price, where available. - `list_id`/`list_type`/`list_display_name` describe which of SeatGeek's own curated lists was returned (currently always a DMA-based "trending" list). Example response: ```json { "code": 200, "msg": "OK", "data": { "list_id": "trending_events_dma", "list_type": "trending", "list_display_name": "Trending near you", "items": [ { "entity_type": "event", "entity_id": 18116891, "entity_name": "Commanders at Cowboys", "entity_url": "https://seatgeek.com/dallas-cowboys-tickets/9-20-2026-arlington-texas-at-t-stadium/nfl/18116891", "event_datetime_local": "2026-09-20T15:25:00", "event_datetime_utc": "2026-09-20T20:25:00Z", "lowest_price": 35, "rank": 1, "rank_change": 0 } ] } } ```
MCP tool seatgeek_trending
Related APIs
Media & Streaming
Research streaming catalogs, title availability, providers, offers, seasons, episodes, and release changes from JustWatch with normalized JSON.
Media & Streaming
Turn Apple Books ebook and audiobook pages into structured data — search, catalog detail, paginated customer reviews, similar titles, author bibliographies, series listings, and chart rankings as normalized JSON. Credential-free.
Media & Streaming
Search public Ticketmaster events and browse the full discovery hierarchy by category or city, with pagination plus event, attraction, and venue detail endpoints -- including fan reviews, related attractions, trending attractions, and enhanced venue branding -- for live-entertainment research.
How to scrape SeatGeek
SeatGeek organizes public ticket-resale inventory across sports, concerts, and theater, plus a curated city directory and a full category taxonomy. Crawlora exposes that discovery structure and its own live secondary-market pricing snapshot as documented JSON endpoints.
Search by keyword across events, performers, and venues; list every category in SeatGeek's own taxonomy; browse a venue's or performer's schedule directly; or pull events by coordinate or SeatGeek's own curated 87-metro city directory.
Pass the documented page parameter to performer, venue, category, or geo routes to collect deeper result pages.
Resolve event, venue, and performer identifiers into structured detail records, each with SeatGeek's own live secondary-market pricing snapshot -- listing count, ticket count, and average/median/lowest/highest price.
Pull SeatGeek's own geo-personalized "trending near you" feed for a coordinate -- the same list its homepage renders.
Use SeatGeek's curated city directory or pass any coordinate directly to the geo-proximity events route.
Re-run saved searches or discovery routes to track newly listed events, dates, venues, and pricing-snapshot changes.
FAQ
Yes. One search endpoint returns matching events, performers, and venues in a single call, sourced from SeatGeek's own search.
Yes. List every category in SeatGeek's own taxonomy, then page through a category's, venue's, or performer's events with the documented page parameter.
Yes. Crawlora provides separate detail routes for public events, venues, and performers. Each event includes SeatGeek's own live secondary-market pricing snapshot -- listing count, ticket count, and average/median/lowest/highest price.
No. Pricing is SeatGeek's own aggregate snapshot for an event (listing/ticket counts and price statistics), not individual seat-level listing rows, and this API does not touch any checkout or purchase flow.
Yes. The trending route returns SeatGeek's own geo-personalized "trending near you" feed for a coordinate, and a separate geo-proximity route browses events near any coordinate, soonest first.
No. Crawlora is not affiliated with SeatGeek and provides structured extraction for supported public SeatGeek pages. Use SeatGeek's official developer products when you require an official licensed integration.
Not really. SeatGeek's official Platform API is built around affiliate ticket sales -- a 50/50 revenue-share program whose API Terms explicitly bar displaying listings from other ticket sellers -- so it can't power a cross-seller price-comparison or resale-market research tool the way read-only market data can.