Skip to content
DocumentationAPI Reference

Get Several Albums

client.albums.bulkRetrieve(AlbumBulkRetrieveParams { ids, market } query, RequestOptionsoptions?): AlbumBulkRetrieveResponse { albums }
GET/albums

Get Spotify catalog information for multiple albums identified by their Spotify IDs.

ParametersExpand Collapse
query: AlbumBulkRetrieveParams { ids, market }
ids: string

A comma-separated list of the Spotify IDs for the albums. Maximum: 20 IDs.

market?: string

An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned.
If a valid user access token is specified in the request header, the country associated with the user account will take priority over this parameter.
Note: If neither market or user country are provided, the content is considered unavailable for the client.
Users can view the country that is associated with their account in the account settings.

ReturnsExpand Collapse
AlbumBulkRetrieveResponse { albums }
albums: Array<Album>
id: string

The Spotify ID for the album.

album_type: "album" | "single" | "compilation"

The type of the album.

Accepts one of the following:
"album"
"single"
"compilation"
available_markets: Array<string>

The markets in which the album is available: ISO 3166-1 alpha-2 country codes. NOTE: an album is considered available in a market when at least 1 of its tracks is available in that market.

external_urls: ExternalURLObject { published, spotify }

Known external URLs for this album.

published?: boolean

The playlist's public/private status (if it should be added to the user's profile or not): true the playlist will be public, false the playlist will be private, null the playlist status is not relevant. For more about public/private status, see Working with Playlists

spotify?: string

The Spotify URL for the object.

href: string

A link to the Web API endpoint providing full details of the album.

images: Array<ImageObject { height, url, width, published } >

The cover art for the album in various sizes, widest first.

height: number | null

The image height in pixels.

url: string

The source URL of the image.

width: number | null

The image width in pixels.

published?: boolean

The playlist's public/private status (if it should be added to the user's profile or not): true the playlist will be public, false the playlist will be private, null the playlist status is not relevant. For more about public/private status, see Working with Playlists

name: string

The name of the album. In case of an album takedown, the value may be an empty string.

release_date: string

The date the album was first released.

release_date_precision: "year" | "month" | "day"

The precision with which release_date value is known.

Accepts one of the following:
"year"
"month"
"day"
total_tracks: number

The number of tracks in the album.

type: "album"

The object type.

uri: string

The Spotify URI for the album.

artists?: Array<SimplifiedArtistObject { id, external_urls, href, 4 more } >

The artists of the album. Each artist object includes a link in href to more detailed information about the artist.

id?: string

The Spotify ID for the artist.

external_urls?: ExternalURLObject { published, spotify }

Known external URLs for this artist.

published?: boolean

The playlist's public/private status (if it should be added to the user's profile or not): true the playlist will be public, false the playlist will be private, null the playlist status is not relevant. For more about public/private status, see Working with Playlists

spotify?: string

The Spotify URL for the object.

href?: string

A link to the Web API endpoint providing full details of the artist.

name?: string

The name of the artist.

published?: boolean

The playlist's public/private status (if it should be added to the user's profile or not): true the playlist will be public, false the playlist will be private, null the playlist status is not relevant. For more about public/private status, see Working with Playlists

type?: "artist"

The object type.

uri?: string

The Spotify URI for the artist.

copyrights?: Array<CopyrightObject { published, text, type } >

The copyright statements of the album.

The playlist's public/private status (if it should be added to the user's profile or not): true the playlist will be public, false the playlist will be private, null the playlist status is not relevant. For more about public/private status, see Working with Playlists

The copyright text for this content.

The type of copyright: C = the copyright, P = the sound recording (performance) copyright.

external_ids?: ExternalIDObject { ean, isrc, published, upc }

Known external IDs for the album.

published?: boolean

The playlist's public/private status (if it should be added to the user's profile or not): true the playlist will be public, false the playlist will be private, null the playlist status is not relevant. For more about public/private status, see Working with Playlists

