Amazon Music Web API
Web API Views V2.0
Views
- Get the Home view
- Get a Home view's entity group
- Get the Recently Played view
- Get the Podcast home view
- Get a Podcast home view's entity group
- Get an Album-scoped view
- Get an Album view's entity group
- Get an Artist-scoped view
- Get an Artist view's entity group
- Get a Playlist-scoped view
- Get a Podcast-Show-scoped view
- Get the Library view
- Get the Library Albums view
- Get the Library Artists view
- Get the Library Playlists view
- Get the Library Podcasts view
- Get the Library Songs view
Get the Home view
Each entity carries a _type discriminator naming the
concrete type. Partners should switch on _type to
interpret the rest of the entity payload; treat unknown
values as opaque and skip the entity.
Paginated with forward-only cursor navigation across the
top-level entityGroups array. Default page size is 20;
maximum is 100. Use the nextPageToken from
content.nextPageToken to fetch the next page via the
after query parameter. To page deeper into a single
group, call /v2/views/home/{groupId}.
Supports sparse fieldsets via query parameters:
fields[view]— Comma-separated view fields (e.g. id,title,content)fields[entityGroup]— Comma-separated entity-group fields (e.g. id,title,content)fields[track]— Comma-separated track fields (e.g. title,id,duration)fields[album]— Comma-separated album fields (e.g. title,id)fields[artist]— Comma-separated artist fields (e.g. name,id)fields[playlist]— Comma-separated playlist fields (e.g. title,id)fields[podcastShow]— Comma-separated show fields (e.g. title,id)fields[podcastEpisode]— Comma-separated episode fields (e.g. title,id)
Query Parameters
| Name | Data Type | Required | Description |
|---|---|---|---|
| first | integer | No | Number of entity groups to return |
| after | string | No | Cursor to start after |
Response 200
Successful response
Response Schema
Example
Home view with two entity groups carrying mixed-type entities
{
"id": "B0EXAMP700",
"title": "Home",
"content": {
"entityGroups": [
{
"id": "B0EXAMP710",
"title": "Playlists for You",
"viewType": "GRID",
"content": {
"entities": [
{
"_type": "Playlist",
"id": "B0EXAMP100",
"title": "Indie Rock Essentials",
"description": "Editorial mix of indie rock standouts.",
"visibility": "PUBLIC",
"trackCount": 42,
"url": "https://music.amazon.com/playlists/B0EXAMP100"
},
{
"_type": "Playlist",
"id": "B0EXAMP101",
"title": "Rock Deep Cuts",
"description": "Lesser-known rock essentials, hand-picked.",
"visibility": "PUBLIC",
"trackCount": 38,
"url": "https://music.amazon.com/playlists/B0EXAMP101"
}
],
"nextPageToken": "B0EXAMP720"
}
},
{
"id": "B0EXAMP711",
"title": "Recommended Albums",
"viewType": "LIST",
"content": {
"entities": [
{
"_type": "Album",
"id": "B073J5NW51",
"title": "Sound Awake",
"releaseDate": "2009-06-05T00:00:00.000Z",
"trackCount": 11,
"label": "Columbia",
"url": "https://music.amazon.com.mx/albums/B073J5NW51?ref=dm_ff_amazonmusic_3p"
},
{
"_type": "Album",
"id": "B07YVNQFHB",
"title": "Asymmetry",
"releaseDate": "2013-07-19T00:00:00.000Z",
"trackCount": 10,
"label": "Cymatic Records",
"url": "https://music.amazon.com.mx/albums/B07YVNQFHB?ref=dm_ff_amazonmusic_3p"
}
],
"nextPageToken": "B0EXAMP721"
}
}
],
"nextPageToken": "B0EXAMP730"
}
}
Sparse Fieldsets Example
Sparse fieldsets — fields[view]=id,content&fields[entityGroup]=id,title,content&fields[playlist]=id,title&fields[album]=id,title
{
"id": "B0EXAMP700",
"content": {
"entityGroups": [
{
"id": "B0EXAMP710",
"title": "Playlists for You",
"content": {
"entities": [
{
"_type": "Playlist",
"id": "B0EXAMP100",
"title": "Indie Rock Essentials"
},
{
"_type": "Playlist",
"id": "B0EXAMP101",
"title": "Rock Deep Cuts"
}
]
}
},
{
"id": "B0EXAMP711",
"title": "Recommended Albums",
"content": {
"entities": [
{
"_type": "Album",
"id": "B073J5NW51",
"title": "Sound Awake"
},
{
"_type": "Album",
"id": "B07YVNQFHB",
"title": "Asymmetry"
}
]
}
}
],
"nextPageToken": "B0EXAMP730"
}
}
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 a Home view's entity group
Returns one EntityGroup with its entities array. The
entities array is paginated independently — use first
and after to advance through it.
Supports sparse fieldsets via query parameters:
fields[entityGroup]— Comma-separated entity-group fields (e.g. id,title,content)fields[track],fields[album],fields[artist],fields[playlist],fields[podcastShow],fields[podcastEpisode]
Path Parameters
| Name | Data Type | Required | Description |
|---|---|---|---|
| groupId | string | Yes | Opaque entity-group identifier from a prior view response |
Query Parameters
| Name | Data Type | Required | Description |
|---|---|---|---|
| first | integer | No | Number of entities to return |
| after | string | No | Cursor to start after |
Response 200
Successful response
Response Schema
Example
Deeper page of the "Playlists for You" entity group
{
"id": "B0EXAMP710",
"title": "Playlists for You",
"viewType": "GRID",
"content": {
"entities": [
{
"_type": "Playlist",
"id": "B0EXAMP100",
"title": "Indie Rock Essentials",
"description": "Editorial mix of indie rock standouts.",
"visibility": "PUBLIC",
"trackCount": 42,
"url": "https://music.amazon.com/playlists/B0EXAMP100"
},
{
"_type": "Playlist",
"id": "B0EXAMP101",
"title": "Rock Deep Cuts",
"description": "Lesser-known rock essentials, hand-picked.",
"visibility": "PUBLIC",
"trackCount": 38,
"url": "https://music.amazon.com/playlists/B0EXAMP101"
}
],
"nextPageToken": "B0EXAMP722"
}
}
Sparse Fieldsets Example
Sparse fieldsets — fields[entityGroup]=id,content&fields[playlist]=id,title
{
"id": "B0EXAMP710",
"content": {
"entities": [
{
"_type": "Playlist",
"id": "B0EXAMP100",
"title": "Indie Rock Essentials"
},
{
"_type": "Playlist",
"id": "B0EXAMP101",
"title": "Rock Deep Cuts"
}
],
"nextPageToken": "B0EXAMP722"
}
}
Error Responses
| Response | Code | Status | Message |
|---|---|---|---|
| 400 | BAD_REQUEST | 400 | first parameter must be between 1 and 100 |
| 404 | NOT_FOUND | 404 | Entity group 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": "Entity group not found",
"traceId": "1-abc-def"
}
}
Get the Recently Played view
Each entity carries a _type discriminator naming the
concrete type. Partners should switch on _type to
interpret the rest of the entity payload; treat unknown
values as opaque and skip the entity.
Paginated with forward-only cursor navigation across the
top-level entityGroups array. Default page size is 20;
maximum is 100. Use the nextPageToken from
content.nextPageToken to fetch the next page via the
after query parameter.
Supports sparse fieldsets via query parameters:
fields[view],fields[entityGroup],fields[track],fields[album],fields[playlist],fields[podcastEpisode]
Query Parameters
| Name | Data Type | Required | Description |
|---|---|---|---|
| first | integer | No | Number of entity groups to return |
| after | string | No | Cursor to start after |
Response 200
Successful response
Response Schema
Example
Recently played view with two entity groups carrying mixed-type entities
{
"id": "B0EXAMP701",
"title": "Recently Played",
"content": {
"entityGroups": [
{
"id": "B0EXAMP712",
"title": "Recently Played Tracks",
"viewType": "LIST",
"content": {
"entities": [
{
"_type": "Track",
"id": "B084KPC3Q7",
"title": "Selfless",
"duration": 222,
"url": "https://music.amazon.com/albums/B084KP4NBH/?trackAsin=B084KPC3Q7"
},
{
"_type": "Track",
"id": "B004S8NBPG",
"title": "Metabolism",
"duration": 181,
"url": "https://music.amazon.com/albums/B084KP4NBH/?trackAsin=B004S8NBPG"
}
],
"nextPageToken": "B0EXAMP723"
}
},
{
"id": "B0EXAMP713",
"title": "Recently Played Albums",
"viewType": "GRID",
"content": {
"entities": [
{
"_type": "Album",
"id": "B073J5NW51",
"title": "Sound Awake",
"releaseDate": "2009-06-05T00:00:00.000Z",
"trackCount": 11
},
{
"_type": "Album",
"id": "B07YVNQFHB",
"title": "Asymmetry",
"releaseDate": "2013-07-19T00:00:00.000Z",
"trackCount": 10
}
],
"nextPageToken": "B0EXAMP724"
}
}
],
"nextPageToken": "B0EXAMP731"
}
}
Sparse Fieldsets Example
Sparse fieldsets — fields[view]=id,content&fields[entityGroup]=id,title,content&fields[track]=id,title&fields[album]=id,title
{
"id": "B0EXAMP701",
"content": {
"entityGroups": [
{
"id": "B0EXAMP712",
"title": "Recently Played Tracks",
"content": {
"entities": [
{
"_type": "Track",
"id": "B084KPC3Q7",
"title": "Selfless"
},
{
"_type": "Track",
"id": "B004S8NBPG",
"title": "Metabolism"
}
]
}
},
{
"id": "B0EXAMP713",
"title": "Recently Played Albums",
"content": {
"entities": [
{
"_type": "Album",
"id": "B073J5NW51",
"title": "Sound Awake"
},
{
"_type": "Album",
"id": "B07YVNQFHB",
"title": "Asymmetry"
}
]
}
}
],
"nextPageToken": "B0EXAMP731"
}
}
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 the Podcast home view
Each entity carries a _type discriminator naming the
concrete type. Partners should switch on _type to
interpret the rest of the entity payload; treat unknown
values as opaque and skip the entity.
Paginated with forward-only cursor navigation across the
top-level entityGroups array. Default page size is 20;
maximum is 100. Use the nextPageToken from
content.nextPageToken to fetch the next page via the
after query parameter. To page deeper into a single
group, call /v2/views/podcasts/{groupId}.
Supports sparse fieldsets via query parameters:
fields[view],fields[entityGroup],fields[podcastShow],fields[podcastEpisode]
Query Parameters
| Name | Data Type | Required | Description |
|---|---|---|---|
| first | integer | No | Number of entity groups to return |
| after | string | No | Cursor to start after |
Response 200
Successful response
Response Schema
Example
Podcast home view with two entity groups carrying mixed podcast-domain entities
{
"id": "B0EXAMP702",
"title": "Podcasts",
"content": {
"entityGroups": [
{
"id": "B0EXAMP714",
"title": "Recommended Shows",
"viewType": "GRID",
"content": {
"entities": [
{
"_type": "PodcastShow",
"id": "B0EXAMP600",
"title": "Tech Frontiers Daily",
"type": "EPISODIC",
"author": "Synthetic Studios",
"url": "https://music.amazon.com/podcasts/B0EXAMP600"
},
{
"_type": "PodcastShow",
"id": "B0EXAMP601",
"title": "Algorithm Avenue",
"type": "SERIAL",
"author": "Synthetic Studios",
"url": "https://music.amazon.com/podcasts/B0EXAMP601"
}
],
"nextPageToken": "B0EXAMP726"
}
},
{
"id": "B0EXAMP715",
"title": "New Episodes",
"viewType": "LIST",
"content": {
"entities": [
{
"_type": "PodcastEpisode",
"id": "B0EXAMP610",
"title": "Episode 42 — The Halting Problem in Practice",
"type": "FULL",
"seasonNumber": 1,
"episodeNumber": 42,
"duration": 2640,
"releaseDate": "2025-04-12T00:00:00.000Z",
"url": "https://music.amazon.com/podcasts/B0EXAMP600/episodes/B0EXAMP610"
},
{
"_type": "PodcastEpisode",
"id": "B0EXAMP611",
"title": "Episode 43 — From Big-O to Bigger Outcomes",
"type": "FULL",
"seasonNumber": 1,
"episodeNumber": 43,
"duration": 2820,
"releaseDate": "2025-04-13T00:00:00.000Z",
"url": "https://music.amazon.com/podcasts/B0EXAMP600/episodes/B0EXAMP611"
}
],
"nextPageToken": "B0EXAMP727"
}
}
],
"nextPageToken": "B0EXAMP732"
}
}
Sparse Fieldsets Example
Sparse fieldsets — fields[view]=id,content&fields[entityGroup]=id,title,content&fields[podcastShow]=id,title&fields[podcastEpisode]=id,title
{
"id": "B0EXAMP702",
"content": {
"entityGroups": [
{
"id": "B0EXAMP714",
"title": "Recommended Shows",
"content": {
"entities": [
{
"_type": "PodcastShow",
"id": "B0EXAMP600",
"title": "Tech Frontiers Daily"
},
{
"_type": "PodcastShow",
"id": "B0EXAMP601",
"title": "Algorithm Avenue"
}
]
}
},
{
"id": "B0EXAMP715",
"title": "New Episodes",
"content": {
"entities": [
{
"_type": "PodcastEpisode",
"id": "B0EXAMP610",
"title": "Episode 42 — The Halting Problem in Practice"
},
{
"_type": "PodcastEpisode",
"id": "B0EXAMP611",
"title": "Episode 43 — From Big-O to Bigger Outcomes"
}
]
}
}
],
"nextPageToken": "B0EXAMP732"
}
}
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 a Podcast home view's entity group
Returns one EntityGroup with its entities array,
scoped to podcast-domain entities.
Supports sparse fieldsets via query parameters:
fields[entityGroup],fields[podcastShow],fields[podcastEpisode]
Path Parameters
| Name | Data Type | Required | Description |
|---|---|---|---|
| groupId | string | Yes | Opaque entity-group identifier from a prior view response |
Query Parameters
| Name | Data Type | Required | Description |
|---|---|---|---|
| first | integer | No | Number of entities to return |
| after | string | No | Cursor to start after |
Response 200
Successful response
Response Schema
Example
Deeper page of the "Recommended Shows" entity group
{
"id": "B0EXAMP714",
"title": "Recommended Shows",
"viewType": "GRID",
"content": {
"entities": [
{
"_type": "PodcastShow",
"id": "B0EXAMP600",
"title": "Tech Frontiers Daily",
"type": "EPISODIC",
"author": "Synthetic Studios",
"url": "https://music.amazon.com/podcasts/B0EXAMP600"
},
{
"_type": "PodcastShow",
"id": "B0EXAMP601",
"title": "Algorithm Avenue",
"type": "SERIAL",
"author": "Synthetic Studios",
"url": "https://music.amazon.com/podcasts/B0EXAMP601"
}
],
"nextPageToken": "B0EXAMP728"
}
}
Sparse Fieldsets Example
Sparse fieldsets — fields[entityGroup]=id,content&fields[podcastShow]=id,title,author
{
"id": "B0EXAMP714",
"content": {
"entities": [
{
"_type": "PodcastShow",
"id": "B0EXAMP600",
"title": "Tech Frontiers Daily",
"author": "Synthetic Studios"
},
{
"_type": "PodcastShow",
"id": "B0EXAMP601",
"title": "Algorithm Avenue",
"author": "Synthetic Studios"
}
],
"nextPageToken": "B0EXAMP728"
}
}
Error Responses
| Response | Code | Status | Message |
|---|---|---|---|
| 400 | BAD_REQUEST | 400 | first parameter must be between 1 and 100 |
| 404 | NOT_FOUND | 404 | Entity group 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": "Entity group not found",
"traceId": "1-abc-def"
}
}
Get an Album-scoped view
Each entity inside a group carries a _type discriminator
naming the concrete type. Partners should switch on
_type to interpret the rest of the entity payload;
treat unknown values as opaque and skip the entity.
Paginated with forward-only cursor navigation across the
top-level entityGroups array. Default page size is 20;
maximum is 100. Use the nextPageToken from
content.nextPageToken to fetch the next page via the
after query parameter. To page deeper into a single
group, call /v2/views/albums/{id}/{groupId}.
Supports sparse fieldsets via query parameters:
fields[view],fields[entityGroup],fields[album],fields[track],fields[artist]
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 entity groups to return |
| after | string | No | Cursor to start after |
Response 200
Successful response
Response Schema
Example
Album-scoped view with the seed album and two related entity groups
{
"id": "B0EXAMP740",
"title": "Sound Awake",
"entity": {
"_type": "Album",
"id": "B073J5NW51",
"title": "Sound Awake",
"releaseDate": "2009-06-05T00:00:00.000Z",
"trackCount": 11,
"label": "Columbia",
"url": "https://music.amazon.com.mx/albums/B073J5NW51?ref=dm_ff_amazonmusic_3p"
},
"content": {
"entityGroups": [
{
"id": "B0EXAMP750",
"title": "Tracks on This Album",
"viewType": "LIST",
"content": {
"entities": [
{
"_type": "Track",
"id": "B084KPC3Q7",
"title": "Selfless",
"duration": 222
},
{
"_type": "Track",
"id": "B004S8NBPG",
"title": "Metabolism",
"duration": 181
}
],
"nextPageToken": "B0EXAMP760"
}
},
{
"id": "B0EXAMP751",
"title": "More by This Artist",
"viewType": "GRID",
"content": {
"entities": [
{
"_type": "Album",
"id": "B07YVNQFHB",
"title": "Asymmetry",
"releaseDate": "2013-07-19T00:00:00.000Z",
"trackCount": 10
},
{
"_type": "Album",
"id": "B073J5NW51",
"title": "Sound Awake",
"releaseDate": "2009-06-05T00:00:00.000Z",
"trackCount": 11
}
],
"nextPageToken": "B0EXAMP761"
}
}
],
"nextPageToken": "B0EXAMP770"
}
}
Sparse Fieldsets Example
Sparse fieldsets — fields[view]=id,entity,content&fields[entityGroup]=id,title,content&fields[album]=id,title&fields[track]=id,title
{
"id": "B0EXAMP740",
"entity": {
"_type": "Album",
"id": "B073J5NW51",
"title": "Sound Awake"
},
"content": {
"entityGroups": [
{
"id": "B0EXAMP750",
"title": "Tracks on This Album",
"content": {
"entities": [
{
"_type": "Track",
"id": "B084KPC3Q7",
"title": "Selfless"
},
{
"_type": "Track",
"id": "B004S8NBPG",
"title": "Metabolism"
}
]
}
},
{
"id": "B0EXAMP751",
"title": "More by This Artist",
"content": {
"entities": [
{
"_type": "Album",
"id": "B07YVNQFHB",
"title": "Asymmetry"
},
{
"_type": "Album",
"id": "B073J5NW51",
"title": "Sound Awake"
}
]
}
}
],
"nextPageToken": "B0EXAMP770"
}
}
Error Responses
| Response | Code | Status | Message |
|---|---|---|---|
| 400 | BAD_REQUEST | 400 | first parameter must be between 1 and 100 |
| 404 | NOT_FOUND | 404 | Album 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": "Album not found",
"traceId": "1-abc-def"
}
}
Get an Album view's entity group
Returns one EntityGroup with its entities array.
Supports sparse fieldsets via query parameters:
fields[entityGroup],fields[album],fields[track],fields[artist]
Path Parameters
| Name | Data Type | Required | Description |
|---|---|---|---|
| id | string | Yes | Unique identifier for the resource |
| groupId | string | Yes | Opaque entity-group identifier from a prior view response |
Query Parameters
| Name | Data Type | Required | Description |
|---|---|---|---|
| first | integer | No | Number of entities to return |
| after | string | No | Cursor to start after |
Response 200
Successful response
Response Schema
Example
Deeper page of the "Tracks on This Album" entity group
{
"id": "B0EXAMP750",
"title": "Tracks on This Album",
"viewType": "LIST",
"content": {
"entities": [
{
"_type": "Track",
"id": "B084KPC3Q7",
"title": "Selfless",
"duration": 222
},
{
"_type": "Track",
"id": "B004S8NBPG",
"title": "Metabolism",
"duration": 181
}
],
"nextPageToken": "B0EXAMP762"
}
}
Sparse Fieldsets Example
Sparse fieldsets — fields[entityGroup]=id,content&fields[track]=id,title,duration
{
"id": "B0EXAMP750",
"content": {
"entities": [
{
"_type": "Track",
"id": "B084KPC3Q7",
"title": "Selfless",
"duration": 222
},
{
"_type": "Track",
"id": "B004S8NBPG",
"title": "Metabolism",
"duration": 181
}
],
"nextPageToken": "B0EXAMP762"
}
}
Error Responses
| Response | Code | Status | Message |
|---|---|---|---|
| 400 | BAD_REQUEST | 400 | first parameter must be between 1 and 100 |
| 404 | NOT_FOUND | 404 | Album or entity group 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": "Album or entity group not found",
"traceId": "1-abc-def"
}
}
Get an Artist-scoped view
Each entity inside a group carries a _type discriminator
naming the concrete type. Partners should switch on
_type to interpret the rest of the entity payload;
treat unknown values as opaque and skip the entity.
Paginated with forward-only cursor navigation across the
top-level entityGroups array. Default page size is 20;
maximum is 100. Use the nextPageToken from
content.nextPageToken to fetch the next page via the
after query parameter. To page deeper into a single
group, call /v2/views/artists/{id}/{groupId}.
Supports sparse fieldsets via query parameters:
fields[view],fields[entityGroup],fields[artist],fields[album],fields[track]
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 entity groups to return |
| after | string | No | Cursor to start after |
Response 200
Successful response
Response Schema
Example
Artist-scoped view with the seed artist and three related entity groups
{
"id": "B0EXAMP741",
"title": "Karnivool",
"entity": {
"_type": "Artist",
"id": "B000X6FP38",
"name": "Karnivool",
"url": "https://music.amazon.com/artists/B000X6FP38"
},
"content": {
"entityGroups": [
{
"id": "B0EXAMP752",
"title": "Top Tracks",
"viewType": "LIST",
"content": {
"entities": [
{
"_type": "Track",
"id": "B084KPC3Q7",
"title": "Selfless",
"duration": 222
},
{
"_type": "Track",
"id": "B004S8NBPG",
"title": "Metabolism",
"duration": 181
}
],
"nextPageToken": "B0EXAMP763"
}
},
{
"id": "B0EXAMP753",
"title": "Albums",
"viewType": "GRID",
"content": {
"entities": [
{
"_type": "Album",
"id": "B073J5NW51",
"title": "Sound Awake",
"releaseDate": "2009-06-05T00:00:00.000Z",
"trackCount": 11
},
{
"_type": "Album",
"id": "B07YVNQFHB",
"title": "Asymmetry",
"releaseDate": "2013-07-19T00:00:00.000Z",
"trackCount": 10
}
],
"nextPageToken": "B0EXAMP764"
}
},
{
"id": "B0EXAMP754",
"title": "Related Artists",
"viewType": "GRID",
"content": {
"entities": [
{
"_type": "Artist",
"id": "B00G70DLAS",
"name": "the-strokes",
"url": "https://music.amazon.com/artists/B00G70DLAS"
}
],
"nextPageToken": "B0EXAMP765"
}
}
],
"nextPageToken": "B0EXAMP771"
}
}
Sparse Fieldsets Example
Sparse fieldsets — fields[view]=id,entity,content&fields[entityGroup]=id,title,content&fields[artist]=id,name&fields[track]=id,title&fields[album]=id,title
{
"id": "B0EXAMP741",
"entity": {
"_type": "Artist",
"id": "B000X6FP38",
"name": "Karnivool"
},
"content": {
"entityGroups": [
{
"id": "B0EXAMP752",
"title": "Top Tracks",
"content": {
"entities": [
{
"_type": "Track",
"id": "B084KPC3Q7",
"title": "Selfless"
},
{
"_type": "Track",
"id": "B004S8NBPG",
"title": "Metabolism"
}
]
}
},
{
"id": "B0EXAMP753",
"title": "Albums",
"content": {
"entities": [
{
"_type": "Album",
"id": "B073J5NW51",
"title": "Sound Awake"
},
{
"_type": "Album",
"id": "B07YVNQFHB",
"title": "Asymmetry"
}
]
}
}
],
"nextPageToken": "B0EXAMP771"
}
}
Error Responses
| Response | Code | Status | Message |
|---|---|---|---|
| 400 | BAD_REQUEST | 400 | first parameter must be between 1 and 100 |
| 404 | NOT_FOUND | 404 | Artist 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": "Artist not found",
"traceId": "1-abc-def"
}
}
Get an Artist view's entity group
Returns one EntityGroup with its entities array.
Supports sparse fieldsets via query parameters:
fields[entityGroup],fields[artist],fields[album],fields[track]
Path Parameters
| Name | Data Type | Required | Description |
|---|---|---|---|
| id | string | Yes | Unique identifier for the resource |
| groupId | string | Yes | Opaque entity-group identifier from a prior view response |
Query Parameters
| Name | Data Type | Required | Description |
|---|---|---|---|
| first | integer | No | Number of entities to return |
| after | string | No | Cursor to start after |
Response 200
Successful response
Response Schema
Example
Deeper page of the "Top Tracks" entity group
{
"id": "B0EXAMP752",
"title": "Top Tracks",
"viewType": "LIST",
"content": {
"entities": [
{
"_type": "Track",
"id": "B084KPC3Q7",
"title": "Selfless",
"duration": 222
},
{
"_type": "Track",
"id": "B004S8NBPG",
"title": "Metabolism",
"duration": 181
}
],
"nextPageToken": "B0EXAMP766"
}
}
Sparse Fieldsets Example
Sparse fieldsets — fields[entityGroup]=id,content&fields[track]=id,title,duration
{
"id": "B0EXAMP752",
"content": {
"entities": [
{
"_type": "Track",
"id": "B084KPC3Q7",
"title": "Selfless",
"duration": 222
},
{
"_type": "Track",
"id": "B004S8NBPG",
"title": "Metabolism",
"duration": 181
}
],
"nextPageToken": "B0EXAMP766"
}
}
Error Responses
| Response | Code | Status | Message |
|---|---|---|---|
| 400 | BAD_REQUEST | 400 | first parameter must be between 1 and 100 |
| 404 | NOT_FOUND | 404 | Artist or entity group 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": "Artist or entity group not found",
"traceId": "1-abc-def"
}
}
Get a Playlist-scoped view
Each entity inside a group carries a _type discriminator
naming the concrete type. Partners should switch on
_type to interpret the rest of the entity payload;
treat unknown values as opaque and skip the entity.
Paginated with forward-only cursor navigation across the
top-level entityGroups array. Default page size is 20;
maximum is 100. Use the nextPageToken from
the entity group to fetch the next page via the
after query parameter.
Supports sparse fieldsets via query parameters:
fields[view],fields[entityGroup],fields[playlist],fields[track],fields[artist]
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 entity groups to return |
| after | string | No | Cursor to start after |
Response 200
Successful response
Response Schema
Example
Playlist-scoped view with the seed playlist and two related entity groups
{
"id": "B0EXAMP742",
"title": "Indie Rock Essentials",
"entity": {
"_type": "Playlist",
"id": "B0EXAMP100",
"title": "Indie Rock Essentials",
"description": "Editorial mix of indie rock standouts.",
"visibility": "PUBLIC",
"trackCount": 42,
"url": "https://music.amazon.com/playlists/B0EXAMP100"
},
"content": {
"entityGroups": [
{
"id": "B0EXAMP755",
"title": "Tracks",
"viewType": "LIST",
"content": {
"entities": [
{
"_type": "Track",
"id": "B084KPC3Q7",
"title": "Selfless",
"duration": 222
},
{
"_type": "Track",
"id": "B004S8NBPG",
"title": "Metabolism",
"duration": 181
}
],
"nextPageToken": "B0EXAMP767"
}
},
{
"id": "B0EXAMP756",
"title": "Similar Playlists",
"viewType": "GRID",
"content": {
"entities": [
{
"_type": "Playlist",
"id": "B0EXAMP101",
"title": "Rock Deep Cuts",
"description": "Lesser-known rock essentials, hand-picked.",
"visibility": "PUBLIC",
"trackCount": 38,
"url": "https://music.amazon.com/playlists/B0EXAMP101"
},
{
"_type": "Playlist",
"id": "B0EXAMP100",
"title": "Indie Rock Essentials",
"description": "Editorial mix of indie rock standouts.",
"visibility": "PUBLIC",
"trackCount": 42,
"url": "https://music.amazon.com/playlists/B0EXAMP100"
}
],
"nextPageToken": "B0EXAMP768"
}
}
],
"nextPageToken": "B0EXAMP772"
}
}
Sparse Fieldsets Example
Sparse fieldsets — fields[view]=id,entity,content&fields[entityGroup]=id,title,content&fields[playlist]=id,title&fields[track]=id,title
{
"id": "B0EXAMP742",
"entity": {
"_type": "Playlist",
"id": "B0EXAMP100",
"title": "Indie Rock Essentials"
},
"content": {
"entityGroups": [
{
"id": "B0EXAMP755",
"title": "Tracks",
"content": {
"entities": [
{
"_type": "Track",
"id": "B084KPC3Q7",
"title": "Selfless"
},
{
"_type": "Track",
"id": "B004S8NBPG",
"title": "Metabolism"
}
]
}
},
{
"id": "B0EXAMP756",
"title": "Similar Playlists",
"content": {
"entities": [
{
"_type": "Playlist",
"id": "B0EXAMP101",
"title": "Rock Deep Cuts"
},
{
"_type": "Playlist",
"id": "B0EXAMP100",
"title": "Indie Rock Essentials"
}
]
}
}
],
"nextPageToken": "B0EXAMP772"
}
}
Error Responses
| Response | Code | Status | Message |
|---|---|---|---|
| 400 | BAD_REQUEST | 400 | first parameter must be between 1 and 100 |
| 404 | NOT_FOUND | 404 | Playlist 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": "Playlist not found",
"traceId": "1-abc-def"
}
}
Get a Podcast-Show-scoped view
Each entity inside a group carries a _type discriminator
naming the concrete type. Partners should switch on
_type to interpret the rest of the entity payload;
treat unknown values as opaque and skip the entity.
Paginated with forward-only cursor navigation across the
top-level entityGroups array. Default page size is 20;
maximum is 100. Use the nextPageToken from
the entity group to fetch the next page via the
after query parameter.
Supports sparse fieldsets via query parameters:
fields[view],fields[entityGroup],fields[podcastShow],fields[podcastEpisode]
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 entity groups to return |
| after | string | No | Cursor to start after |
Response 200
Successful response
Response Schema
Example
Podcast-show-scoped view with the seed show and two related entity groups
{
"id": "B0EXAMP743",
"title": "Tech Frontiers Daily",
"entity": {
"_type": "PodcastShow",
"id": "B0EXAMP600",
"title": "Tech Frontiers Daily",
"type": "EPISODIC",
"author": "Synthetic Studios",
"url": "https://music.amazon.com/podcasts/B0EXAMP600"
},
"content": {
"entityGroups": [
{
"id": "B0EXAMP757",
"title": "Episodes",
"viewType": "LIST",
"content": {
"entities": [
{
"_type": "PodcastEpisode",
"id": "B0EXAMP610",
"title": "Episode 42 — The Halting Problem in Practice",
"type": "FULL",
"seasonNumber": 1,
"episodeNumber": 42,
"duration": 2640,
"releaseDate": "2025-04-12T00:00:00.000Z",
"url": "https://music.amazon.com/podcasts/B0EXAMP600/episodes/B0EXAMP610"
},
{
"_type": "PodcastEpisode",
"id": "B0EXAMP611",
"title": "Episode 43 — From Big-O to Bigger Outcomes",
"type": "FULL",
"seasonNumber": 1,
"episodeNumber": 43,
"duration": 2820,
"releaseDate": "2025-04-13T00:00:00.000Z",
"url": "https://music.amazon.com/podcasts/B0EXAMP600/episodes/B0EXAMP611"
}
],
"nextPageToken": "B0EXAMP780"
}
},
{
"id": "B0EXAMP758",
"title": "Related Shows",
"viewType": "GRID",
"content": {
"entities": [
{
"_type": "PodcastShow",
"id": "B0EXAMP601",
"title": "Algorithm Avenue",
"type": "SERIAL",
"author": "Synthetic Studios",
"url": "https://music.amazon.com/podcasts/B0EXAMP601"
}
],
"nextPageToken": "B0EXAMP781"
}
}
],
"nextPageToken": "B0EXAMP790"
}
}
Sparse Fieldsets Example
Sparse fieldsets — fields[view]=id,entity,content&fields[entityGroup]=id,title,content&fields[podcastShow]=id,title&fields[podcastEpisode]=id,title
{
"id": "B0EXAMP743",
"entity": {
"_type": "PodcastShow",
"id": "B0EXAMP600",
"title": "Tech Frontiers Daily"
},
"content": {
"entityGroups": [
{
"id": "B0EXAMP757",
"title": "Episodes",
"content": {
"entities": [
{
"_type": "PodcastEpisode",
"id": "B0EXAMP610",
"title": "Episode 42 — The Halting Problem in Practice"
},
{
"_type": "PodcastEpisode",
"id": "B0EXAMP611",
"title": "Episode 43 — From Big-O to Bigger Outcomes"
}
]
}
},
{
"id": "B0EXAMP758",
"title": "Related Shows",
"content": {
"entities": [
{
"_type": "PodcastShow",
"id": "B0EXAMP601",
"title": "Algorithm Avenue"
}
]
}
}
],
"nextPageToken": "B0EXAMP790"
}
}
Error Responses
| Response | Code | Status | Message |
|---|---|---|---|
| 400 | BAD_REQUEST | 400 | first parameter must be between 1 and 100 |
| 404 | NOT_FOUND | 404 | Podcast show 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": "Podcast show not found",
"traceId": "1-abc-def"
}
}
Get the Library view
Each entity carries a _type discriminator naming the
concrete type. Partners should switch on _type to
interpret the rest of the entity payload; treat unknown
values as opaque and skip the entity.
Paginated with forward-only cursor navigation across the
top-level entityGroups array. Default page size is 20;
maximum is 100. Use the nextPageToken from
content.nextPageToken to fetch the next page via the
after query parameter.
Supports sparse fieldsets via query parameters:
fields[view],fields[entityGroup],fields[track],fields[album],fields[artist],fields[playlist],fields[podcastShow],fields[podcastEpisode]
Query Parameters
| Name | Data Type | Required | Description |
|---|---|---|---|
| first | integer | No | Number of entity groups to return |
| after | string | No | Cursor to start after |
Response 200
Successful response
Response Schema
Example
Library view with two entity groups carrying mixed-type library entities
{
"id": "B0EXAMP800",
"title": "Library",
"content": {
"entityGroups": [
{
"id": "B0EXAMP810",
"title": "Playlists",
"viewType": "GRID",
"content": {
"entities": [
{
"_type": "Playlist",
"id": "B0EXAMP100",
"title": "Indie Rock Essentials",
"visibility": "PUBLIC",
"trackCount": 42,
"url": "https://music.amazon.com/playlists/B0EXAMP100"
},
{
"_type": "Playlist",
"id": "B0EXAMP101",
"title": "Rock Deep Cuts",
"visibility": "PUBLIC",
"trackCount": 38,
"url": "https://music.amazon.com/playlists/B0EXAMP101"
}
],
"nextPageToken": "B0EXAMP820"
}
},
{
"id": "B0EXAMP811",
"title": "Albums",
"viewType": "GRID",
"content": {
"entities": [
{
"_type": "Album",
"id": "B073J5NW51",
"title": "Sound Awake",
"releaseDate": "2009-06-05T00:00:00.000Z",
"trackCount": 11
},
{
"_type": "Album",
"id": "B07YVNQFHB",
"title": "Asymmetry",
"releaseDate": "2013-07-19T00:00:00.000Z",
"trackCount": 10
}
],
"nextPageToken": "B0EXAMP821"
}
}
],
"nextPageToken": "B0EXAMP830"
}
}
Sparse Fieldsets Example
Sparse fieldsets — fields[view]=id,content&fields[entityGroup]=id,title,content&fields[playlist]=id,title&fields[album]=id,title
{
"id": "B0EXAMP800",
"content": {
"entityGroups": [
{
"id": "B0EXAMP810",
"title": "Playlists",
"content": {
"entities": [
{
"_type": "Playlist",
"id": "B0EXAMP100",
"title": "Indie Rock Essentials"
},
{
"_type": "Playlist",
"id": "B0EXAMP101",
"title": "Rock Deep Cuts"
}
]
}
},
{
"id": "B0EXAMP811",
"title": "Albums",
"content": {
"entities": [
{
"_type": "Album",
"id": "B073J5NW51",
"title": "Sound Awake"
},
{
"_type": "Album",
"id": "B07YVNQFHB",
"title": "Asymmetry"
}
]
}
}
],
"nextPageToken": "B0EXAMP830"
}
}
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 the Library Albums view
The optional groupId query parameter narrows the
top-level response to a single named group; without it,
the response contains every group the view defines.
Each entity inside a group carries a _type discriminator
naming the concrete type. Partners should switch on
_type to interpret the rest of the entity payload;
treat unknown values as opaque and skip the entity.
Paginated with forward-only cursor navigation. Default
page size is 20; maximum is 100. Use the nextPageToken
from content.nextPageToken to fetch the next page via
the after query parameter.
Supports sparse fieldsets via query parameters:
fields[view],fields[entityGroup],fields[album],fields[artist]
Query Parameters
| Name | Data Type | Required | Description |
|---|---|---|---|
| groupId | string | No | Opaque entity-group identifier to narrow the top-level response to a single group |
| first | integer | No | Number of entity groups to return |
| after | string | No | Cursor to start after |
Response 200
Successful response
Response Schema
Example
Library albums view with the "Albums" entity group
{
"id": "B0EXAMP801",
"title": "Albums",
"content": {
"entityGroups": [
{
"id": "B0EXAMP812",
"title": "Albums",
"viewType": "GRID",
"content": {
"entities": [
{
"_type": "Album",
"id": "B073J5NW51",
"title": "Sound Awake",
"releaseDate": "2009-06-05T00:00:00.000Z",
"trackCount": 11
},
{
"_type": "Album",
"id": "B07YVNQFHB",
"title": "Asymmetry",
"releaseDate": "2013-07-19T00:00:00.000Z",
"trackCount": 10
}
],
"nextPageToken": "B0EXAMP823"
}
}
],
"nextPageToken": "B0EXAMP831"
}
}
Sparse Fieldsets Example
Sparse fieldsets — fields[view]=id,content&fields[entityGroup]=id,title,content&fields[album]=id,title
{
"id": "B0EXAMP801",
"content": {
"entityGroups": [
{
"id": "B0EXAMP812",
"title": "Albums",
"content": {
"entities": [
{
"_type": "Album",
"id": "B073J5NW51",
"title": "Sound Awake"
},
{
"_type": "Album",
"id": "B07YVNQFHB",
"title": "Asymmetry"
}
]
}
}
],
"nextPageToken": "B0EXAMP831"
}
}
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 the Library Artists view
Each entity inside a group carries a _type discriminator
naming the concrete type. Partners should switch on
_type to interpret the rest of the entity payload;
treat unknown values as opaque and skip the entity.
Paginated with forward-only cursor navigation. Default
page size is 20; maximum is 100. Use the nextPageToken
from content.nextPageToken to fetch the next page via
the after query parameter.
Supports sparse fieldsets via query parameters:
fields[view],fields[entityGroup],fields[artist]
Query Parameters
| Name | Data Type | Required | Description |
|---|---|---|---|
| first | integer | No | Number of entity groups to return |
| after | string | No | Cursor to start after |
Response 200
Successful response
Response Schema
Example
Library artists view with the "Followed Artists" entity group
{
"id": "B0EXAMP802",
"title": "Artists",
"content": {
"entityGroups": [
{
"id": "B0EXAMP813",
"title": "Followed Artists",
"viewType": "GRID",
"content": {
"entities": [
{
"_type": "Artist",
"id": "B000X6FP38",
"name": "Karnivool",
"url": "https://music.amazon.com/artists/B000X6FP38"
},
{
"_type": "Artist",
"id": "B00G70DLAS",
"name": "the-strokes",
"url": "https://music.amazon.com/artists/B00G70DLAS"
}
],
"nextPageToken": "B0EXAMP825"
}
}
],
"nextPageToken": "B0EXAMP832"
}
}
Sparse Fieldsets Example
Sparse fieldsets — fields[view]=id,content&fields[entityGroup]=id,title,content&fields[artist]=id,name
{
"id": "B0EXAMP802",
"content": {
"entityGroups": [
{
"id": "B0EXAMP813",
"title": "Followed Artists",
"content": {
"entities": [
{
"_type": "Artist",
"id": "B000X6FP38",
"name": "Karnivool"
},
{
"_type": "Artist",
"id": "B00G70DLAS",
"name": "the-strokes"
}
]
}
}
],
"nextPageToken": "B0EXAMP832"
}
}
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 the Library Playlists view
Each entity inside a group carries a _type discriminator
naming the concrete type. Partners should switch on
_type to interpret the rest of the entity payload;
treat unknown values as opaque and skip the entity.
Paginated with forward-only cursor navigation. Default
page size is 20; maximum is 100. Use the nextPageToken
from content.nextPageToken to fetch the next page via
the after query parameter.
Supports sparse fieldsets via query parameters:
fields[view],fields[entityGroup],fields[playlist]
Query Parameters
| Name | Data Type | Required | Description |
|---|---|---|---|
| first | integer | No | Number of entity groups to return |
| after | string | No | Cursor to start after |
Response 200
Successful response
Response Schema
Example
Library playlists view with two entity groups (your playlists and followed playlists)
{
"id": "B0EXAMP803",
"title": "Playlists",
"content": {
"entityGroups": [
{
"id": "B0EXAMP814",
"title": "Your Playlists",
"viewType": "GRID",
"content": {
"entities": [
{
"_type": "Playlist",
"id": "B0EXAMP100",
"title": "Indie Rock Essentials",
"visibility": "PRIVATE",
"trackCount": 42,
"url": "https://music.amazon.com/playlists/B0EXAMP100"
},
{
"_type": "Playlist",
"id": "B0EXAMP101",
"title": "Rock Deep Cuts",
"visibility": "PRIVATE",
"trackCount": 38,
"url": "https://music.amazon.com/playlists/B0EXAMP101"
}
],
"nextPageToken": "B0EXAMP827"
}
},
{
"id": "B0EXAMP815",
"title": "Followed Playlists",
"viewType": "GRID",
"content": {
"entities": [
{
"_type": "Playlist",
"id": "B0EXAMP102",
"title": "Editorial Mix",
"visibility": "PUBLIC",
"trackCount": 50,
"url": "https://music.amazon.com/playlists/B0EXAMP102"
}
],
"nextPageToken": "B0EXAMP828"
}
}
],
"nextPageToken": "B0EXAMP833"
}
}
Sparse Fieldsets Example
Sparse fieldsets — fields[view]=id,content&fields[entityGroup]=id,title,content&fields[playlist]=id,title
{
"id": "B0EXAMP803",
"content": {
"entityGroups": [
{
"id": "B0EXAMP814",
"title": "Your Playlists",
"content": {
"entities": [
{
"_type": "Playlist",
"id": "B0EXAMP100",
"title": "Indie Rock Essentials"
},
{
"_type": "Playlist",
"id": "B0EXAMP101",
"title": "Rock Deep Cuts"
}
]
}
},
{
"id": "B0EXAMP815",
"title": "Followed Playlists",
"content": {
"entities": [
{
"_type": "Playlist",
"id": "B0EXAMP102",
"title": "Editorial Mix"
}
]
}
}
],
"nextPageToken": "B0EXAMP833"
}
}
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 the Library Podcasts view
Each entity inside a group carries a _type discriminator
naming the concrete type. Partners should switch on
_type to interpret the rest of the entity payload;
treat unknown values as opaque and skip the entity.
Paginated with forward-only cursor navigation. Default
page size is 20; maximum is 100. Use the nextPageToken
from content.nextPageToken to fetch the next page via
the after query parameter.
Supports sparse fieldsets via query parameters:
fields[view],fields[entityGroup],fields[podcastShow],fields[podcastEpisode]
Query Parameters
| Name | Data Type | Required | Description |
|---|---|---|---|
| first | integer | No | Number of entity groups to return |
| after | string | No | Cursor to start after |
Response 200
Successful response
Response Schema
Example
Library podcasts view with two entity groups (saved episodes and followed shows)
{
"id": "B0EXAMP804",
"title": "Podcasts",
"content": {
"entityGroups": [
{
"id": "B0EXAMP816",
"title": "Podcast Episodes",
"viewType": "LIST",
"content": {
"entities": [
{
"_type": "PodcastEpisode",
"id": "B0EXAMP610",
"title": "Episode 42 — The Halting Problem in Practice",
"duration": 2640,
"releaseDate": "2025-04-12T00:00:00.000Z"
},
{
"_type": "PodcastEpisode",
"id": "B0EXAMP611",
"title": "Episode 43 — From Big-O to Bigger Outcomes",
"duration": 2820,
"releaseDate": "2025-04-13T00:00:00.000Z"
}
],
"nextPageToken": "B0EXAMP840"
}
},
{
"id": "B0EXAMP817",
"title": "Podcast Shows",
"viewType": "GRID",
"content": {
"entities": [
{
"_type": "PodcastShow",
"id": "B0EXAMP600",
"title": "Tech Frontiers Daily",
"author": "Synthetic Studios"
},
{
"_type": "PodcastShow",
"id": "B0EXAMP601",
"title": "Algorithm Avenue",
"author": "Synthetic Studios"
}
],
"nextPageToken": "B0EXAMP841"
}
}
],
"nextPageToken": "B0EXAMP834"
}
}
Sparse Fieldsets Example
Sparse fieldsets — fields[view]=id,content&fields[entityGroup]=id,title,content&fields[podcastShow]=id,title&fields[podcastEpisode]=id,title
{
"id": "B0EXAMP804",
"content": {
"entityGroups": [
{
"id": "B0EXAMP816",
"title": "Podcast Episodes",
"content": {
"entities": [
{
"_type": "PodcastEpisode",
"id": "B0EXAMP610",
"title": "Episode 42 — The Halting Problem in Practice"
},
{
"_type": "PodcastEpisode",
"id": "B0EXAMP611",
"title": "Episode 43 — From Big-O to Bigger Outcomes"
}
]
}
},
{
"id": "B0EXAMP817",
"title": "Podcast Shows",
"content": {
"entities": [
{
"_type": "PodcastShow",
"id": "B0EXAMP600",
"title": "Tech Frontiers Daily"
},
{
"_type": "PodcastShow",
"id": "B0EXAMP601",
"title": "Algorithm Avenue"
}
]
}
}
],
"nextPageToken": "B0EXAMP834"
}
}
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 the Library Songs view
Each entity carries a _type discriminator naming the
concrete type. Partners should switch on _type to
interpret the rest of the entity payload; treat unknown
values as opaque and skip the entity.
Paginated with forward-only cursor navigation. Default
page size is 20; maximum is 100. Use the nextPageToken
from content.nextPageToken to fetch the next page via
the after query parameter.
Supports sparse fieldsets via query parameters:
fields[view],fields[entityGroup],fields[track],fields[album],fields[artist]
Query Parameters
| Name | Data Type | Required | Description |
|---|---|---|---|
| first | integer | No | Number of entity groups to return |
| after | string | No | Cursor to start after |
Response 200
Successful response
Response Schema
Example
Library songs view with the "Songs" entity group
{
"id": "B0EXAMP805",
"title": "Songs",
"content": {
"entityGroups": [
{
"id": "B0EXAMP818",
"title": "Songs",
"viewType": "STACK",
"content": {
"entities": [
{
"_type": "Track",
"id": "B084KPC3Q7",
"title": "Selfless",
"duration": 222,
"url": "https://music.amazon.com/albums/B084KP4NBH/?trackAsin=B084KPC3Q7"
},
{
"_type": "Track",
"id": "B004S8NBPG",
"title": "Metabolism",
"duration": 181,
"url": "https://music.amazon.com/albums/B084KP4NBH/?trackAsin=B004S8NBPG"
}
],
"nextPageToken": "B0EXAMP843"
}
}
],
"nextPageToken": "B0EXAMP835"
}
}
Sparse Fieldsets Example
Sparse fieldsets — fields[view]=id,content&fields[entityGroup]=id,title,content&fields[track]=id,title,duration
{
"id": "B0EXAMP805",
"content": {
"entityGroups": [
{
"id": "B0EXAMP818",
"title": "Songs",
"content": {
"entities": [
{
"_type": "Track",
"id": "B084KPC3Q7",
"title": "Selfless",
"duration": 222
},
{
"_type": "Track",
"id": "B004S8NBPG",
"title": "Metabolism",
"duration": 181
}
]
}
}
],
"nextPageToken": "B0EXAMP835"
}
}
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"
}
}

