Getting started with the Songkick API

Before you can start using the Songkick API, apply for an API key here.

Once your application for an API key is granted, you’ll receive details of your unique key by email. You’ll then need to include it as a parameter to every request you make to the Songkick API.

Making your first request

Let’s say you want to find all the past events of The Rolling Stones.

You’d need to make a request to Songkick’s gigography endpoint, which looks like:

https://api.songkick.com/api/3.0/artists/{artist_id}/gigography.json?apikey={your_api_key}

You need to specify two parameters when making requests to this endpoint, which are shown in the braces: {artist_id} and {your_api_key}.

The {artist_id} is Songkick’s unique identifier for this artist, and you can find this by looking at their artist profile on Songkick and grabbing the number from the URL. In the case of The Rolling Stones this is 379603.

In the gigography request endpoint, replace {artist_id} with '379603' and {your_api_key} with your unique API key, so that the URL looks something like:

https://api.songkick.com/api/3.0/artists/379603/gigography.json?apikey={your_api_key}

Now all that’s left is to make the actual request to the API and you can do this by simply visiting the URL in your browser. All going well, you’ll see a JSON response showing all of The Rolling Stones’ past concerts.

Next steps

Read the response object documentation to learn about the format of data that the Songkick API returns to your application.


Further reading

Metro areas

You will see the term 'metro area' referenced across the documentation. This is mostly used for internal location identification so we recommend not using when integrating into a feature such as a listings page.

Response type

Every API endpoint allows you to specify whether you want results in JSON or XML, and these are outlined in the request details for each endpoint.

For example, the request for the gigography endpoint used in the above example is documented with two file extensions:

https://api.songkick.com/api/3.0/artists/{artist_id}/gigography.json?apikey={your_api_key}
https://api.songkick.com/api/3.0/artists/{artist_id}/gigography.xml?apikey={your_api_key}

You can chose whichever file extension works best for your application.

Pagination

Where endpoints return an array of objects, the API wraps these in a paginated response.

The response results are contained within a resultsPage object, which looks like:

  {
    "resultsPage": {
      "results": {
        "type": [Array of response objects]
      },
      "totalEntries":80,
      "perPage":50,
      "page":1,
      "status":"ok"
    }
  }

The type key represents the type of object that the endpoint returns, for example event or artist. Check out the similar artists endpoint to see an example of paginated responses.

JSONP

When requesting data in JSON format, JSONP can be specified using the jsoncallback parameter. Here is an example of using JSONP from jQuery:

$.getJSON("https://api.songkick.com/api/3.0/events.json?location=clientip&apikey={your_api_key}&jsoncallback=?",
  function(data) {
    // data is JSON response object
  });