SeatGeek maintains a comprehensive directory of live events in the United States and Canada (and to a lesser degree, internationally). We created the SeatGeek Platform to enable others to build on top of that data. The SeatGeek Platform makes it easy to construct applications that help users find and discover events by exposing the wealth of data and powerful search behind SeatGeek.com in an easy-to-consume format.
|
|
Overview
The Platform's API follows RESTful principles as closely as possible while allowing for flexible queries.
All responses can be served in JSON, JSONP or XML. The API makes extensive use of query strings to retrieve resources based around various search criteria.
All arguments, unless specifically noted, can be used together to create complex queries
Table of Contents
|
API Endpoint
https://api.seatgeek.com/2
Resource Endpoints
/events
/events/{EVENT_ID}
/performers
/performers/{PERFORMER_ID}
/venues
/venues/{VENUE_ID}
|
Authentication
Once you have received a client_id and client_secret from the SeatGeek Developers Page
you have two options to authenticate yourself during calls.
|
Query String Parameters
Your can add client_id and optionally client_secret to the end of any valid url to authenticate
your request.
Basic Auth
As an alternative to the query string, you can use HTTP Basic Auth , which is supported in most clients, to pass
your client_id and optionally your client_secret . An example using curl can be found to the right
|
Query String
curl https://api.seatgeek.com/2/events?client_id=MYCLIENTID
curl https://api.seatgeek.com/2/events?client_id=MYCLIENTID&client;_secret=MYCLIENTSECRET
Basic Auth
curl https://api.seatgeek.com/2/events -u MYCLIENTID:
curl https://api.seatgeek.com/2/events -u MYCLIENTID:MYCLIENTSECRET
|
Responses
The API provides two basic types of response documents: (i) a single resource response document and (ii) a bulk resource response document. The former returns a single document of the requested resource. This type of document is only returned when attempting to access a document with a https://api.seatgeek.com/2/events/{EVENT_ID} style request.
A bulk resource response document will include an array of single resource documents along with some additional meta information about the response. If no resources are found, meta information will be returned with an empty resources array.
|
Document Formats
format: optional, default is json
Acceptable arguments are json and xml
callback: optional, default is null
If a callback is provided, the response will be forced to be json , and your response document will be wrapped with your callback argument.
|
Example Request
$ curl 'https://api.seatgeek.com/2/events/739515?callback=fireEvent'
Example Response
fireEvent({
"stats": {...},
"title": "Houston Rodeo Livestock Show and Rodeo (Zac Brown Band Performance)",
"url": "/houston-rodeo-livestock-show-and-rodeo-zac-brown-band-performance-tickets/sports/2012-03-12/739515/",
"datetime_local": "2012-03-12T18:45:00",
"performers": [...],
"venue": {...},
"short_title": "Houston Rodeo Livestock Show and Rodeo (Zac Brown Band Performance)",
"datetime_utc": "2012-03-12T23:45:00",
"score": 267.608,
"taxonomies": [...],
"type": "sports",
"id": 739515
})
Example Request
$ curl 'https://api.seatgeek.com/2/events/739515?format=xml'
Example Response
<event>
<stats>
...
</stats>
<title>
Houston Rodeo Livestock Show and Rodeo (Zac Brown Band Performance)
</title>
<url>
/houston-rodeo-livestock-show-and-rodeo-zac-brown-band-performance-tickets/sports/2012-03-12/739515/
</url>
<datetime_local>2012-03-12T18:45:00</datetime_local>
<performers>
<performer>
...
</performer>
</performers>
<venue>
...
</venue>
<short_title>
Houston Rodeo Livestock Show and Rodeo (Zac Brown Band Performance)
</short_title>
<datetime_utc>2012-03-12T23:45:00</datetime_utc>
<score>267.608</score>
<taxonomies>
...
</taxonomies>
<type>sports</type>
<id>739515</id>
</event>
|
Meta
Each bulk response is appended with meta information
- took:
- Response time in milliseconds
- geolocation:
- Details about the results of geolocation.
null if geolocation not requested, or unsuccessful.
- per_page:
- Number of documents per page
- total:
- Total number of matched documents
- page:
- Current paginated page number
|
Example Response
{
"meta": {
"took": 3,
"geolocation": null,
"per_page": 1,
"total": 63236,
"page": 1
},
"events": [
{...}
]
}
|
API Features
The SeatGeek API supports sorting, pagination, and geolocation. Geolocation is only available for resources with a location attribute (in other words, not /performers ).
|
Geolocation
The API can geolocate requests based on a user's IP address, postal code (currently, only US and Canadian postal codes are supported), or latitude and longitude. In order to geolocate a request, either geoip or both lat and lon must be provided. Details about geolocation will be returned in the meta document.
Arguments
geoip: optional, default is false
- Accepts one of: a valid IP address (useful when making a request server-side on behalf of a client); a valid US or Canadian postal code; or
true , to attempt to geolocate by the requesting client's IP (useful when calling directly from a browser).
lat: optional, lon is required if used
- Latitude in decimal degrees.
lon: optional, lat is required if used
- Longitude in decimal degrees.
range: optional, default is 30mi
- The number of miles (or kilometers, with
km ) to search around the location
|
Definition
GET https://api.seatgeek.com/2/events?geoip=true
Example Request
$ curl 'https://api.seatgeek.com/2/events?geoip=98.213.245.205&range=12mi'
Example Response
{
"meta": {
"geolocation": {
"lat": 42.2711,
"lon": -89.0593,
"range": "12mi"
},
"took": 5,
"per_page": 10,
"total": 13320,
"page": 1
},
"events": [
{...}
]
}
|
Pagination
The SeatGeek Platform API has built in pagination support.
Arguments
per_page: optional, default is 10
- Number of resource documents to return per "page"
page: optional, default is 1
- Page number, 1-indexed
|
Definition
GET https://api.seatgeek.com/2/venues?per_page=25&page=3
Example Request
$ curl 'https://api.seatgeek.com/2/venues?per_page=25&page=3'
Example Response
{
"meta": {
"took": 5,
"geolocation": null,
"per_page": 25,
"total": 13320,
"page": 3
},
"venues": [
{...}
]
}
|
Sorting
The SeatGeek Platform API has basic support for sorting the response result set.
Arguments
sort: optional, defaults vary by resource
By default events are sorted by sort=datetime_utc.asc , venues and performers are sorted by sort=score.desc .
This argument takes two parameters, the field which to sort by and the direction of the sort separated with a . (period character). Valid sort directions are asc and desc . Valid fields are datetime_local , datetime_utc , announce_date , id and score
|
Definition
GET https://api.seatgeek.com/2/events?sort=score.desc
Example Request
$ curl 'https://api.seatgeek.com/2/events?sort=score.desc'
|
Filtering
The SeatGeek Platform API has basic support for filtering the response result set.
Filtering is only available on the events endpoint.
By default events are not filtered. You can filter the results based on listing_count , average_price , lowest_price , and highest_price . These filters work the same way as the date-based filtering. For example: you can append listing_count.gt=0 to return only events that have ticket listings, or highest_price.lte=20 to return events with a highest ticket price of $20 or less.
|
Definition
GET https://api.seatgeek.com/2/events?listing_count.gt=0
Example Request
$ curl 'https://api.seatgeek.com/2/events?listing_count.gt=0'
|
Score
Most document types include a score field. The score field is used to indicate the document's relative popularity within its type. score is a floating point value in 0 <= score <= 1 .
Currently score values for event s, venue s and performer s are based on estimated sales volume on the secondary ticket market (normalized such that the most popular document has a score of 1 ).
In the future, it's likely we'll introduce document types which don't have a meaningful concept of sales volume. We also reserve the right to change the method we use to calculate score . What this means for you as a developer is that your application shouldn't be overly reliant on particular score values, or the distribution of scores within (or across) document types.
|
|
Partners
The SeatGeek Platform API has built–in support for partners.
Arguments
aid: optional, default is null
Adding the aid argument will append an aid to all URLs
rid: optional, default is null
Adding the rid argument will append an rid to all URLs
|
Definition
GET https://api.seatgeek.com/2/events?aid=123
Example Request
$ curl 'https://api.seatgeek.com/2/events?aid=123'
$ curl 'https://api.seatgeek.com/2/events?rid=321'
$ curl 'https://api.seatgeek.com/2/events?aid=12332&rid=123'
|
Events
To find an events matching specific search criteria you must send a request to the /events endpoint. Sending a request to /events will return a paginated list of all events.
All arguments can be used with each other with the exception of the id argument. id can only be used with the API-wide arguments such as pagination and sorting.
Getting an event by id
To get a single event document, simply add the ID of the event to the URL
The Events Response Document
- stats:
- Summary information about currently available ticket listings for the event
- title:
- The title of the event
- url:
- URL of the event on seatgeek.com – you should direct users here to search for tickets
- datetime_local:
- Date/time of the event in the local timezone of the venue – you will generally want to display this to users
Note: When the time of an event is TBD (see time_tbd below), the API will use a sentinel time of 3:30 AM. Ensure that your code checks time_tbd and displays events appropriately.
- datetime_utc:
- Date and time of the event in UTC
- announce_date:
- Date this event was announced publicly
- visible_until:
- Event is valid for diplay until this datetime (UTC). Properly accounts for expiration policies for sports/music and events which are time_tbd
- time_tbd:
- A boolean flag to signify that an event has a "to be determined" time. If this is
True , datetime_local will contain the sentinel value of 3:30am as well as the correct date
- date_tbd:
- A boolean flag to signify that an event has a "to be determined" date. If this is
True , datetime_utc and datetime_local should be treated as estimates
- datetime_tbd:
- DEPRECATED. Will be removed
- performers:
- An list of performers –
primary , home_team , away_team fields indicate the performer's role at the event
- venue:
- A venue response document
- short_title:
- A shortened title for the event
- score:
- A numerical representation of popularity based on ticket sales
- taxonomies:
- An array of taxonomies referencing the event
- type:
- Type of event
- id:
- A unique integer identifier for the event
|
Definition
GET https://api.seatgeek.com/2/events/801255
Example Request
$ curl 'https://api.seatgeek.com/2/events/801255'
Example Response Document
{
"stats": {
"listing_count": 161,
"average_price": 97,
"lowest_price": 62,
"highest_price": 296
},
"title": "Young The Giant with Grouplove",
"url": "https://seatgeek.com/young-the-giant-with-grouplove-tickets/new-york-new-york-terminal-5-2012-03-09/concert/721901/",
"datetime_local": "2012-03-09T19:00:00",
"performers": [
{
"name": "Young The Giant",
"short_name": "Young The Giant",
"url": "https://seatgeek.com/young-the-giant-tickets/",
"image": "https://chairnerd.global.ssl.fastly.net/images/bandshuge/band_8741.jpg",
"images": {
"large": "https://chairnerd.global.ssl.fastly.net/images/performers/8741/eec61caec82950448b257c5e539147bc/large.jpg",
"huge": "https://chairnerd.global.ssl.fastly.net/images/performers/8741/555bce1815140ad65ab0b1066467ae7d/huge.jpg",
"small": "https://chairnerd.global.ssl.fastly.net/images/performers/8741/af7a8925e50bb74315337a9450206a39/small.jpg",
"medium": "https://chairnerd.global.ssl.fastly.net/images/performers/8741/686f925886504610936135abd240235c/medium.jpg"
},
"primary": true,
"id": 8741,
"score": 6404,
"type": "band",
"slug": "young-the-giant"
},
{
"name": "Grouplove",
"short_name": "Grouplove",
"url": "https://seatgeek.com/grouplove-tickets/",
"image": null,
"images": null,
"id": 8987,
"score": 4486,
"type": "band",
"slug": "grouplove"
}
],
"venue": {
"city": "New York",
"name": "Terminal 5",
"extended_address": null,
"url": "https://seatgeek.com/terminal-5-tickets/",
"country": "US",
"state": "NY",
"score": 149.259,
"postal_code": "10019",
"location": {
"lat": 40.77167,
"lon": -73.99277
},
"address": null,
"id": 814
},
"short_title": "Young The Giant with Grouplove",
"datetime_utc": "2012-03-10T00:00:00",
"score": 116.977,
"taxonomies": [
{
"parent_id": null,
"id": 2000000,
"name": "concert"
}
],
"type": "concert",
"id": 721901
}
}
|
performers Argument
The performers argument is used to scope the result set to specific performers. The performers argument may be used several times in the same query.
There are currently two fields available to specify how to look up performers. These are id and slug . These fields can be used interchangeably in the same query. See examples.
To make an OR query, a list of performer ids separated by commas can be passed to performers.id
performers.{FIELD}: optional, default is null
-
The simplest query to the performers argument looks like this: /events?performers.slug=new-york-mets . This will return all events where the New York Mets are participating.
performers[{SPECIFICITY}].{FIELD}: optional, default is 'any ' if the performers argument is present
-
Specificity can be any of the following: home_team , away_team , primary , or any
Primary could be useful when searching concerts for a headlining performer.
|
Example Requests
New York Mets Games
$ curl 'https://api.seatgeek.com/2/events?performers.slug=new-york-mets'
Mets vs. Yankees Games
$ curl 'https://api.seatgeek.com/2/events?performers.slug=new-york-mets&performers=new-york-yankees'
Yankees at. Mets Games
$ curl 'https://api.seatgeek.com/2/events?performers[home_team].id=3&performers.id=8'
Mets vs. Yankees Games (mixed fields)
$ curl 'https://api.seatgeek.com/2/events?performers.id=3&performers.slug=new-york-yankees'
Mets or Yankees Games
$ curl 'https://api.seatgeek.com/2/events?performers.id=3,8'
|
venue Argument
The venue argument is used to scope the result set to a specific venue or to venues with specific properties. Any of the fields for searching for venues may be used with the venue argument (e.g. venue.city , venue.id , or venue.state ).
To make an OR query, a list of venue ids separated by commas can be passed to venue.id
|
Example Requests
Events in NY state
$ curl 'https://api.seatgeek.com/2/events?venue.state=NY'
Events at CitiField or Yankee Stadium
$ curl 'https://api.seatgeek.com/2/events?venue.id=3,8'
|
datetime Argument
The datetime argument is used to scope the result set to events occurring within a certain date and time range. The datetime argument may be used zero, one, or two times in a query. You can scope the date to a range using operators.
There are two distinct datetime arguments that both offer identical options. You can scope the search to datetime_local or datetime_utc . All of the examples will use datetime_utc , however datetime_local can be replaced in all instances.
There are currently two allowed date/time formats. The first is a full ISO 8601 string (YYYY-MM-DDTHH:MM:SS). The other is a simple date string of the format of YYYY-MM-DD, which gets treated as YY-MM-DDT00:00:00.
datetime_utc: optional, default is null
-
Returns all events with an exact matching date.
datetime_utc.{OPERATOR}: optional, default is null
-
Valid operators are gt , gte , lt , and lte
|
Example Requests
Events at midnight on June 12, 2012
$ curl 'https://api.seatgeek.com/2/events?datetime_utc=2012-06-12'
Events from Sept 7, 2012 onward
$ curl 'https://api.seatgeek.com/2/events?datetime_utc.gt=2012-09-07'
Events in April 2012
$ curl 'https://api.seatgeek.com/2/events?datetime_utc.gte=2012-04-01&datetime_utc.lte=2012-04-30'
|
query Argument
The q argument is used to search across all possible parts of a response document.
q: optional, default is null
-
This is a very broad search, and will possibly return unexpected results. For example, a query for 'madison', will return all events at any venue in Madison, WI, venues with Madison in their name (Madison Square Garden), and any performer with 'Madison' in their title.
The q argument also allows for some natural language queries such as yankees march , or skrillex on june 4th
|
Example Requests
Matches 'boston celtics'
$ curl 'https://api.seatgeek.com/2/events?q=boston+celtics'
Matches 'Coachella'
$ curl 'https://api.seatgeek.com/2/events?q=coachella'
|
id Argument
The id argument is used to match events with specified unique ids. It can be used multiple times in the same request.
Note: Using this argument will override all other query arguments.
id: optional, default is null
-
This argument has two purposes. You can use it to force a single response document into the bulk response document. Alternatively you can use it to bulk retrieve events with known unique ids.
This argument also has an alternate syntax. You can pass a comma separated list of unique ids.
|
Example Requests
Bulk Document Response for 785673
$ curl 'https://api.seatgeek.com/2/events?id=785673'
Events 785673, 771261, and 760304
$ curl 'https://api.seatgeek.com/2/events?id=760304&id=771261&id=785673'
Alternate of above
$ curl 'https://api.seatgeek.com/2/events?id=760304,771261,785673'
|
taxonomies Argument
The taxonomies argument is used to scope the result set to events matching a specific type. You can find the list of currently available taxonomies at the taxonomies endpoint. You can search across multiple taxonomies by adding multiple taxonomies arguments to your query
taxononmies.{FIELD}: optional, default is null
-
{FIELD} can be name , id , and parent_id
Accepts one of several type s.
|
Example Requests
Sporting Events
$ curl 'https://api.seatgeek.com/2/events?taxonomies.name=sports'
Monster Truck Events
$ curl 'https://api.seatgeek.com/2/events?taxonomies.name=monster_truck'
Sports or Concerts
$ curl 'https://api.seatgeek.com/2/events?taxonomies.name=sports&taxonomies.name=concert
Monster Truck Events (by taxonomy id)
$ curl 'https://api.seatgeek.com/2/events?taxonomies.id=1060400'
|
Performers
To find a performer matching your search criteria you will send a request to the /performers endpoint. Sending a request to /performers will return a paginated list of all performers.
All arguments can be used with each other with the exception of the id argument. id can only be used with API-wide arguments, such as those for pagination and sorting.
Getting a performer by id
To get a single performer document, simply add the ID of the performer to the URL.
The Performers Response Document
- name:
- Name of the performer
- short_name:
- A short name for the performer
- url:
- URL to the performer
- image:
- URL to an image of the performer
- images:
- A dict of performer images varying by size. Only available key
- score:
- A numerical representation of popularity
- slug:
- Short URL-friendly name for the performer
- taxonomies:
- An array of taxonomies referencing the performer
- id:
- Unique identifier of the performer
- has_upcoming_events:
- Does the performer have any upcoming events in the SeatGeek API?
- links:
- A list of link documents which allow you to easily map performers on SeatGeek to their profiles on other services across the web. Link documents contain a field indicating the provider and will generally contain a url and/or an ID. The currently supported providers are Spotify and Last.fm.
- divisions
- A list of documents corresponding to league/conference/division membership among teams. Only relevant to some sports performers
- genres
- A list of genres associated with a performer. Only relevant to some music performers
|
Definition
GET https://api.seatgeek.com/2/performers/266
Example Request
$ curl 'https://api.seatgeek.com/2/performers/266'
|
slug Argument
The slug argument is used to scope the result to a performer matching a slug.
slug: optional, default is null
-
A query to the slug argument looks like this: /performers?slug=new-york-mets . This will return a performer document matching the New York Mets
|
Example Requests
New York Mets
$ curl 'https://api.seatgeek.com/2/performers?slug=new-york-mets'
|
query Argument
The q argument is used to search across all possible parts of a response document.
q: optional, default is null
-
This is a very broad search, and, like events and venues, will possibly return unexpected results.
|
Example Requests
Matches 'red hot'
$ curl 'https://api.seatgeek.com/2/performers?q=red+hot'
Matches 'skrillex'
$ curl 'https://api.seatgeek.com/2/performers?q=skrillex'
|
id Argument
The id argument is used to match performers with specified unique ids. It can be used multiple times in the same request.
Note: Using this argument will override all other query arguments.
id: optional, default is null
-
This argument has two purposes. You can use it to force a single response document into the bulk response document. Alternatively, you can use it to bulk retrieve events with known unique ids.
This argument also has an alternate syntax. You can pass a comma separated list of unique ids.
|
Example Requests
Bulk Document Response for 1169
$ curl 'https://api.seatgeek.com/2/performers?id=1169'
Venues 2090, 9525, and 6393
$ curl 'https://api.seatgeek.com/2/performers?id=2090&id=9525&id=6393'
Alternate of above
$ curl 'https://api.seatgeek.com/2/performers?id=2090,9525,6393'
|
taxonomies Argument
The taxonomies argument is used to scope the result set to performers matching a specific type. You can find the list of currently available taxonomies at the taxonomies endpoint.
taxonomies.{FIELD}: optional, default is null
-
{FIELD} can be name , id , and parent_id
Accepts one of several type s.
|
Example Requests
Sporting Events
$ curl 'https://api.seatgeek.com/2/performers?taxonomies.name=sports'
Monster Truck Events
$ curl 'https://api.seatgeek.com/2/performers?taxonomies.name=monster_truck'
Monster Truck Events (by taxonomy id)
$ curl 'https://api.seatgeek.com/2/performers?taxonomies.id=1060400'
|
genres Argument
The genres argument is used to scope the result set to performers matching a specific genre. You can find the list of currently available genres at the /genres endpoint.
Each performer has a primary genre as well as potentially several other genres attached to it
genres.slug optional, default is null
-
slug can be any slug associated with a seatgeek music genre
|
Example Requests
Rock Bands
$ curl 'https://api.seatgeek.com/2/performers?genres.slug=rock'
Rock Bands (2)
$ curl 'https://api.seatgeek.com/2/performers?genres[primary].slug=rock'
|
Venues
To find a venue matching your search criteria you will send a request to the /venues endpoint. Sending a request to /venues will return a paginated list of all performers.
All arguments can be used with each other, with the exception of the id argument. id can only be used with the API-wide arguments, such as those for pagination and sorting.
Getting a venue by id
To get a single venue document, simply add the ID of the performer to the URL
The Venue Response Document
- name:
- Name of the venue
- address:
- "Line 1" of the venue's address
- extended_address:
- "Line 2" of the venue's address
- city:
- City of the venue
- postal_code:
- Postal code of the venue
- state:
- State of the venue
- country:
- Country of the venue
- location:
An dictionary of geolocation information for the venue that contains lat and lon
- url:
- URL to the venue on seatgeek.com
- score:
- A numerical representation of popularity
- id:
- A unique integer identifier of the venue
|
Definition
GET https://api.seatgeek.com/2/venues/632
Example Request
$ curl 'https://api.seatgeek.com/2/venues/632'
|
city Argument
The city argument is used to scope the result to a specified city.
city: optional, default is null
-
A query to the city argument looks like this: /venues?city=rockford . This will return documents for venues located in "Rockford."
|
Example Requests
Rockford
$ curl 'https://api.seatgeek.com/2/venues?city=rockford'
|
state Argument
The state argument is used to scope the result to a specified state.
state: optional, default is null
-
A query to the state argument looks like this: /venues?state=IL . This will return documents for venues located in Illinois.
The two letter state abbreviation should be used for this query.
|
Example Requests
Venues in Illinois
$ curl 'https://api.seatgeek.com/2/venues?state=il'
|
country Argument
The country argument is used to scope the result to a specified country.
country: optional, default is null
-
A query to the country argument looks like this: /venues?country=US . This will return documents for venues located in the United States.
The two letter country code should be used for this query.
|
Example Requests
Venues in the US
$ curl 'https://api.seatgeek.com/2/venues?country=US'
|
postal_code Argument
The postal_code argument is used to scope the result to a specified postal/zip code.
postal_code: optional, default is null
-
A query to the postal_code argument looks like this: /venues?postal_code=90210 . This will return documents for venues located in 90210.
|
Example Requests
Rockford
$ curl 'https://api.seatgeek.com/2/venues?postal_code=90210'
|
query Argument
The q argument is used to search across all possible parts of a response document.
q: optional, default is null
-
This is a very broad search, and, like events and performers, will possibly return unexpected results.
|
Example Requests
Matches 'madison'
$ curl 'https://api.seatgeek.com/2/venues?q=madison'
|
id Argument
The id argument is used to match venues with specified unique ids. It can be used multiple times in the same request.
Note: Using this argument will override all of your other query arguments
id: optional, default is null
-
This argument has two purposes. You can use it to force a single response document into the bulk response document. Alternatively you can use it to bulk retrieve events with known unique ids.
This argument also has an alternate syntax. You can pass a comma separated list of unique ids.
|
Example Requests
Bulk Document Response for 1130
$ curl 'https://api.seatgeek.com/2/venues?id=1130'
Venues 1130, 128, and 93
$ curl 'https://api.seatgeek.com/2/venues?id=1130&id=128&id=93'
Alternate of above
$ curl 'https://api.seatgeek.com/2/venues?id=1130,128,93'
|
Taxonomies
To retrieve a list off all available taxonomies available for taxonomy filtering simply call the taxonomies endpoint.
The Taxonomies Response Document
- parent_id:
- Identifier of a parent taxonomy
- name:
- The name of the taxonomy
- id:
- A unique integer identifier for the taxonomy
|
Definition
GET https://api.seatgeek.com/2/taxonomies
Example Request
$ curl 'https://api.seatgeek.com/2/taxonomies'
|
Recommendations
The SeatGeek API supports retrieval of recommended events based on one of several different 'seed' types.
A seed can be thought of as "X in the request, "give me events similar to X".
To find recommended events, send a request to the /recommendations endpoint with a seed
and any of the supported parameters from the events endpoint. This will
return a paginated list of recommendation documents, each of which contains
a single event and a affinity score. Recommendations are returned sorted by score, highest to lowest.
Authentication
The recommendations endpoint
requires an API key. You can request an API key here (Note: You will
need to create a SeatGeek account to proceed)
Only your public key is required, and should be added to your API request using the client_id query parameter. See example.
Supported Seed Types
performers.id - one or more performer ids
events.id - one event id
Geolocation
Geolocation is required on the /recommendations endpoint. Location is used both to filter the resulting
set of recommendations and to score those recommendations (i.e. a closer event will have a higher affinity score than an
identical event which is further away). The following geolocation parameters are available
geoip: optional, default is false
- Accepts one of: a valid IP address (useful when making a request server-side on behalf of a client); a valid US or Canadian postal code; or
true , to attempt to geolocate by the requesting client's IP (useful when calling directly from a browser).
lat: optional, lon is required if used
- Latitude in decimal degrees.
lon: optional, lat is required if used
- Longitude in decimal degrees.
postal_code optional
- Valid US or Canadian Postal (zip) code
range : optional, default is 200mi
- Only return events within a given radius of the geolocation point
Additional Arguments
To restrict the set of events returned, most of the query parameters valid on the events
endpoint are also valid on the recommendations endpoint
datetime_utc and datetime_local
- Restricts recommendations by date. Valid operators are
lt , gt , lte , gte
venue.id and venue.slug
- Restricts recommendations to a specific venue
taxonomies.id and taxonomies.name
- Restricts recommendations to a specific taxonomy
|
Definition
GET https://api.seatgeek.com/2/recommendations
Events Similar To Taylor Swift In New York
$ curl 'https://api.seatgeek.com/2/recommendations?performers.id=35&postal;_code=10014&client;_id=YOUR_KEY'
Events Similar To The New York Knicks In Los Angeles
$ curl 'https://api.seatgeek.com/2/recommendations?performers.id=2090&postal;_code=90001&client;_id=YOUR_KEY'
Music Festivals Similar To Franz Ferdinand In Indio, CA In April
$ curl 'https://api.seatgeek.com/2/recommendations?performers.id=93&postal;_code=92201&datetime;_local.gte=2013-04-01&datetime;_local.lt=2013-05-01&taxonomies.id;=2010000&client;_id=YOUR_KEY'
Events Similar To Bruce Springsteen + The Zac Brown Band in Chicago
$ curl 'https://api.seatgeek.com/2/recommendations?performers.id=2047&performers.id;=4275&postal;_code=60651&client;_id=YOUR_KEY'
Events Similar To An Event In New York
$ curl 'https://api.seatgeek.com/2/recommendations?events.id=1162104&postal;_code=10014&client;_id=YOUR_KEY'
Example Response Document
{
"recommendations" : [
{
score: 0.24,
event: {
id: 1327132,
title: "Galactic",
...
}
},
{
score: 0.07,
event: {
id: 1333644,
title: "Talib Kweli",
...
}
}
]
}
|
Recommended Performers
The SeatGeek API supports retrieval of recommended performers based on one of several different 'seed' types.
A seed can be thought of as "X in the request, "give me performers similar to X". The semantics are very similar
to those for recommended events (see above)
To find recommended performers, send a request to the /recommendations/performers endpoint with a seed
This will
return a paginated list of recommendation documents, each of which contains
a single performer and an affinity score. Recommendations are returned sorted by score, highest to lowest.
Authentication
The recommendations/performers endpoint
requires an API key. You can request an API key here (Note: You will
need to create a SeatGeek account to proceed)
Only your public key is required, and should be added to your API request using the client_id query parameter. See example.
Supported Seed Types
performers.id - one or more performer ids
events.id - one event id
Note: If a performer is used as a seed, that performer will be excluded from the response set. However if an event is used as a seed, the
performers associated with that event may (and likely will) be returned.
|
Definition
GET https://api.seatgeek.com/2/recommendations
Performers Similar To Taylor Swift
$ curl 'https://api.seatgeek.com/2/recommendations/performers?performers.id=35&client;_id=YOUR_KEY'
Performers Similar To Taylor Swift and Justin Bieber
$ curl 'https://api.seatgeek.com/2/recommendations/performers?performers.id=35&performers.id;=2446&client;_id=YOUR_KEY'
Performers Similar To An Event
$ curl 'https://api.seatgeek.com/2/recommendations/performers?events.id=1023456&client;_id=YOUR_KEY'
Example Response Document
{
"recommendations" : [
{
score: 3.05,
performer: {
id: 766,
name: "Galactic",
...
}
},
{
score: 3.02,
event: {
id: 1738,
title: "Talib Kweli",
...
}
}
]
}
|
Mobile Hooks
Opening seatgeek:// (or sending the Intent on Android), followed by one of the following parameters, will open our app and perform the related action.
app
- Opens the home view
about
- Opens the about view
events/ID
- Opens the event with the given ID
performers/ID
- Opens the performer with the given ID
venues/ID
- Opens the venue with the given ID
search?q=SEARCH_QUERY
- Opens the search view with the given SEARCH_QUERY
|
|
Support
If you need any additional help with the SeatGeek Platform, please create a Github issue in our support repository and we'll get back to you as soon as possible.
|
|
Frequently Asked Questions
Where can I get the ticket listings for an event/performer/venue?
SeatGeek has no plans to expose individual ticket listings via the API. For ticket listings you should redirect your users to the corresponding event, performer, or venue pages exposed in the url attribute of each resource.
Where can I get documentation for API V1?
API V1 is officially deprecated. Please update your code to use API V2
Are you integrated with The EchoNest Rosetta Stone project?
We sure are. SeatGeek performer ids for most bands in the 2000000 taxonomy can be used to access the EchoNest API. See this for more details.
|
|
Announcements
We recommend that all developers building on top of this API subscribe to our announcement-only Google Group. We use that channel to alert developers of major new features, breaking changes, etc.
|
|
|
|