How to get Spotify track
GET request to /v1/spotify/track with your input. You get clean JSON back in seconds for 1 credit per call — no OAuth, scraping or platform SDKs. Spotify track — playCount, joinable artists[]/album{}, explicit, releaseDate (1 credit).How to get Spotify track (step by step)
- 1
Get a free API key
Create a free Captapi account (100 credits, no card) and generate an API key from the dashboard.
- 2
Call the Spotify Track API
Send an authenticated GET request to /v1/spotify/track with your input. No OAuth, no scraping setup.
- 3
Read the JSON response
Parse the clean JSON response. Pass cache=true for a free 24h cache hit; default is always fresh.
Code example
curl "https://api.captapi.com/v1/spotify/track?url=https%3A%2F%2Fopen.spotify.com%2Ftrack%2F0V3wPSX9ygBnCm8psDIegu" \
-H "Authorization: Bearer capt_live_..."
# or: -H "x-api-key: capt_live_..."What the response looks like
{
"success": true,
"data": {
"platform": "spotify",
"type": "track",
"uri": "spotify:track:0V3wPSX9ygBnCm8psDIegu",
"url": "https://open.spotify.com/track/0V3wPSX9ygBnCm8psDIegu",
"name": "Anti-Hero",
"artists": [
{
"id": "06HL4z0CvFAxyc27GXpf02",
"uri": "spotify:artist:06HL4z0CvFAxyc27GXpf02",
"name": "Taylor Swift",
"url": "https://open.spotify.com/artist/06HL4z0CvFAxyc27GXpf02"
}
],
"album": {
"id": "151w1FgRZfnKZA9FEcg9Z3",
"uri": "spotify:album:151w1FgRZfnKZA9FEcg9Z3",
"name": "Midnights",
"url": "https://open.spotify.com/album/151w1FgRZfnKZA9FEcg9Z3",
"releaseDate": "2022-10-21T00:00:00Z"
},
"durationMs": 200690,
"durationFormatted": "3:20",
"releaseYear": 2022,
"image": "https://i.scdn.co/image/ab67616d0000b273bb54dde68cd23e2a268ae0f5",
"id": "0V3wPSX9ygBnCm8psDIegu",
"playCount": 2037355549,
"trackNumber": 3,
"contentRating": "NONE",
"explicit": false,
"mediaType": "AUDIO",
"playable": true,
"releaseDate": "2022-10-21T00:00:00Z"
}
}Billing metadata (credits charged, cache hit/miss) is returned in the X-Captapi-Credits and X-Captapi-Cache response headers.
Request parameters
| Name | Type | Required | Description |
|---|---|---|---|
| url | string | Yes | Spotify URL, URI, or ID. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. |
| raw | boolean | No | Include the upstream GraphQL payload as data.raw. Default false — getTrack embeds bulky artist discography. |
| cache | boolean | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. |
Frequently asked questions
What does the Spotify Track API do?
The Spotify Track API lets you fetch full metadata and key stats from a public Spotify sound or track using one GET request to /v1/spotify/track. It returns clean JSON — no OAuth or infrastructure setup required.
How many credits does the Spotify Track API cost?
Each successful call costs 1 credit. Pass cache=true to serve from the 24h cache (0 credits on hit); default is always fresh. Hits include cached + cachedAt. Selected profile endpoints also accept cacheMaxAge=1d|3d|7d|14d|30d. Failed or empty results are never charged.
Do I need a Spotify API key or OAuth?
No. A single Captapi key works across every platform Captapi supports — YouTube, TikTok, Instagram, Facebook, Twitter/X, Reddit, Threads, Bluesky, Pinterest, LinkedIn, Rumble, Spotify, Kwai, and more. We handle proxies, rate limits, retries, and authentication for you.
Does track return playCount like artist topTracks?
Yes. playCount is the same stream-count metric as topTracks[].playCount on /spotify/artist — from Spotify's web GraphQL getTrack, not the official Web API.
How do I join to artist or album?
artists[] is [{id, uri, name, url}] and album is {id, uri, name, url, releaseDate}. Pass artists[0].uri into /spotify/artist and album.uri into /spotify/album.
Why are popularity / isrc / previewUrl often missing?
Pathfinder getTrack frequently omits Spotify Web API popularity (0–100), ISRC, and preview URLs. When present they are returned; playCount is the listen metric on this surface.
Are contentRating and explicit the same field?
No. contentRating is Spotify's Pathfinder label enum (NONE | EXPLICIT | NINETEEN_PLUS | UNKNOWN on tracks). explicit is a convenience boolean that is true only for EXPLICIT — age-gate labels are not collapsed into that bit.
Is the Spotify Track API suitable for production use?
Yes. It is a stable REST endpoint with predictable JSON and automatic retries. Pass cache=true to serve from the 24h cache (0 credits on hit); default is always fresh. Hits include cached + cachedAt. Selected profile endpoints also accept cacheMaxAge=1d|3d|7d|14d|30d. Use it for analytics, monitoring, and content automation.
Ready to get Spotify track?
Start free with 100 credits — no credit card required.
Get your free API key