Amazon Developer

as

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

Amazon Music Web API

Web API Users V2.0

Users

Get multiple users

GET
/v2/users
Authorization Scope: [music::catalog]
Get public profile information for multiple AmazonMusic users identified by their IDs. Pass a comma-separated list of user IDs via the `ids` query parameter; maximum 100 IDs per request.

Query Parameters

Name Data Type Required Description
ids string[] Yes Comma-separated list of user IDs (max 100)

Response 200

Successful response

Response Schema

(array)
User[]
List of requested users

Example

[
  {
    "id": "B0DCXMPL01",
    "name": "John",
    "handle": "john123",
    "visibility": "PUBLIC",
    "url": "https://music.amazon.com/users/B0DCXMPL01",
    "images": [
      {
        "url": "https://m.media-amazon.com/images/I/user-profile-1.jpg",
        "width": 400,
        "height": 400
      }
    ]
  },
  {
    "id": "B0DCXMPL02",
    "name": "Jane",
    "handle": "jane456",
    "visibility": "PUBLIC",
    "url": "https://music.amazon.com/users/B0DCXMPL02",
    "images": [
      {
        "url": "https://m.media-amazon.com/images/I/user-profile-2.jpg",
        "width": 400,
        "height": 400
      }
    ]
  }
]

Error Responses

Response Code Status Message
400 BAD_REQUEST 400 ids parameter is required and must contain 1-100 comma-separated IDs

400 Example

{
  "error": {
    "code": "BAD_REQUEST",
    "message": "ids parameter is required and must contain 1-100 comma-separated IDs",
    "traceId": "1-abc-def"
  }
}

Get user by ID

GET
/v2/users/{id}
Authorization Scope: [music::catalog]
Retrieve a public AmazonMusic user's profile by id, including display name, handle, profile images, and visibility settings (`visibility`, `playbackVisibility`). Only publicly visible fields are returned; a private or non-existent profile yields a 404.

Path Parameters

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

Response 200

Successful response

Response Schema

_type
string
Discriminator value identifying this entity as a User
id
string
Unique user identifier
name
string
Display name of the user
handle
string
Public handle (username) chosen by the user
url
string [format=uri]
URL into AmazonMusic for this user profile
visibility
VisibilityType
Visibility setting that controls who can see this user's public profile.
playbackVisibility
VisibilityType
Visibility setting that controls who can see this user's playback activity.
countryCode
string
ISO 3166-1 alpha-2 country code of the music territory this user is currently authenticated against. Set by the service from the auth context for `me`-scoped responses; not present on third-party user lookups.
tier
enum (FREE|PRIME|UNLIMITED)
Subscription tier of the user.
images
Image[]
Avatar images for this user

Example

{
  "id": "B0DCXMPL01",
  "name": "John",
  "handle": "john123",
  "visibility": "PUBLIC",
  "playbackVisibility": "PUBLIC",
  "url": "https://music.amazon.com/users/B0DCXMPL01",
  "images": [
    {
      "url": "https://m.media-amazon.com/images/I/user-profile.jpg",
      "width": 400,
      "height": 400
    }
  ]
}

Error Responses

Response Code Status Message
404 NOT_FOUND 404 User not found

404 Example

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

Get a user's playlists

GET
/v2/users/{id}/playlists
Authorization Scope: [music::catalog]
List the public playlists owned by an AmazonMusic user. Private playlists are never returned. Results are paginated with a forward-only cursor: set the page size with `first` (maximum 100) and pass the returned `nextToken` as the `after` cursor.

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 Maximum number of playlists to return
after string No Cursor for pagination

Response 200

Successful response

Response Schema

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

Example

{
  "items": [
    {
      "id": "B07GFQ5KZY",
      "title": "My Favorites",
      "trackCount": 42,
      "url": "https://music.amazon.com/playlists/B07GFQ5KZY",
      "images": [
        {
          "url": "https://m.media-amazon.com/images/I/playlist-cover.jpg",
          "width": 640,
          "height": 640
        }
      ]
    }
  ],
  "nextToken": "B0NEXTPG01"
}

Error Responses

Response Code Status Message
404 NOT_FOUND 404 User not found

404 Example

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

Get a user's recently played tracks

GET
/v2/users/{id}/recently-played
Authorization Scope: [music::catalog]
List the entities a public AmazonMusic user has recently played, optionally filtered by `entityTypes` (a comma-separated list). Results are paginated with a forward-only cursor: set the page size with `first` (maximum 100) and pass the returned `nextToken` as the `after` cursor.

