Spotify API endpoint
Returns Spotify track metadata. Provide either uri or id; defaults to a known public track when omitted.
/spotify/trackMCP tool: spotify_track
Path/query/body parameters:
uri query string, optional. Spotify track URI or open.spotify.com track URL.id query string, optional. Spotify track ID. Used when uri is omitted.Notable response behavior:
uri and id are omitted, a known public track is used.503.| Field | Filled in, of 3 checked | Values in the sample |
|---|---|---|
| url | 3 | i.scdn.co |
| width | 3 | |
| height | 3 |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| uri | string | No | Spotify track URI or open.spotify.com track URL | spotify:track:4vGg44GdCw3X8i8r01XJH0 | |
| id | string | No | Spotify track ID. Used when uri is omitted | 4vGg44GdCw3X8i8r01XJH0 | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/spotify/track" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"uri": "spotify:track:4vGg44GdCw3X8i8r01XJH0",
"id": "4vGg44GdCw3X8i8r01XJH0",
"type": "Track",
"name": "Example Track",
"artists": [
{
"uri": "spotify:artist:example",
"title": "Example Artist"
}
],
"externalUrl": "https://open.spotify.com/track/4vGg44GdCw3X8i8r01XJH0",
"meta": {
"operationName": "getTrack",
"fetchedAt": "2026-05-13T15:22:41Z"
}
}
}Request schema
No body schema
Response schema
#/definitions/spotify.trackResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | Code is the HTTP status code or a custom code used to indicate the result of the request @example 200 | |||
| data | spotify.TrackResponse | No | ||||
| data.album | object | No | Album the track appears on. | |||
| data.album.description | string | No | The official podcast of comedian Joe Rogan. | Description text of the result. | ||
| data.album.externalUrl | string | No | https://open.spotify.com/show/4rOoJ6Egrf8K2IrywzwOMk | Link to the result on open.spotify.com. | ||
| data.album.imageUrl | string | No | https://i.scdn.co/image/ab67656300005f1f54e6837957803d762a3f4d2b | URL of the main image for the result. | ||
| data.album.images | array | No | Images available for the result, with their sizes. | |||
| data.album.images[].height | integer | No | 640 | Image height in pixels. | ||
| data.album.images[].url | string | No | https://i.scdn.co/image/ab6765630000ba8ab0484f8ee2933eceab32bac0 | URL of the image. | ||
| data.album.images[].width | integer | No | 640 | Image width in pixels. | ||
| data.album.publisher | string | No | Joe Rogan | Publisher or creator name of the result. | ||
| data.album.subtitle | string | No | Joe Rogan | Secondary line shown under the title, such as the artist or creator name. | ||
| data.album.title | string | No | The Joe Rogan Experience | Result title as Spotify shows it. | ||
| data.album.type | string | No | Podcast | Kind of result as Spotify labels it, for example `Podcast`. | ||
| data.album.uri | string | No | spotify:show:4rOoJ6Egrf8K2IrywzwOMk | Spotify URI of the result. | ||
| data.artists | array | No | Artists credited on the track. | |||
| data.artists[].description | string | No | The official podcast of comedian Joe Rogan. | Description text of the result. | ||
| data.artists[].externalUrl | string | No | https://open.spotify.com/show/4rOoJ6Egrf8K2IrywzwOMk | Link to the result on open.spotify.com. | ||
| data.artists[].imageUrl | string | No | https://i.scdn.co/image/ab67656300005f1f54e6837957803d762a3f4d2b | URL of the main image for the result. | ||
| data.artists[].images | array | No | Images available for the result, with their sizes. | |||
| data.artists[].images[].height | integer | No | 640 | Image height in pixels. | ||
| data.artists[].images[].url | string | No | https://i.scdn.co/image/ab6765630000ba8ab0484f8ee2933eceab32bac0 | URL of the image. | ||
| data.artists[].images[].width | integer | No | 640 | Image width in pixels. | ||
| data.artists[].publisher | string | No | Joe Rogan | Publisher or creator name of the result. | ||
| data.artists[].subtitle | string | No | Joe Rogan | Secondary line shown under the title, such as the artist or creator name. | ||
| data.artists[].title | string | No | The Joe Rogan Experience | Result title as Spotify shows it. | ||
| data.artists[].type | string | No | Podcast | Kind of result as Spotify labels it, for example `Podcast`. | ||
| data.artists[].uri | string | No | spotify:show:4rOoJ6Egrf8K2IrywzwOMk | Spotify URI of the result. | ||
| data.discNumber | integer | No | 1 | Disc number of the track within its album. | ||
| data.durationMs | integer | No | 234083 | Track length in milliseconds. | ||
| data.externalUrl | string | No | https://open.spotify.com/track/4vGg44GdCw3X8i8r01XJH0 | Link to the track on open.spotify.com. | ||
| data.id | string | No | 4vGg44GdCw3X8i8r01XJH0 | Spotify ID of the track. | ||
| data.imageUrl | string | No | https://i.scdn.co/image/ab67616d0000b273f377730d2a9c2e432139ac79 | URL of the track's cover image. | ||
| data.images | array | No | Cover images available for the track, with their sizes. | |||
| data.images[].height | integer | No | 640 | Image height in pixels. | ||
| data.images[].url | string | No | https://i.scdn.co/image/ab6765630000ba8ab0484f8ee2933eceab32bac0 | URL of the image. | ||
| data.images[].width | integer | No | 640 | Image width in pixels. | ||
| data.isExplicit | boolean | No | false | Whether Spotify marks the track as explicit. | ||
| data.isPlayable | boolean | No | true | Whether the track can be played. | ||
| data.meta | object | No | Details about this response. | |||
| data.meta.appVersion | string | No | 1.2.90.403.gf901f20f | Version of the Spotify web player the data was read from. | ||
| data.meta.fetchedAt | string | No | 2026-05-13T20:41:10Z | Time the data was fetched, in UTC (RFC 3339). | ||
| data.meta.operationName | string | No | getTrack | Name of the Spotify web player operation that returned the data. | ||
| data.name | string | No | Example Track | Track title as Spotify shows it. | ||
| data.playabilityReason | string | No | PLAYABLE | Reason code Spotify gives for the track's playability, for example `PLAYABLE`. | ||
| data.playcount | string | No | 13129249 | Number of times the track has been played, as Spotify shows it. | ||
| data.previewAudioUrl | string | No | https://p.scdn.co/mp3-preview/example | URL of an audio preview of the track. | ||
| data.previewAudioUrls | array | No | https://p.scdn.co/mp3-preview/example | URLs of the audio previews available for the track. | ||
| data.shareUrl | string | No | https://open.spotify.com/track/4vGg44GdCw3X8i8r01XJH0 | Link to the track that Spotify offers for sharing. | ||
| data.trackNumber | integer | No | 7 | Position of the track within its album. | ||
| data.type | string | No | Track | Kind of item as Spotify labels it, for example `Track`. | ||
| data.unplayabilityReasons | array | No | not_available_in_region | Reasons the track cannot be played, such as `not_available_in_region`. | ||
| data.uri | string | No | spotify:track:4vGg44GdCw3X8i8r01XJH0 | Spotify URI of the track. | ||
| msg | unknown | No | Msg is the message that describes the result of the request @example "Request successful" |
| Status | Description | Schema |
|---|---|---|
| 400 | Missing or invalid parameters | #/definitions/app.Response |
| 429 | Rate limit exceeded | #/definitions/app.Response |
| 503 | Spotify upstream request failed | #/definitions/app.Response |
Use environment variables for secrets and keep Crawlora API keys server-side.
curl -X GET "https://api.crawlora.net/api/v1/spotify/track" \
-H "x-api-key: $CRAWLORA_API_KEY"