Deprecatedgenres?: Array<string>

Deprecated The array is always empty.

label?: string

The label associated with the album.

popularity?: number

The popularity of the album. The value will be between 0 and 100, with 100 being the most popular.

published?: boolean

The playlist's public/private status (if it should be added to the user's profile or not): true the playlist will be public, false the playlist will be private, null the playlist status is not relevant. For more about public/private status, see Working with Playlists

restrictions?: AlbumRestrictionObject { published, reason }

Included in the response when a content restriction is applied.

published?: boolean

The playlist's public/private status (if it should be added to the user's profile or not): true the playlist will be public, false the playlist will be private, null the playlist status is not relevant. For more about public/private status, see Working with Playlists

reason?: "market" | "product" | "explicit"

The reason for the restriction. Albums may be restricted if the content is not available in a given market, to the user's subscription type, or when the user's account is set to not play explicit content. Additional reasons may be added in the future.

Accepts one of the following:
"market"
"product"
"explicit"
tracks?: Tracks { href, limit, next, 5 more }

The tracks of the album.

href: string

A link to the Web API endpoint returning the full result of the request

limit: number

The maximum number of items in the response (as set in the query or by default).

URL to the next page of items. ( null if none)

offset: number

The offset of the items returned (as set in the query or by default)

URL to the previous page of items. ( null if none)

total: number

The total number of items available to return.

items?: Array<SimplifiedTrackObject { id, artists, available_markets, 15 more } >
id?: string

The Spotify ID for the track.

artists?: Array<SimplifiedArtistObject { id, external_urls, href, 4 more } >

The artists who performed the track. Each artist object includes a link in href to more detailed information about the artist.

id?: string

The Spotify ID for the artist.

external_urls?: ExternalURLObject { published, spotify }

Known external URLs for this artist.

published?: boolean

The playlist's public/private status (if it should be added to the user's profile or not): true the playlist will be public, false the playlist will be private, null the playlist status is not relevant. For more about public/private status, see Working with Playlists

spotify?: string

The Spotify URL for the object.

href?: string

A link to the Web API endpoint providing full details of the artist.

name?: string

The name of the artist.

published?: boolean

The playlist's public/private status (if it should be added to the user's profile or not): true the playlist will be public, false the playlist will be private, null the playlist status is not relevant. For more about public/private status, see Working with Playlists

type?: "artist"

The object type.

uri?: string

The Spotify URI for the artist.

available_markets?: Array<string>

A list of the countries in which the track can be played, identified by their ISO 3166-1 alpha-2 code.

disc_number?: number

The disc number (usually 1 unless the album consists of more than one disc).

duration_ms?: number

The track length in milliseconds.

explicit?: boolean

Whether or not the track has explicit lyrics ( true = yes it does; false = no it does not OR unknown).

external_urls?: ExternalURLObject { published, spotify }

External URLs for this track.

published?: boolean

The playlist's public/private status (if it should be added to the user's profile or not): true the playlist will be public, false the playlist will be private, null the playlist status is not relevant. For more about public/private status, see Working with Playlists

spotify?: string

The Spotify URL for the object.

href?: string

A link to the Web API endpoint providing full details of the track.

is_local?: boolean

Whether or not the track is from a local file.

is_playable?: boolean

Part of the response when Track Relinking is applied. If true, the track is playable in the given market. Otherwise false.

linked_from?: LinkedTrackObject { id, external_urls, href, 3 more }

Part of the response when Track Relinking is applied and is only part of the response if the track linking, in fact, exists. The requested track has been replaced with a different track. The track in the linked_from object contains information about the originally requested track.

id?: string

The Spotify ID for the track.

external_urls?: ExternalURLObject { published, spotify }

Known external URLs for this track.

published?: boolean

The playlist's public/private status (if it should be added to the user's profile or not): true the playlist will be public, false the playlist will be private, null the playlist status is not relevant. For more about public/private status, see Working with Playlists

