Spotify API endpoint
Lists the tracks of a Spotify album, identified by `uri` (a Spotify URI or open.spotify.com URL) or `id`. `offset` defaults to 0 and `limit` runs 1 to 50, default 50. Each track has its title, URI, subtitle, image and URL. The album's name, artists and track total come back alongside. An invalid identifier returns 400.
/spotify/album/tracksReturns track summaries for a Spotify album.
uri: Spotify album URI or open.spotify.com/album/... URL.id: Spotify album ID. Used when uri is omitted.offset: Track offset. Defaults to 0.limit: Track limit, clamped to 1-50. Defaults to 50.The response shape matches /spotify/album, with the tracks array populated. Invalid identifiers return 400; upstream failures return 503.
| Field | Filled in, of 18 checked | Values in the sample |
|---|---|---|
| uri | 18 | “spotify:track:6OmhkSOpvYBokMKQxpIGx2” and 17 other values |
| title | 18 | “Global Warming (feat. Sensato)” and 17 other values |
| externalUrl | 18 | open.spotify.com |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| uri | string | No | Spotify album URI or open.spotify.com album URL | spotify:album:4aawyAB9vmqN3uQ7FjRGTy | |
| id | string | No | Spotify album ID | 4aawyAB9vmqN3uQ7FjRGTy | |
| offset | integer | No | Track offset | 0 | |
| limit | integer | No | Track limit, clamped to 1-50 | 50 | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/spotify/album/tracks?limit=10" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"uri": "spotify:album:4aawyAB9vmqN3uQ7FjRGTy",
"tracks": [
{
"uri": "spotify:track:4vGg44GdCw3X8i8r01XJH0",
"title": "Example Track"
}
],
"meta": {
"operationName": "getAlbum",
"trackCount": 1,
"fetchedAt": "2026-05-13T20:41:13Z"
}
}
}Request schema
No body schema
Response schema
#/definitions/spotify.albumResponseDoc
| 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.AlbumResponse | No | ||||
| data.albumType | string | No | Album format as Spotify labels it. | |||
| data.artists | array | No | Artists credited on the album. | |||
| 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.copyrights | array | No | Copyright notices listed for the album. | |||
| data.durationMs | integer | No | Total album length in milliseconds. | |||
| data.externalUrl | string | No | Link to the album on open.spotify.com. | |||
| data.id | string | No | Spotify ID of the album. | |||
| data.imageUrl | string | No | URL of the album cover image. | |||
| data.images | array | No | Cover images available for the album, 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 | Whether Spotify marks the album as explicit. | |||
| data.isPlayable | boolean | No | Whether the album can be played. | |||
| data.limit | integer | No | Maximum number of tracks requested. | |||
| data.meta | object | No | Details about this response. | |||
| data.meta.appVersion | string | No | Version of the Spotify web player the data was read from. | |||
| data.meta.fetchedAt | string | No | Time the data was fetched, in UTC (RFC 3339). | |||
| data.meta.operationName | string | No | Name of the Spotify web player operation that returned the data. | |||
| data.meta.trackCount | integer | No | Number of tracks returned. | |||
| data.name | string | No | Album title as Spotify shows it. | |||
| data.offset | integer | No | Position of the first track returned. | |||
| data.releaseDate | string | No | Date the album was released, as Spotify returns it. | |||
| data.shareUrl | string | No | Link to the album that Spotify offers for sharing. | |||
| data.totalTracks | integer | No | Total number of tracks on the album. | |||
| data.tracks | array | No | Tracks returned for the album. | |||
| data.tracks[].description | string | No | The official podcast of comedian Joe Rogan. | Description text of the result. | ||
| data.tracks[].externalUrl | string | No | https://open.spotify.com/show/4rOoJ6Egrf8K2IrywzwOMk | Link to the result on open.spotify.com. | ||
| data.tracks[].imageUrl | string | No | https://i.scdn.co/image/ab67656300005f1f54e6837957803d762a3f4d2b | URL of the main image for the result. | ||
| data.tracks[].images | array | No | Images available for the result, with their sizes. | |||
| data.tracks[].images[].height | integer | No | 640 | Image height in pixels. | ||
| data.tracks[].images[].url | string | No | https://i.scdn.co/image/ab6765630000ba8ab0484f8ee2933eceab32bac0 | URL of the image. | ||
| data.tracks[].images[].width | integer | No | 640 | Image width in pixels. | ||
| data.tracks[].publisher | string | No | Joe Rogan | Publisher or creator name of the result. | ||
| data.tracks[].subtitle | string | No | Joe Rogan | Secondary line shown under the title, such as the artist or creator name. | ||
| data.tracks[].title | string | No | The Joe Rogan Experience | Result title as Spotify shows it. | ||
| data.tracks[].type | string | No | Podcast | Kind of result as Spotify labels it, for example `Podcast`. | ||
| data.tracks[].uri | string | No | spotify:show:4rOoJ6Egrf8K2IrywzwOMk | Spotify URI of the result. | ||
| data.type | string | No | Kind of item as Spotify labels it, for example `Album`. | |||
| data.uri | string | No | Spotify URI of the album. | |||
| msg | unknown | No | Msg is the message that describes the result of the request @example "Request successful" |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 429 | Too Many Requests | #/definitions/app.Response |
| 503 | Service Unavailable | #/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/album/tracks?limit=10" \
-H "x-api-key: $CRAWLORA_API_KEY"