Path Parameters

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

Query Parameters

Name Data Type Required Description
entityTypes string[] No Comma-separated entity types to filter
first integer No Maximum number of tracks to return
after string No Cursor for pagination

Response 200

Successful response

Response Schema

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

Example

{
  "items": [
    {
      "id": "B000X6FP38",
      "title": "Goliath",
      "duration": 365
    }
  ],
  "nextToken": "B0NEXTPG01"
}

Error Responses

Response Code Status Message
404 NOT_FOUND 404 User not found

404 Example

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

Get a user's followers

GET
/v2/users/{id}/followers
Authorization Scope: [music::catalog]
List the followers of a public AmazonMusic user. Results are paginated with a forward-only cursor: set the page size with `first` (maximum 100) and pass the returned `nextToken` as the `after` cursor to retrieve subsequent pages.

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 Maximum number of users to return
after string No Cursor for pagination

Response 200

Successful response

Response Schema

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

Example

{
  "items": [
    {
      "id": "B0DCXMPL01",
      "name": "John",
      "handle": "john123",
      "url": "https://music.amazon.com/users/B0DCXMPL01",
      "images": [
        {
          "url": "https://m.media-amazon.com/images/I/user-profile.jpg",
          "width": 400,
          "height": 400
        }
      ]
    }
  ],
  "nextToken": "B0NEXTPG01"
}

Error Responses

Response Code Status Message
404 NOT_FOUND 404 User not found

404 Example

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

Get a user's followed users

GET
/v2/users/{id}/followed/users
Authorization Scope: [music::catalog]
List the users that a public AmazonMusic user follows. Results are paginated with a forward-only cursor: set the page size with `first` (maximum 100) and pass the returned `nextToken` as the `after` cursor to fetch the next page.

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 Maximum number of users to return
after string No Cursor for pagination

Response 200

Successful response

Response Schema

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

Example

{
  "items": [
    {
      "id": "B0DCXMPL01",
      "name": "John",
      "handle": "john123",
      "url": "https://music.amazon.com/users/B0DCXMPL01",
      "images": [
        {
          "url": "https://m.media-amazon.com/images/I/user-profile.jpg",
          "width": 400,
          "height": 400
        }
      ]
    }
  ],
  "nextToken": "B0NEXTPG01"
}

Error Responses

Response Code Status Message
404 NOT_FOUND 404 User not found

404 Example

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

Get a user's followed artists

GET
/v2/users/{id}/followed/artists
Authorization Scope: [music::catalog]
List the artists that a public AmazonMusic user follows. Optionally pass `artistIds` (comma-separated) to restrict the results to specific artists. Results are paginated with a forward-only cursor: set the page size with `first` (maximum 100) and pass the returned `nextToken` as the `after` cursor to fetch the next page.

Path Parameters

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

Query Parameters

Name Data Type Required Description
artistIds string No Comma-separated artist IDs to limit the results to
first integer No Maximum number of artists to return
after string No Cursor for pagination

Response 200

Successful response

Response Schema

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

Example

{
  "items": [
    {
      "id": "B000X6FP38",
      "name": "Karnivool",
      "followerCount": 123456,
      "url": "https://music.amazon.com/artists/B000X6FP38",
      "images": [
        {
          "url": "https://m.media-amazon.com/images/I/artist-primary.jpg",
          "width": 1200,
          "height": 1200,
          "imageType": "PRIMARY"
        }
      ]
    }
  ],
  "nextToken": "B0NEXTPG01"
}

Error Responses

Response Code Status Message
404 NOT_FOUND 404 User not found

404 Example

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

Get a user's followed podcast shows

GET
/v2/users/{id}/followed/podcasts/shows
Authorization Scope: [music::catalog]
List the podcast shows that a public AmazonMusic user follows. Results are paginated with a forward-only cursor: set the page size with `first` (maximum 100) and pass the returned `nextToken` as the `after` cursor to page forward.

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 Maximum number of podcast shows to return
after string No Cursor for pagination

Response 200

Successful response

Response Schema

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

Example

{
  "items": [
    {
      "id": "B09WYF3XMZ",
      "title": "Tech Talks Daily",
      "url": "https://music.amazon.com/podcasts/B09WYF3XMZ",
      "images": [
        {
          "url": "https://m.media-amazon.com/images/I/podcast-cover.jpg",
          "width": 640,
          "height": 640
        }
      ]
    }
  ],
  "nextToken": "B0NEXTPG01"
}

Error Responses

Response Code Status Message
404 NOT_FOUND 404 User not found

404 Example

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