Getting started
Create an account
Sign up to generate your credentials and start building with 1,000 free requests (no credit card required).
Go to sign upSandbox dataset
Use the sandbox dataset to test endpoints, inspect response formats, and access sandbox endpoint + credentials in one place.
Open sandbox datasetAPI resources
Browse API articles about access, trials, plans, usage, errors, rate limits, UUIDs, refresh cadence, and data coverage.
Visit help.soundcharts.comLive feed & data dump
Need bulk delivery? We can provide incremental live feeds or full data dumps directly to your storage (S3, GCS, ClickHouse, Databricks, etc.).
Request data deliveryWelcome 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-idIdentifies your application and permissions. -
x-api-keyAuthenticates 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-remainingheader. 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.
-
itemsThe array of data objects. -
pageContains 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