Soundcharts provides many endpoints to help you build your own application upon our data

Our API is :
  • fully REST compliant, serving JSON encoded responses
  • blazing fast, average response time is 200ms (please note that sandbox can be a little slower making OPTIONS request because of CORS)
  • completely unified, making integration easier and faster
  • easily testable in a single click fashion, right here in the documentation


Soundcharts API needs special headers to authenticate requests.

x-app-id is used to retrieve your customer rights.
x-api-key is used to authenticate your API user.

Error management

Soundcharts API follows HTTP specifications regarding error handling, each method describe the available response code it returns

The response always contains an errors array at root level that can provide more detailed error messages :

    "errors": [
        "key": "string",
        "code": 0,
        "message": "string"

Entities, collections & paginated results

Single object response have the following form:

  "type": "string"
  "object": {


Collections responses contains an items array and a page object to help you navigating through paged results:

  "items": [
  "page": {
    "offset": 0,
    "total": 100,
    "next": null,
    "previous": null,
    "limit": 100

When requesting a collection related to a specific entity (ie getting charts position for a song) a related object containing the basic entity information is present in the response :

  "related": {

Sandbox & production environment

The sandbox environment is free & open to everyone

Endpoint is located at or accessible in the examples here.
You can use the following credentials :
App ID : soundcharts
Api KEY : soundcharts

The production environment is reserved to our registered customers

Endpoint is located at, contact us to get your production credentials.

Rate limits & quotas

We do no set hard rate limits to let you get the data you need as fast as possible.

All our API plans are subject to monthly quotas.

Once your quota is consumed, new requests will failed with an explicit error message.

The response will also contain a x-quota-remaining header with the number of remaining requests.