This version of the Bandsintown API will be deprecated in the coming months. Please contact us for more information.

Developer API

Requests

Artists - Get

Description

Returns basic information for a single artist, including the number of upcoming events. Useful in determining if an artist is on tour without requesting the event data.

URL

http://api.bandsintown.com/artists/name.format

Request Method

GET

Parameters

name default format required notes
artist - artist name (url escaped*)
mbid_<id> (MusicBrainz ID)
yes -
callback - function name no if passed, the response will be wrapped in a function call to the given callback name - JSON requests only (JSONP)
format - xml or json yes -
app_id - word yes a word to identify your application or company

Note: / and ? characters must be double escaped. Artists such as "AC/DC" will end up as "AC%252FDC"

Response

Artists - Events

Description

Returns all upcoming events for a single artist.

URL

http://api.bandsintown.com/artists/name/events.format

Request Method

GET

Parameters

name default format required notes
artist - artist name (url escaped*)
mbid_<id> (MusicBrainz ID)
yes -
callback - function name no if passed, the response will be wrapped in a function call to the given callback name - JSON requests only (JSONP)
format - xml or json yes -
app_id - word yes a word to identify your application or company

Note: / and ? characters must be double escaped. Artists such as "AC/DC" will end up as "AC%252FDC"

Response

Artists - Create

Description

This is used to create an artist on bandsintown.com.

URL

http://api.bandsintown.com/artists.format

Request Method

POST

Parameters

name default format required notes
artist[name] - artist name yes -
artist[mbid] - MusicBrainz ID no -
artist[myspace_url] - url no must be from www.myspace.com or myspace.com
artist[website] - url no -
format - xml or json yes -
app_id - word yes a word to identify your application or company

Examples

Creating an artist using cURL:
$ curl -H 'Expect:' \
  -d artist[name]=Little+Brother \
  -d artist[mbid]=b929c0c9-5de0-4d87-8eb9-365ad1725629 \
  -d artist[myspace_url]=http://www.myspace.com/littlebrother  \
  -d artist[website]=http://www.hallofjustus.com  \
  http://api.bandsintown.com/artists.xml?app_id=YOUR_APP_ID

Creating an event using cURL (basic authentication):
$ curl -H 'Expect:' \
  -u username:password \
  -d artist[name]=Little+Brother \
  -d artist[mbid]=b929c0c9-5de0-4d87-8eb9-365ad1725629 \
  -d artist[myspace_url]=http://www.myspace.com/littlebrother  \
  -d artist[website]=http://www.hallofjustus.com  \
  http://api.bandsintown.com/artists.xml?app_id=YOUR_APP_ID

Artists can also be created by posting json/xml data instead of URL encoded form data.

JSON

[artist.json]
{
  "artist": {
    "name": "Little Brother",
    "mbid": "b929c0c9-5de0-4d87-8eb9-365ad1725629",
    "myspace_url": "http://www.myspace.com/littlebrother",
    "url": "http://www.hallofjustus.com"
  }
}

Creating an artist using cURL, posting a json formatted artist read from file:

$ curl -H 'Expect:' \
  -H 'Content-Type:application/json' \
  -d @artist.json \
  http://api.bandsintown.com/artists.json?app_id=YOUR_APP_ID

XML

[artist.xml]
<artist>
  <name>Little Brother</name>
  <mbid>b929c0c9-5de0-4d87-8eb9-365ad1725629</mbid>
  <myspace_url>http://www.myspace.com/littlebrother</myspace_url>
  <website>http://www.hallofjustus.com</website>
</artist>

Creating an artist using cURL, posting an xml formatted artist read from file:

$ curl -H 'Expect:' \
  -H 'Content-Type:text/xml' \
  -d @artist.xml \
  http://api.bandsintown.com/artists.xml?app_id=YOUR_APP_ID

Response

Artists - Cancel Event

Description

This is used to cancel an event for the specified artist on bandsintown.com.

Note: Unless you have a trusted account, events added or removed through the API will need to be approved before the changes are seen live. Contact Bandsintown if you are often adding or removing events and would like a trusted account.

URL

http://api.bandsintown.com/artists/artist/events/event_id/cancel.format

Request Method

POST or DELETE

Parameters

name default format required notes
artist - artist name (url escaped*)
mbid_<id> (MusicBrainz ID)
yes -
event_id - number yes -
format - xml or json yes -
app_id - word yes a word to identify your application or company

Note: / and ? characters must be double escaped. Artists such as "AC/DC" will end up as "AC%252FDC"

Examples

