Skip to content
DocumentationAPI Reference

Get User's Saved Audiobooks

AudiobookListPageResponse Me.Audiobooks.List(AudiobookListParams?parameters, CancellationTokencancellationToken = default)
GET/me/audiobooks

Get a list of the audiobooks saved in the current Spotify user's 'Your Music' library.

ParametersExpand Collapse
AudiobookListParams parameters
Long limit

The maximum number of items to return. Default: 20. Minimum: 1. Maximum: 50.

minimum1
maximum50
Long offset

The index of the first item to return. Default: 0 (the first item). Use with limit to get the next set of items.

ReturnsExpand Collapse
class AudiobookListPageResponse:
required string Href

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

required Long Limit

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)

required Long Offset

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

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

required Long Total

The total number of items available to return.

IReadOnlyList<AudiobookListResponse> Items
DateTimeOffset AddedAt

The date and time the audiobook was saved Timestamps are returned in ISO 8601 format as Coordinated Universal Time (UTC) with a zero offset: YYYY-MM-DDTHH:MM:SSZ. If the time is imprecise (for example, the date/time of an album release), an additional field indicates the precision; see for example, release_date in an album object.

formatdate-time
Audiobook Audiobook

Information about the audiobook.

required Chapters Chapters

The chapters of the audiobook.

required string Href

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

required Long Limit

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)

required Long Offset

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

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

required Long Total

The total number of items available to return.

IReadOnlyList<SimplifiedChapterObject> Items
required string ID

The Spotify ID for the chapter.

Deprecatedrequired string? AudioPreviewUrl

A URL to a 30 second preview (MP3 format) of the chapter. null if not available.

required Long ChapterNumber

The number of the chapter

required string Description

A description of the chapter. HTML tags are stripped away from this field, use html_description field in case HTML tags are needed.

required Long DurationMs

The chapter length in milliseconds.

required Boolean Explicit

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

required ExternalUrlObject ExternalUrls

External URLs for this chapter.

Boolean Published

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

string Spotify

The Spotify URL for the object.

required string Href

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

required string HtmlDescription

A description of the chapter. This field may contain HTML tags.

required IReadOnlyList<ImageObject> Images

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

required Long? Height

The image height in pixels.

required string Url

The source URL of the image.

required Long? Width

The image width in pixels.

Boolean Published

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

required Boolean IsPlayable

True if the chapter is playable in the given market. Otherwise false.

required IReadOnlyList<string> Languages

A list of the languages used in the chapter, identified by their ISO 639-1 code.

required string Name

The name of the chapter.

required string ReleaseDate

The date the chapter was first released, for example "1981-12-15". Depending on the precision, it might be shown as "1981" or "1981-12".

required ReleaseDatePrecision ReleaseDatePrecision

The precision with which release_date value is known.

Accepts one of the following:
"year"Year
"month"Month
"day"Day
JsonElement Type "episode"constant

The object type.

required string Uri

The Spotify URI for the chapter.

IReadOnlyList<string> AvailableMarkets

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

Boolean Published

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

Included in the response when a content restriction is applied.

Boolean Published

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

string Reason

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.
  • payment_required - Payment is required to play the content item.

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

ResumePointObject ResumePoint

The user's most recent position in the chapter. Set if the supplied access token is a user token and has the scope 'user-read-playback-position'.

Boolean FullyPlayed

Whether or not the episode has been fully played by the user.

Boolean Published

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

Long ResumePositionMs

The user's most recent position in the episode in milliseconds.

Boolean Published

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

Boolean Published

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

Boolean Published

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 User's Saved Audiobooks

AudiobookListParams parameters = new();

