Quickstart

Get from zero to your first API response in under 5 minutes. Create a free account to get an API key — no credit card required.

1. Get your API key

After signing up, your API key is available immediately on your dashboard. All requests must include your key in the x-api-key header.

2. Make your first request

curl
curl https://api.sonovault.io/v1/tracks/search \
-H "x-api-key: YOUR_API_KEY" \
-G -d "artist=Daft Punk" \
-d "title=One More Time"

Authentication

All API requests require a valid API key passed in the x-api-key header.

http
x-api-key,: ,bvk_live_xxxxxxxxxxxxxxxxxx

Test keys prefixed bvk_test_ return mocked data. Live keys prefixed bvk_live_ hit the real database.

Never expose your API key in client-side code or commit it to version control. Use environment variables.

Rate limits

Rate limits are enforced per API key on a rolling 60-second window. If you exceed your limit, requests return 429 Too Many Requests.

TierRequests/monthBurst (per 60s)
Free1,00020
Starter50,00060
Growth500,000300
Scale5,000,0001,000

Chart endpoints return up to 200 entries per call but count as one request against both the monthly quota and burst counter.

Rate limit headers are returned on every response: RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.


Errors

All errors follow a consistent JSON structure:

json
{
"error": {
"code": "not_found",
"message": "No track found matching the provided parameters",
"status": 404
}
}
StatusCodeDescription
400bad_requestMissing or invalid parameters.
401unauthorizedMissing or invalid API key.
403forbiddenYour plan doesn't include this endpoint.
404not_foundNo matching track or resource.
429rate_limitedRate limit exceeded.
500server_errorUnexpected server error.


ISRC lookup

Exact lookup by ISRC code. Returns full track detail including genres and cross-platform links.

GET/v1/tracks/isrc

Parameters

ParameterTypeRequiredDescription
isrcstringrequiredISRC code (e.g. GBDUW0000053).


Charts

Get chart tracks with full track data including artists, BPM, key, and genres. Charts are updated daily from Beatport, Apple Music, Billboard, and Shazam.

GET/v1/charts/:source/:chartType

Path parameters

ParameterTypeRequiredDescription
sourcestringrequiredbeatport, applemusic, billboard, shazam-global, shazam-local.
chartTypestringrequirede.g. top100, hype100, hot100, top200.

Query parameters

ParameterTypeRequiredDescription
genrestringoptionalSource-specific genre name (e.g. House, Pop).
countrystringoptionalISO 3166-1 alpha-2 code (e.g. US, GB).
datestringoptionalYYYY-MM-DD. Defaults to latest available.
limitintegeroptional1–200. Default 100.

New releases

Paginated feed of releases ordered by release date (newest first).

GET/v1/releases/new

Parameters

ParameterTypeRequiredDescription
limitintegeroptional1–100. Default 20.
cursorstringoptionalCursor from previous response for pagination.
API explorer
GET/v1/tracks/search
Response
// Click "Run request" to see a response