Getting started

Welcome to the music industry’s unified data layer. Soundcharts aggregates and synchronizes real-time data from hundreds of sources - streaming, social media, radio, and charts - into a single, high-frequency API.

Our documentation is fully interactive. Use the "Try it out" button on any endpoint to execute requests directly from your browser.

Authentication

All requests must be made over HTTPS. Authentication is handled via custom headers:

  • x-app-id Identifies your application and permissions.
  • x-api-key Authenticates your user.

Sandbox & production environment

The Soundcharts API uses a single base URL for both Sandbox and Production.

The environment is determined by the credentials provided in the headers.

Base URL: https://customer.api.soundcharts.com

Environment Sandbox Production
Dataset Limited Unlimited
App ID soundcharts Your App ID
API Key soundcharts Your API key
Access Free, open to everyone. Learn more Free version limited to 1,000 calls. Learn more

Performance & Scalability

  • Our infrastructure is designed for high-throughput ingestion and low-latency responses (average 200ms).
  • Every response includes the x-quota-remaining header. We recommend tracking this value to adjust your polling frequency dynamically.
  • We recommend a maximum of 5,000 calls per minute to ensure optimal performance.
  • For massive data synchronization or "quasi-real-time" updates of entire catalogs, please refer to our Live Feed & Data Dump solutions.

Error management

Soundcharts API follows standard HTTP specifications. In case of failure, the response contains an errors array providing granular details:

{
    "errors": [
      {
        "key": "string",
        "code": 0,
        "message": "string"
      }
    ]
  }

Read more about error types in the help center.

Response Structure & Pagination

Every endpoint follows a consistent JSON envelope, making it easy to parse across your entire application.

Single object responses are returned when requesting a specific entity (e.g., a single artist or track).

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

  }
}

For lists (eg. search results, chart positions), we use offset-based pagination.

  • items The array of data objects.
  • page Contains offset, total, and limit. Use the next and previous URL fields for seamless navigation.
{
  "items": [
  ],
  "page": {
    "offset": 0,
    "total": 100,
    "next": null,
    "previous": null,
    "limit": 100
  },
}

When fetching data linked to a specific entity (e.g., charts for a song), we include a related object at the root. This contains the parent entity’s metadata, allowing you to display context and cross-platform IDs without additional API calls.

{
  "related": {
  }
}

Python SDK

We provide an official Python SDK to handle request logic and error management.

 pip install soundcharts

You can find the SDK's GitHub repository here: soundcharts/python-sdk