spotify?: string

The Spotify URL for the object.

href?: string

A link to the Web API endpoint providing full details of the track.

published?: boolean

The playlist's public/private status (if it should be added to the user's profile or not): true the playlist will be public, false the playlist will be private, null the playlist status is not relevant. For more about public/private status, see Working with Playlists

type?: string

The object type: "track".

uri?: string

The Spotify URI for the track.

name?: string

The name of the track.

Deprecatedpreview_url?: string | null

A URL to a 30 second preview (MP3 format) of the track.

published?: boolean

The playlist's public/private status (if it should be added to the user's profile or not): true the playlist will be public, false the playlist will be private, null the playlist status is not relevant. For more about public/private status, see Working with Playlists

restrictions?: TrackRestrictionObject { published, reason }

Included in the response when a content restriction is applied.

published?: boolean

The playlist's public/private status (if it should be added to the user's profile or not): true the playlist will be public, false the playlist will be private, null the playlist status is not relevant. For more about public/private status, see Working with Playlists

reason?: string

The reason for the restriction. Supported values:

  • market - The content item is not available in the given market.
  • product - The content item is not available for the user's subscription type.
  • explicit - The content item is explicit and the user's account is set to not play explicit content.

Additional reasons may be added in the future. Note: If you use this field, make sure that your application safely handles unknown values.

track_number?: number

The number of the track. If an album has several discs, the track number is the number on the specified disc.

type?: string

The object type: "track".

uri?: string

The Spotify URI for the track.

published?: boolean

The playlist's public/private status (if it should be added to the user's profile or not): true the playlist will be public, false the playlist will be private, null the playlist status is not relevant. For more about public/private status, see Working with Playlists

Get Several Albums

import Spotted from 'spotted-ts';

const client = new Spotted({
  accessToken: process.env['SPOTIFY_ACCESS_TOKEN'], // This is the default and can be omitted
});

const response = await client.albums.bulkRetrieve({
  ids: '382ObEPsp2rxGrnsizN5TX,1A2GTWGtFfWp7KSQTwWOyo,2noRn2Aes5aoNVsU6iWThc',
});

