---
title: "Spotify Album API"
method: GET
path: "/v1/spotify/album"
tags: ["Spotify"]
---

# Spotify Album API

`GET /v1/spotify/album`

## Request

- Base URL: `https://api.captapi.com`
- URL: `https://api.captapi.com/v1/spotify/album`
- Auth: one of:
  - HTTP bearer
  - API key in header `X-API-Key`

Spotify album — tracks[] with playCount, joinable artists[], releaseDate, explicit (1 credit).

Pass a Spotify album URL, URI, or ID and get clean JSON: name, artists[{id,uri,name,url}] (chain into /spotify/artist), tracks[{id,trackNumber,discNumber,name,uri,url,durationMs,playCount,explicit,artists}] from tracksV2 (per-track stream counts; id matches the uri suffix for joins into /spotify/track), totalTracks, releaseDate (full ISO — not year-only), releaseYear, album-level explicit (true if any track label is EXPLICIT), and cover image. Flat 1 credit (same as artist/track — not 2). Pass raw=true only if you need the full GraphQL payload (omitted by default).

Docs: https://captapi.com/apis/spotify-album

## Query parameters

- `url` string, required
- `raw` boolean
- `cache` boolean

## Response `200`

Success. The data object for this endpoint.

- object
  - `success` unknown, required
  - `data` object, required
    - `platform` string: Always "spotify" on this endpoint.
    - `type` string: Content type of the item.
    - `uri` string: Platform URI for the item.
    - `url` string: Canonical URL of the item.
    - `name` string: Album title. Not a profile displayName alias.
    - `artists` object[]: Album artists as [{id, uri, name, url}] — chain uri into /spotify/artist.
      - `id` string: Id of this artists item.
      - `uri` string: Platform URI for the item.
      - `name` string: Artist display name.
      - `url` string: Canonical URL of the item.
    - `releaseYear` integer: Convenience year derived from releaseDate / date.year.
    - `image` string: Image URL.
    - `totalTracks` integer: Album track count from Spotify (matches tracks[] length when the catalog page is complete).
    - `tracks` object[]
      - `trackNumber` integer: Track position on the album.
      - `discNumber` integer: Disc number. Example: 1.
      - `name` string: Track title.
      - `uri` string: Platform URI for the item.
      - `url` string: Canonical URL of the item.
      - `durationMs` integer: Length in milliseconds.
      - `playCount` integer: Lifetime stream count for a tracks[] row (same GraphQL metric as /spotify/track).
      - `explicit` boolean: True if any track contentRating is EXPLICIT; false when no track is EXPLICIT.
      - `artists` object[]: Album artists as [{id, uri, name, url}] — chain uri into /spotify/artist.
        - `id` string: Id of this artists item.
        - `uri` string: Platform URI for the item.
        - `name` string: Artist display name.
        - `url` string: Canonical URL of the item.
    - `tracksHasMore` boolean: True when totalTracks exceeds the tracks[] page returned (rare after full pagination).
    - `releaseDate` string: Full album release timestamp (ISO) when Spotify precision is DAY — prefer over releaseYear alone.
    - `explicit` boolean: True if any track contentRating is EXPLICIT; false when no track is EXPLICIT.
    - `id` string: Stable platform ID for the item.

## Other responses

- `400`: Bad request: wrong platform URL, unknown endpoint, or an invalid parameter value. Not billed.
- `401`: Missing, invalid or revoked API key. Not billed.
- `402`: Not enough credits for this request. Not billed.
- `404`: The resource does not exist or is not public. Not billed.
- `422`: A required parameter is missing or has the wrong type. Not billed.
- `429`: Rate limit reached. Wait for Retry-After seconds. Not billed.
- `502`: The platform could not be reached or returned nothing usable. Retryable, not billed. 503 and 504 use the same envelope.

---

[API](https://skmtc.dev/captapi/apis/captapi-api.md) · [All operations](https://skmtc.dev/captapi/apis/captapi-api/llms.txt) · [OpenAPI document](https://skmtc.dev/captapi/apis/captapi-api/revisions/c9b9ac5ff1bd?raw)