Canceling an artist's event using cURL and HTTP POST:
$ curl -X POST \
http://api.bandsintown.com/artists/Little%20Brother/events/12345/cancel.xml?app_id=YOUR_APP_ID

Canceling an artist's event using cURL (basic authentication) and HTTP POST:
$ curl -X POST \
-u username:password \
http://api.bandsintown.com/artists/Little%20Brother/events/12345/cancel.json?app_id=YOUR_APP_ID

Canceling an artist's event using cURL and HTTP DELETE:
$ curl -X DELETE \
http://api.bandsintown.com/artists/Little%20Brother/events/12345/cancel.xml?app_id=YOUR_APP_ID

Canceling an artist's event using cURL (basic authentication) and HTTP DELETE:
$ curl -X DELETE \
-u username:password \
http://api.bandsintown.com/artists/Little%20Brother/events/12345/cancel.json?app_id=YOUR_APP_ID

Response

Events - On Sale Soon

Description

Returns events going on sale in the next week (including today). Supports location filtering.

URL

http://api.bandsintown.com/events/on_sale_soon.format

Request Method

GET

Parameters

Name Default Format Required Notes
location - city,state (US or CA)
city,country
lat,lon
ip address
use_geoip (will use the ip the request came from)
no -
radius 25 number (miles) no max 150
callback - function name no if passed, the response will be wrapped in a function call to the given callback name - JSON requests only (JSONP)
format - xml or json yes -
app_id - word yes a word to identify your application or company

Examples

All events going on sale in the next week:
http://api.bandsintown.com/events/on_sale_soon.xml?app_id=YOUR_APP_ID

All events going on sale in the next week within 25 miles of Boston, MA:
http://api.bandsintown.com/events/on_sale_soon.json?location=Boston,MA&app_id=YOUR_APP_ID

All events going on sale in the next week within 25 miles of Boston, MA (using JSONP callback):
http://api.bandsintown.com/events/on_sale_soon.json?location=Boston,MA&app_id=YOUR_APP_ID&callback=displayEvents

Response

Events - Daily

Description

Returns events that have been created, updated or deleted in the last day. Useful in syncing data with Bandsintown.

The daily feed is updated each day at 12:00 PM EST.

URL

http://api.bandsintown.com/events/daily.format

Request Method

GET

Parameters

name default format required notes
format - xml or json yes -
app_id - word yes a word to identify your application or company

Note: The events in the response will have an extra "status" field which is used to determine if the event is new, updated or deleted

Examples

All upcoming shows added in the last day (json)
http://api.bandsintown.com/events/daily?format=json&app_id=YOUR_APP_ID

All upcoming shows added in the last day (xml) - using alternate format syntax
http://api.bandsintown.com/events/daily.xml?app_id=YOUR_APP_ID

Response

Events - Create

Description

This is used to create an event on bandsintown.com

Note: Unless you have a trusted account, events added or removed through the API will need to be approved before the changes are seen live. Contact Bandsintown if you are often adding or removing events and would like a trusted account.

URL

http://api.bandsintown.com/events.format

Request Method

POST

Parameters

name default format required notes
event[datetime] - YYYY-MM-DDThh:mm:ss yes example: 2010-05-05T19:00:00
event[artist][][name] - artist name event must have atleast 1 artist with a name or mbid -
event[artist][][mbid] - MusicBrainz ID event must have atleast 1 artist with a name or mbid -
event[venue][id] - Bandsintown venue id no -
event[venue][name] - venue name yes (if venue id not provided) -
event[venue][address] - venue address no -
event[venue][city] - venue city yes (if venue id not provided) -
event[venue][region] - venue region yes (if venue id not provided and within the US) example: 'CA' or 'California'
event[venue][country] - venue country yes (if venue id not provided) -
event[venue][postalcode] - venue postalcode no -
event[venue][latitude] - venue latitude no -
event[venue][longitude] - venue longitude no -
event[ticket_url] - URL no -
event[ticket_price] - number no -
event[on_sale_datetime] - YYYY-MM-DDThh:mm:ss no -
format - xml or json yes -
app_id - word yes a word to identify your application or company

Examples

Creating an event using cURL:
$ curl -H 'Expect:' \
  -d event[datetime]=2010-10-09T19:00:00 \
  -d event[artists][][name]=Little+Brother \
  -d event[artists][][name]=Murs \
  -d event[venue][name]=Axis \
  -d event[venue][city]=Boston \
  -d event[venue][region]=MA \
  -d event[venue][country]=United+States \
  -d event[ticket_url]=http%3A%2F%2Ftix.com%2Fevent%2F1 \
  -d event[ticket_price]=54.75 \
  http://api.bandsintown.com/events.xml?app_id=YOUR_APP_ID

