Amazon Developer

as

Settings
Sign out
Notifications
Alexa
Amazon Appstore
Ring
AWS
Documentation
Support
Contact Us
My Cases

Amazon Music Web API

Web API Browse V2.0

Browse

Get user's personalized top tracks

GET
/v2/browse/tracks/top
Authorization Scope: [music::catalog]
Retrieve a personalized list of top tracks based on the calling user's listening history.

Paginated with forward-only cursor navigation. Default page size is 20 items; maximum is 100. Use the nextToken from the response to fetch the next page via the after query parameter.

Supports sparse fieldsets via query parameters:

  • fields[track] — Comma-separated track fields (e.g. title,id,duration,album,artists)
  • fields[album] — Comma-separated album fields (e.g. title,id)
  • fields[artist] — Comma-separated artist fields (e.g. name)

Query Parameters

Name Data Type Required Description
first integer No Number of items to return
after string No Cursor to start after

Response 200

Successful response

Response Schema

items
Track[]
Page of results.
nextToken
string
Cursor for the next page. Absent on the last page.

Example

Personalized top tracks for the calling user with full Track fields

{
  "items": [
    {
      "id": "B084KPC3Q7",
      "title": "Selfless",
      "duration": 222,
      "isrc": "USRC11902727",
      "audioQualities": [
        "HD"
      ],
      "mediaType": "audio",
      "releaseDate": "2020-04-10T00:00:00.000Z",
      "label": "Cult",
      "url": "https://music.amazon.com/albums/B084KP4NBH/?trackAsin=B084KPC3Q7",
      "album": {
        "id": "B084KP4NBH",
        "title": "The New Abnormal"
      },
      "artists": [
        {
          "id": "B00G70DLAS",
          "name": "the-strokes"
        }
      ],
      "parentalSettings": {
        "hasExplicitLanguage": false
      }
    },
    {
      "id": "B004S8NBPG",
      "title": "Metabolism",
      "duration": 181,
      "isrc": "USRC10500421",
      "audioQualities": [
        "HD"
      ],
      "mediaType": "audio",
      "releaseDate": "2006-01-03T00:00:00.000Z",
      "label": "Cult",
      "url": "https://music.amazon.com/albums/B084KP4NBH/?trackAsin=B004S8NBPG",
      "album": {
        "id": "B084KP4NBH",
        "title": "The New Abnormal"
      },
      "artists": [
        {
          "id": "B00G70DLAS",
          "name": "the-strokes"
        }
      ],
      "parentalSettings": {
        "hasExplicitLanguage": false
      }
    }
  ],
  "nextToken": "B0EXAMP230"
}

Sparse Fieldsets Example

Sparse fieldsets — fields[track]=title,id,duration,artists&fields[artist]=name

{
  "items": [
    {
      "id": "B084KPC3Q7",
      "title": "Selfless",
      "duration": 222,
      "artists": [
        {
          "id": "B00G70DLAS",
          "name": "the-strokes"
        }
      ]
    },
    {
      "id": "B004S8NBPG",
      "title": "Metabolism",
      "duration": 181,
      "artists": [
        {
          "id": "B00G70DLAS",
          "name": "the-strokes"
        }
      ]
    }
  ],
  "nextToken": "B0EXAMP230"
}

Error Responses

Response Code Status Message
400 BAD_REQUEST 400 first parameter must be between 1 and 100

400 Example

{
  "error": {
    "code": "BAD_REQUEST",
    "message": "first parameter must be between 1 and 100",
    "traceId": "1-abc-def"
  }
}

Get tracks for a category

GET
/v2/browse/categories/{id}/tracks
Authorization Scope: [music::catalog]
Retrieve a list of tracks tagged with a particular category (e.g. a genre, mood, or editorial category).

Paginated with forward-only cursor navigation. Default page size is 20 items; maximum is 100. Use the nextToken from the response to fetch the next page via the after query parameter.

Supports sparse fieldsets via query parameters:

  • fields[track] — Comma-separated track fields (e.g. title,id,duration,album,artists)
  • fields[album] — Comma-separated album fields (e.g. title,id)
  • fields[artist] — Comma-separated artist fields (e.g. name)

Path Parameters

Name Data Type Required Description
id string Yes Unique identifier for the resource

Query Parameters

Name Data Type Required Description
first integer No Number of items to return
after string No Cursor to start after

Response 200

Successful response

Response Schema

items
Track[]
Page of results.
nextToken
string
Cursor for the next page. Absent on the last page.

Example

Tracks for category B0EXAMP500 "Indie Rock" with full Track fields

{
  "items": [
    {
      "id": "B084KPC3Q7",
      "title": "Selfless",
      "duration": 222,
      "isrc": "USRC11902727",
      "audioQualities": [
        "HD"
      ],
      "mediaType": "audio",
      "releaseDate": "2020-04-10T00:00:00.000Z",
      "label": "Cult",
      "url": "https://music.amazon.com/albums/B084KP4NBH/?trackAsin=B084KPC3Q7",
      "album": {
        "id": "B084KP4NBH",
        "title": "The New Abnormal"
      },
      "artists": [
        {
          "id": "B00G70DLAS",
          "name": "the-strokes"
        }
      ],
      "parentalSettings": {
        "hasExplicitLanguage": false
      }
    },
    {
      "id": "B004S8NBPG",
      "title": "Metabolism",
      "duration": 181,
      "isrc": "USRC10500421",
      "audioQualities": [
        "HD"
      ],
      "mediaType": "audio",
      "releaseDate": "2006-01-03T00:00:00.000Z",
      "label": "Cult",
      "url": "https://music.amazon.com/albums/B084KP4NBH/?trackAsin=B004S8NBPG",
      "album": {
        "id": "B084KP4NBH",
        "title": "The New Abnormal"
      },
      "artists": [
        {
          "id": "B00G70DLAS",
          "name": "the-strokes"
        }
      ],
      "parentalSettings": {
        "hasExplicitLanguage": false
      }
    }
  ],
  "nextToken": "B0EXAMP220"
}

Sparse Fieldsets Example

Sparse fieldsets — fields[track]=title,id,duration,artists&fields[artist]=name

{
  "items": [
    {
      "id": "B084KPC3Q7",
      "title": "Selfless",
      "duration": 222,
      "artists": [
        {
          "id": "B00G70DLAS",
          "name": "the-strokes"
        }
      ]
    },
    {
      "id": "B004S8NBPG",
      "title": "Metabolism",
      "duration": 181,
      "artists": [
        {
          "id": "B00G70DLAS",
          "name": "the-strokes"
        }
      ]
    }
  ],
  "nextToken": "B0EXAMP220"
}

Error Responses

Response Code Status Message
400 BAD_REQUEST 400 first parameter must be between 1 and 100
404 NOT_FOUND 404 Category not found

400 Example

{
  "error": {
    "code": "BAD_REQUEST",
    "message": "first parameter must be between 1 and 100",
    "traceId": "1-abc-def"
  }
}

404 Example

{
  "error": {
    "code": "NOT_FOUND",
    "message": "Category not found",
    "traceId": "1-abc-def"
  }
}