var page = await client.Me.Audiobooks.List(parameters);
await foreach (var item in page.Paginate())
{
    Console.WriteLine(item);
}
{
  "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": [
    {
      "added_at": "2019-12-27T18:11:19.117Z",
      "audiobook": {
        "id": "id",
        "authors": [
          {
            "name": "name",
            "published": true
          }
        ],
        "available_markets": [
          "string"
        ],
        "copyrights": [
          {
            "published": true,
            "text": "text",
            "type": "type"
          }
        ],
        "description": "description",
        "explicit": true,
        "external_urls": {
          "published": true,
          "spotify": "spotify"
        },
        "href": "href",
        "html_description": "html_description",
        "images": [
          {
            "height": 300,
            "url": "https://i.scdn.co/image/ab67616d00001e02ff9ca10b55ce82ae553c8228\n",
            "width": 300,
            "published": true
          }
        ],
        "languages": [
          "string"
        ],
        "media_type": "media_type",
        "name": "name",
        "narrators": [
          {
            "name": "name",
            "published": true
          }
        ],
        "publisher": "publisher",
        "total_chapters": 0,
        "type": "audiobook",
        "uri": "uri",
        "edition": "Unabridged",
        "published": true,
        "chapters": {
          "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": "5Xt5DXGzch68nYYamXrNxZ",
              "audio_preview_url": "https://p.scdn.co/mp3-preview/2f37da1d4221f40b9d1a98cd191f4d6f1646ad17",
              "chapter_number": 1,
              "description": "We kept on ascending, with occasional periods of quick descent, but in the main always ascending. Suddenly, I became conscious of the fact that the driver was in the act of pulling up the horses in the courtyard of a vast ruined castle, from whose tall black windows came no ray of light, and whose broken battlements showed a jagged line against the moonlit sky.\n",
              "duration_ms": 1686230,
              "explicit": true,
              "external_urls": {
                "published": true,
                "spotify": "spotify"
              },
              "href": "https://api.spotify.com/v1/episodes/5Xt5DXGzch68nYYamXrNxZ",
              "html_description": "<p>We kept on ascending, with occasional periods of quick descent, but in the main always ascending. Suddenly, I became conscious of the fact that the driver was in the act of pulling up the horses in the courtyard of a vast ruined castle, from whose tall black windows came no ray of light, and whose broken battlements showed a jagged line against the moonlit sky.</p>\n",
              "images": [
                {
                  "height": 300,
                  "url": "https://i.scdn.co/image/ab67616d00001e02ff9ca10b55ce82ae553c8228\n",
                  "width": 300,
                  "published": true
                }
              ],
              "is_playable": true,
              "languages": [
                "fr",
                "en"
              ],
              "name": "Starting Your Own Podcast: Tips, Tricks, and Advice From Anchor Creators\n",
              "release_date": "1981-12-15",
              "release_date_precision": "day",
              "type": "episode",
              "uri": "spotify:episode:0zLhl3WsOCQHbe1BPTiHgr",
              "available_markets": [
                "string"
              ],
              "published": true,
              "restrictions": {
                "published": true,
                "reason": "reason"
              },
              "resume_point": {
                "fully_played": true,
                "published": true,
                "resume_position_ms": 0
              }
            }
          ],
          "published": true
        }
      },
      "published": true
    }
  ],
  "published": true
}
Returns Examples
{
  "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": [
    {
      "added_at": "2019-12-27T18:11:19.117Z",
      "audiobook": {
        "id": "id",
        "authors": [
          {
            "name": "name",
            "published": true
          }
        ],
        "available_markets": [
          "string"
        ],
        "copyrights": [
          {
            "published": true,
            "text": "text",
            "type": "type"
          }
        ],
        "description": "description",
        "explicit": true,
        "external_urls": {
          "published": true,
          "spotify": "spotify"
        },
        "href": "href",
        "html_description": "html_description",
        "images": [
          {
            "height": 300,
            "url": "https://i.scdn.co/image/ab67616d00001e02ff9ca10b55ce82ae553c8228\n",
            "width": 300,
            "published": true
          }
        ],
        "languages": [
          "string"
        ],
        "media_type": "media_type",
        "name": "name",
        "narrators": [
          {
            "name": "name",
            "published": true
          }
        ],
        "publisher": "publisher",
        "total_chapters": 0,
        "type": "audiobook",
        "uri": "uri",
        "edition": "Unabridged",
        "published": true,
        "chapters": {
          "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": "5Xt5DXGzch68nYYamXrNxZ",
              "audio_preview_url": "https://p.scdn.co/mp3-preview/2f37da1d4221f40b9d1a98cd191f4d6f1646ad17",
              "chapter_number": 1,
              "description": "We kept on ascending, with occasional periods of quick descent, but in the main always ascending. Suddenly, I became conscious of the fact that the driver was in the act of pulling up the horses in the courtyard of a vast ruined castle, from whose tall black windows came no ray of light, and whose broken battlements showed a jagged line against the moonlit sky.\n",
              "duration_ms": 1686230,
              "explicit": true,
              "external_urls": {
                "published": true,
                "spotify": "spotify"
              },
              "href": "https://api.spotify.com/v1/episodes/5Xt5DXGzch68nYYamXrNxZ",
              "html_description": "<p>We kept on ascending, with occasional periods of quick descent, but in the main always ascending. Suddenly, I became conscious of the fact that the driver was in the act of pulling up the horses in the courtyard of a vast ruined castle, from whose tall black windows came no ray of light, and whose broken battlements showed a jagged line against the moonlit sky.</p>\n",
              "images": [
                {
                  "height": 300,
                  "url": "https://i.scdn.co/image/ab67616d00001e02ff9ca10b55ce82ae553c8228\n",
                  "width": 300,
                  "published": true
                }
              ],
              "is_playable": true,
              "languages": [
                "fr",
                "en"
              ],
              "name": "Starting Your Own Podcast: Tips, Tricks, and Advice From Anchor Creators\n",
              "release_date": "1981-12-15",
              "release_date_precision": "day",
              "type": "episode",
              "uri": "spotify:episode:0zLhl3WsOCQHbe1BPTiHgr",
              "available_markets": [
                "string"
              ],
              "published": true,
              "restrictions": {
                "published": true,
                "reason": "reason"
              },
              "resume_point": {
                "fully_played": true,
                "published": true,
                "resume_position_ms": 0
              }
            }
          ],
          "published": true
        }
      },
      "published": true
    }
  ],
  "published": true
}