SonicLiving has a Beta API which can return upcoming shows for artists. The SonicLiving API requires an API key and is available for both commercial and non-commercial use. More information about the terms of use and obtaining an API key is available below. Note that we are still developing our API, as such we welcome any feedback.
Non-commercial use
Sites and services which don't generate revenue (including ads) may freely use the SonicLiving API.
Essentially all event listings must link back to the SonicLiving event pages and the ticket links cannot be augmented or replaced.
Commercial use
Sites and services which generate revenue (including ads) must contact SonicLiving and request a commercial API key.
Requesting an API key
Make an API key request now!
We usually respond within 24 hours.
The SonicLiving API can return events for one or many artists with a single query.
This is extrememly powerful feature for listing events to go along with applications that support user playlists.
The API is available here:
http://api.sonicliving.com/api/
| name | values | specification type |
|---|---|---|
| key | API key | auth |
| q | query type : artists | all | pop | query |
| artists[] | artist names | artist |
| venue_ids[] | venue ids | SL venue_id |
| zips[] | zip codes | location |
| lat[] | latitude value | location |
| lon[] | longitude value | location |
| current_ip_loc | true | get location from current ip address |
| ip_loc | ip address | get location from given ip address |
| radius[] | number of miles | location |
| start | date value : YYYY-MM-DD | date |
| end | date value : YYYY-MM-DD | date |
| date | date value : YYYY-MM-DD | date |
| fmt | output format : json | output |
q: query type optional parameter
The default query type is "artists". This is used when the 'q' value is unspecified.
If query type is "all", then All events within the other specified restrictions will be returned (date/region/radius/etc..) and ordered by date
If query type is "pop", then All events within the other specified restrictions will be returned (date/region/radius/etc..) and ordered by popularity
query type "all" or "pop" overrides the artists[] parameter
artists[]: shows for a given artist. artists is currently required unless a different query type or venue is specified
This performs a lookup for a specific artist, as opposed to a general search.
You can specify this argument multiple times, for multiple searches at once. artists[]=beck&artists[]=radiohead will return shows for both Beck and Radiohead. Note that the "&" (ampersand) character must be replaced with "and".
venue_ids[]: shows for a given venue. venue_ids are not required
This performs a lookup for a specific venue_id, as opposed to a general search.
You can specify this argument multiple times, for multiple searches at once.
SonicLiving venue_id's are returned in the json resultset, and may change over time.
key: The API access key is currently required
Get your API key here
zips[]: restrict search to a zip code. zips not required
This limits your lookup to a specific zip code. If ommited, all the events for an artist will be returned.
You can specify this argument multiple times, for multiple searches at once. zips[]=94610&zips[]=10012artists[]=beck&artists[]=radiohead will return shows for both Beck and Radiohead in Oakland and New York.
lat[]: restrict search to a geo location. lat/lon pairs not required
lon[]: restrict search to a geo location. lat/lon values must be paired evenly or no results will be returned
This limits your lookup to a specific geo location. If ommited, all the events for an artist will be returned.
You can specify these argument multiple times, for multiple searches at once. &lat[]=38.325&lon[]=-122.708&artists[]=beck will return shows for both Beck in the SF area.
current_ip_loc=true: restrict search to a geo location based on the requesting current ip address.
ip_loc: strict search to a geo location based on a given ip address
This limits your lookup to a specific geo location. If ommited, all the events for an artist will be returned.
You can specify either current_ip_loc or ip_loc, but not both. These will override any other location values.
start: restrict search to a start date. start/end date pairs not required
end: restrict search to an end date. start/end date pairs not required
date: restrict search to a single specific date. This is equivalent to setting start=end
This limits your lookup to a specific date range. The parameters are inclusive.
You may not currently specify a start date in the past. &start=2008-12-20&end=2008-12-31 will return shows between the dates specified.
radius: specifiy the radius around zip codes to look for shows.
Radius around a zip code (or lat/long) in miles. If ommited, a default radius of 50 miles is used.
You can specify this argument only once. zips[]=10012&artists[]=beck&radius=5 will return shows for both Beck within 5 miles of New York. Note: there is a 140 mile radius limit. Omit the zip and radius to return all shows for the specified artists.
fmt: specifiy the event output format.
Currently, fmt may only be json (the default it not specified).
You can specify this argument only once.
Here are examples of valid queries for the SonicLiving API:
All shows for a single artist
http://api.sonicliving.com/api/?artists[]=justin%20bieber&key=mykey
Shows for a single artist near a location, default range (around 50 miles)
http://api.sonicliving.com/api/?artists[]=justin%20bieber&zips[]=94110&key=mykey
Shows for a single artist near a location, with a specificed range
http://api.sonicliving.com/api/?artists[]=justin%20bieber&zips[]=94110&radius=300&key=mykey
All shows for multiple artists
http://api.sonicliving.com/api/?artists[]=justin%20bieber&artists[]=bikini%20kill&key=mykey
All shows for multiple artists near a location
http://api.sonicliving.com/api/?artists[]=justin%20bieber&?artists[]=bikini%20kill&zips[]=94110&key=mykey
All shows for multiple artists near multiple locations
http://api.sonicliving.com/api/?artists[]=justin%20bieber&?artists[]=bikini%20kill&zips[]=94110&zips[]=10012&key=mykey
Using 'curl'? Be sure to escape the brackets
curl "http://api.sonicliving.com/api/?q=all&lat\[\]=38.325&lon\[\]=-122.708&radius=10&key=mykey"
The results are currently restricted to JSON.
Here is a sample JSON decoded result set from the following query:
http://api.sonicliving.com/api/?artists[]=css&artists[]=apple pie hopes&zips[]=94123&key=mykey
As the JSON string:
[[{"event_timestamp":1229144400,
"event_date":"Friday, December 12th, 2008",
"event_time":"9:00 pm",
"event_id":"1039168",
"links":[{"link_url":"http:\/\/sonicliving.com\/event\/1036341","link_title":"9:00 pm"}],
"event_title":"CSS \/ Natalie Portman's Shaved Head.",
"venue_id":"4320",
"venue_name":"Bimbo's 365 Club",
"venue_address":"1025 Columbus Avenue",
"venue_city":"San Francisco",
"venue_state":"CA",
"venue_country":"US",
"lat":"37.8005",
"lon":"-122.409"}]]
Array
(
[0] => Array
(
[0] => stdClass Object
(
[event_timestamp] => 1229144400
[event_date] => Friday, December 12th, 2008
[event_time] => 9:00 pm
[event_id] => 1039168
[links] => Array
(
[0] => stdClass Object
(
[link_url] => http://sonicliving.com/event/1036341
[link_title] => 9:00 pm
)
)
[event_title] => CSS / Natalie Portman's Shaved Head.
[venue_id] => 4320
[venue_name] => Bimbo's 365 Club
[venue_city] => 1025 Columbus Avenue
[venue_city] => San Francisco
[venue_state] => CA
[venue_country] => US
[lat] => 37.8005
[lon] => -122.409
)
)
)