Creating an event using cURL (basic authentication):
$ curl -H 'Expect:' \
  -u username:password \
  -d event[datetime]=2010-10-09T19:00:00 \
  -d event[artists][][name]=Little+Brother \
  -d event[artists][][name]=Murs \
  -d event[venue][name]=Axis \
  -d event[venue][city]=Boston \
  -d event[venue][region]=MA \
  -d event[venue][country]=United+States \
  -d event[ticket_url]=http%3A%2F%2Ftix.com%2Fevent%2F1 \
  -d event[ticket_price]=54.75 \
  http://api.bandsintown.com/events.xml?app_id=YOUR_APP_ID

Events can also be submitted by posting json/xml data instead of URL encoded form data.

JSON

[event.json]
{
  "event": {
    "datetime": "2008-09-30T19:30:00",
    "artists": [{
      "name": "Little Brother" 
    },{
      "name": "Murs" 
    }],
    "venue": {
      "name": "Axis",
      "city": "Boston",
      "region": "MA",
      "country": "United States" 
    }
    "ticket_url": "http://www.tix.com/event/1",
    "ticket_price": 54.75
  }
}

Creating an event using cURL, posting a json formatted event read from file:

$ curl -H 'Expect:' \
  -H 'Content-Type:application/json' \
  -d @/path/to/event.json \
  http://api.bandsintown.com/events.json?app_id=YOUR_APP_ID

XML

[event.xml]
<event>
  <datetime>2008-09-30T19:30:00</datetime>
  <artists>
    <artist>
      <name>Little Brother</name>
    </artist>
    <artist>
      <name>Murs</name>
    </artist>
  </artists>
  <venue>
    <name>Axis</name>
    <city>Boston</city>
    <region>MA</region>
    <country>United States</country>
  </venue>
  <ticket_url>http://www.tix.com/event/1</ticket_url>
  <ticket_price>54.75</ticket_price>
</event>

Creating an event using cURL, posting an xml formatted event read from file:

$ curl -H 'Expect:' \
  -H 'Content-Type:text/xml' \
  -d @/path/to/event.xml \
  http://api.bandsintown.com/events.xml?app_id=YOUR_APP_ID

Events - Cancel

Description

This is used to cancel an event on bandsintown.com.

Note: Unless you have a trusted account, events created or cancelled through the API will need to be approved before the changes are seen live. Contact Bandsintown if you are often adding or canceling events and would like a trusted account.

URL

http://api.bandsintown.com/events/event_id/cancel.format

Request Method

POST or DELETE

Parameters

name default format required notes
event_id - number yes -
format - xml or json yes -
app_id - word yes a word to identify your application or company

Note: / and ? characters must be double escaped. Artists such as "AC/DC" will end up as "AC%252FDC"

Examples

Canceling an event using cURL and HTTP POST:
$ curl -X POST \
http://api.bandsintown.com/events/12345/cancel.xml?app_id=YOUR_APP_ID

Canceling an event using cURL (basic authentication) and HTTP POST:
$ curl -X POST \
-u username:password \
http://api.bandsintown.com/events/12345/cancel.json?app_id=YOUR_APP_ID

Canceling an event using cURL and HTTP DELETE:
$ curl -X DELETE \
http://api.bandsintown.com/events/12345/cancel.xml?app_id=YOUR_APP_ID

Canceling an event using cURL (basic authentication) and HTTP DELETE:
$ curl -X DELETE \
-u username:password \
http://api.bandsintown.com/events/12345/cancel.json?app_id=YOUR_APP_ID

Response

Venues - Events

Description

Returns all upcoming events for a single venue.

Parameters

name default format required notes
id - venue id yes -
callback - function name no if passed, the response will be wrapped in a function call to the given callback name - JSON requests only (JSONP)
format - xml or json yes -
app_id - word yes a word to identify your application or company

Examples

All upcoming shows at Paradise Rock Club in Boston, MA (venue id 1700):
http://api.bandsintown.com/venues/1700/events.json?app_id=YOUR_APP_ID

All upcoming shows at Comcast Center - Mansfield, MA (venue id 133):
http://api.bandsintown.com/venues/133/events?format=xml&app_id=YOUR_APP_ID

All upcoming shows at Paradise Rock Club in Boston, MA (venue id 1700, using JSONP callback):
http://api.bandsintown.com/venues/1700/events.json?app_id=YOUR_APP_ID&callback=displayEvents

Response