console.log(response.albums);
{
  "albums": [
    {
      "id": "2up3OPMp9Tb4dAKM2erWXQ",
      "album_type": "compilation",
      "available_markets": [
        "CA",
        "BR",
        "IT"
      ],
      "external_urls": {
        "published": true,
        "spotify": "spotify"
      },
      "href": "href",
      "images": [
        {
          "height": 300,
          "url": "https://i.scdn.co/image/ab67616d00001e02ff9ca10b55ce82ae553c8228\n",
          "width": 300,
          "published": true
        }
      ],
      "name": "name",
      "release_date": "1981-12",
      "release_date_precision": "year",
      "total_tracks": 9,
      "type": "album",
      "uri": "spotify:album:2up3OPMp9Tb4dAKM2erWXQ",
      "artists": [
        {
          "id": "id",
          "external_urls": {
            "published": true,
            "spotify": "spotify"
          },
          "href": "href",
          "name": "name",
          "published": true,
          "type": "artist",
          "uri": "uri"
        }
      ],
      "copyrights": [
        {
          "published": true,
          "text": "text",
          "type": "type"
        }
      ],
      "external_ids": {
        "ean": "ean",
        "isrc": "isrc",
        "published": true,
        "upc": "upc"
      },
      "genres": [
        "string"
      ],
      "label": "label",
      "popularity": 0,
      "published": true,
      "restrictions": {
        "published": true,
        "reason": "market"
      },
      "tracks": {
        "href": "https://api.spotify.com/v1/me/shows?offset=0&limit=20\n",
        "limit": 20,
        "next": "https://api.spotify.com/v1/me/shows?offset=1&limit=1",
        "offset": 0,
        "previous": "https://api.spotify.com/v1/me/shows?offset=1&limit=1",
        "total": 4,
        "items": [
          {
            "id": "id",
            "artists": [
              {
                "id": "id",
                "external_urls": {
                  "published": true,
                  "spotify": "spotify"
                },
                "href": "href",
                "name": "name",
                "published": true,
                "type": "artist",
                "uri": "uri"
              }
            ],
            "available_markets": [
              "string"
            ],
            "disc_number": 0,
            "duration_ms": 0,
            "explicit": true,
            "external_urls": {
              "published": true,
              "spotify": "spotify"
            },
            "href": "href",
            "is_local": true,
            "is_playable": true,
            "linked_from": {
              "id": "id",
              "external_urls": {
                "published": true,
                "spotify": "spotify"
              },
              "href": "href",
              "published": true,
              "type": "type",
              "uri": "uri"
            },
            "name": "name",
            "preview_url": "preview_url",
            "published": true,
            "restrictions": {
              "published": true,
              "reason": "reason"
            },
            "track_number": 0,
            "type": "type",
            "uri": "uri"
          }
        ],
        "published": true
      }
    }
  ]
}
Returns Examples
{
  "albums": [
    {
      "id": "2up3OPMp9Tb4dAKM2erWXQ",
      "album_type": "compilation",
      "available_markets": [
        "CA",
        "BR",
        "IT"
      ],
      "external_urls": {
        "published": true,
        "spotify": "spotify"
      },
      "href": "href",
      "images": [
        {
          "height": 300,
          "url": "https://i.scdn.co/image/ab67616d00001e02ff9ca10b55ce82ae553c8228\n",
          "width": 300,
          "published": true
        }
      ],
      "name": "name",
      "release_date": "1981-12",
      "release_date_precision": "year",
      "total_tracks": 9,
      "type": "album",
      "uri": "spotify:album:2up3OPMp9Tb4dAKM2erWXQ",
      "artists": [
        {
          "id": "id",
          "external_urls": {
            "published": true,
            "spotify": "spotify"
          },
          "href": "href",
          "name": "name",
          "published": true,
          "type": "artist",
          "uri": "uri"
        }
      ],
      "copyrights": [
        {
          "published": true,
          "text": "text",
          "type": "type"
        }
      ],
      "external_ids": {
        "ean": "ean",
        "isrc": "isrc",
        "published": true,
        "upc": "upc"
      },
      "genres": [
        "string"
      ],
      "label": "label",
      "popularity": 0,
      "published": true,
      "restrictions": {
        "published": true,
        "reason": "market"
      },
      "tracks": {
        "href": "https://api.spotify.com/v1/me/shows?offset=0&limit=20\n",
        "limit": 20,
        "next": "https://api.spotify.com/v1/me/shows?offset=1&limit=1",
        "offset": 0,
        "previous": "https://api.spotify.com/v1/me/shows?offset=1&limit=1",
        "total": 4,
        "items": [
          {
            "id": "id",
            "artists": [
              {
                "id": "id",
                "external_urls": {
                  "published": true,
                  "spotify": "spotify"
                },
                "href": "href",
                "name": "name",
                "published": true,
                "type": "artist",
                "uri": "uri"
              }
            ],
            "available_markets": [
              "string"
            ],
            "disc_number": 0,
            "duration_ms": 0,
            "explicit": true,
            "external_urls": {
              "published": true,
              "spotify": "spotify"
            },
            "href": "href",
            "is_local": true,
            "is_playable": true,
            "linked_from": {
              "id": "id",
              "external_urls": {
                "published": true,
                "spotify": "spotify"
              },
              "href": "href",
              "published": true,
              "type": "type",
              "uri": "uri"
            },
            "name": "name",
            "preview_url": "preview_url",
            "published": true,
            "restrictions": {
              "published": true,
              "reason": "reason"
            },
            "track_number": 0,
            "type": "type",
            "uri": "uri"
          }
        ],
        "published": true
      }
    }
  ]
}