# iTunes Search

> Search Apple's whole store from a workflow: music, podcasts, apps, books, audiobooks, TV and music videos, with the artwork, prices, ratings, release dates and previews the store publishes. Look items up by their iTunes ID, an album's barcode, a book's ISBN or an AllMusic ID; walk an artist's albums and songs, an album's tracks, a podcast's episodes or a season's episodes; and download cover art as a file to post or attach. Any of Apple's 183 country storefronts can be searched, which is how prices and availability are compared between them. No account or API key is required.

App · Music & Podcasts · 18 actions. Web page: https://docs.lodol.com/docs/integrations/itunes-search

## Actions

### Download artwork

Download an item's cover art as a file, so a later step can attach it to an email, post it to a chat or put it in storage. The store only ever links to a thumbnail; this fetches the picture itself at up to 1000 pixels square, which is what makes it usable rather than decorative. Works for an album, a song, an app, a book, a podcast or an episode. No API key required.

**Inputs**

- iTunes ID (`itunes_id`, text, required): The item whose cover art you want: the id from any search or lookup result, or the number in the item's store address.
- Size (`size`, text): Optional. How large a picture to download, in pixels square. 600 by default, which is big enough to post. Apple resizes on request, so a larger size costs nothing but bytes. One of: `100` (100 x 100 (thumbnail)), `200` (200 x 200), `400` (400 x 400), `600` (600 x 600), `1000` (1000 x 1000 (largest)). Default: `600`.
- Storefront (`country`, text): Optional. Which country's store to search. United States by default. This is not cosmetic: catalogues, prices and release dates differ per storefront, and an item on sale in one country may not exist in another. One of: `AF` (Afghanistan), `AL` (Albania), `DZ` (Algeria), `AD` (Andorra), `AO` (Angola), `AI` (Anguilla), `AG` (Antigua and Barbuda), `AR` (Argentina), `AM` (Armenia), `AU` (Australia), and 173 more. Default: `US`.

**Outputs**

- `byte_size` (number): The file's size in bytes.
- `content_type` (text): The image's media type, e.g. image/jpeg.
- `document_ref` (text): The stored document's reference.
- `documents` (list): The downloaded picture as a document, ready to attach to a later step.
- `item` (object): One item from the iTunes Store, in the shape every action returns.
- `size` (number): The pixel size that was downloaded.
- `source_url` (text): The Apple image address the file came from.
- `url` (text): A URL that serves the stored file.

**Example output**

```json
{
  "byte_size": 43117,
  "content_type": "image/jpeg",
  "document_ref": "doc_itunes_1441164426",
  "documents": [
    {
      "content_type": "image/jpeg",
      "document_ref": "doc_itunes_1441164426",
      "filename": "itunes-1441164426-help-remastered-600.jpg",
      "size_bytes": 43117,
      "url": "/actions/core/serve-document/doc_itunes_1441164426"
    }
  ],
  "item": {
    "app": null,
    "artist_id": 136975,
    "artist_name": "The Beatles",
    "artist_url": "https://music.apple.com/us/artist/the-beatles/136975?uo=4",
    "artwork_url": "https://is1-ssl.mzstatic.com/image/thumb/Music122/v4/1a/19/db/1a19db26-17ad-b986-11a9-f72ac7a6194b/18UMGIM31214.rgb.jpg/100x100bb.jpg",
    "artwork_url_100": "https://is1-ssl.mzstatic.com/image/thumb/Music122/v4/1a/19/db/1a19db26-17ad-b986-11a9-f72ac7a6194b/18UMGIM31214.rgb.jpg/100x100bb.jpg",
    "collection_id": 1441164524,
    "collection_name": "Help!",
    "collection_price": 12.99,
    "collection_url": "https://music.apple.com/us/album/help/1441164524?uo=4",
    "content_advisory_rating": null,
    "country": "USA",
    "currency": "USD",
    "description": null,
    "disc_count": null,
    "disc_number": null,
    "duration": null,
    "duration_ms": null,
    "episode": null,
    "feed_url": null,
    "formatted_price": null,
    "genre": "Rock",
    "genres": [
      "Rock"
    ],
    "id": 1441164524,
    "is_explicit": false,
    "is_streamable": null,
    "kind": "Album",
    "name": "Help!",
    "preview_url": null,
    "price": null,
    "release_date": "1965-08-06",
    "released_at": "1965-08-06T07:00:00Z",
    "track_count": 16,
    "track_id": null,
    "track_name": null,
    "track_number": null,
    "track_url": null,
    "url": "https://music.apple.com/us/album/help/1441164524?uo=4",
    "wrapper_type": "collection"
  },
  "size": 600,
  "source_url": "https://is1-ssl.mzstatic.com/image/thumb/Music125/v4/1a/db/44/1adb44b4/mzi.rsvcdadl.jpg/600x600bb.jpg",
  "url": "/actions/core/serve-document/doc_itunes_1441164426"
}
```

### List a podcast's episodes

List a show's episodes newest first, each with its title, show notes, length, publication time and a link to the audio file itself. Every episode carries the stable id its RSS feed gives it, so a scheduled run can tell a new episode from one already seen. No API key required.

**Inputs**

- Podcast ID (`podcast_id`, text, required): The show's iTunes ID: the number after 'id' in its Apple Podcasts address, or the id from Search podcasts.
- Storefront (`country`, text): Optional. Which country's store to search. United States by default. This is not cosmetic: catalogues, prices and release dates differ per storefront, and an item on sale in one country may not exist in another. One of: `AF` (Afghanistan), `AL` (Albania), `DZ` (Algeria), `AD` (Andorra), `AO` (Angola), `AI` (Anguilla), `AG` (Antigua and Barbuda), `AR` (Argentina), `AM` (Armenia), `AU` (Australia), and 173 more. Default: `US`.
- Number of results (`limit`, number): Optional. How many items to return. Between 1 and 200, which is Apple's own ceiling; 25 by default. From 1 to 200. Default: `25`.

**Outputs**

- `count` (number): How many items are in this result.
- `country` (text): The storefront that was searched, e.g. US.
- `episodes` (list): The episodes, newest first.
- `has_more` (true/false): True when the store had more matches than this page holds.
- `podcast` (object): The podcast that was looked up.

**Example output**

```json
{
  "count": 1,
  "country": "US",
  "episodes": [
    {
      "app": null,
      "artist_id": null,
      "artist_name": null,
      "artist_url": null,
      "artwork_url": "https://is1-ssl.mzstatic.com/image/thumb/Podcasts211/v4/27/c5/52/27c552f2-3e24-ecd6-4ddf-8c782087c129/mza_15783495943155137694.jpg/600x600bb.jpg",
      "artwork_url_100": "https://is1-ssl.mzstatic.com/image/thumb/Podcasts211/v4/27/c5/52/27c552f2-3e24-ecd6-4ddf-8c782087c129/mza_15783495943155137694.jpg/100x100bb.jpg",
      "collection_id": 1200361736,
      "collection_name": "The Daily",
      "collection_price": null,
      "collection_url": "https://itunes.apple.com/us/podcast/the-daily/id1200361736?mt=2&uo=4",
      "content_advisory_rating": "Clean",
      "country": "USA",
      "currency": null,
      "description": "Jesse and Emily Cole created theSavannah Bananaswith a simple mission in mind: to make baseball as entertaining as possible. They introduced some innovations.",
      "disc_count": null,
      "disc_number": null,
      "duration": "36:52",
      "duration_ms": 2212000,
      "episode": {
        "audio_url": "https://dts.podtrac.com/redirect.mp3/pdst.fm/e/pfx.vpixl.com/6qj4J/pscrb.fm/rss/p/nyt.simplecastaudio.com/03d8b493-87fc-4bd1-931f-8a8e9b945d8a/episodes/7c1cf1e1-4c49-4b25-8669-fcc896082e21/audio/128/default.mp3?aid=rss_feed&awCollectionId=03d8b493-87fc-4bd1-931f-8a8e9b945d8a&awEpisodeId=7c1cf1e1-4c49-4b25-8669-fcc896082e21&feed=Sl5CSM3S",
        "closed_captioning": "none",
        "content_type": "audio",
        "file_extension": "mp3",
        "guid": "4aff7ca7-d64b-436a-b069-0d39594a1246"
      },
      "feed_url": "https://feeds.simplecast.com/Sl5CSM3S",
      "formatted_price": null,
      "genre": null,
      "genres": [
        "Daily News"
      ],
      "id": 1000785268020,
      "is_explicit": null,
      "is_streamable": null,
      "kind": "podcast-episode",
      "name": "Think Baseball Is Boring? The Savannah Bananas Are Here to Fix That.",
      "preview_url": "https://dts.podtrac.com/redirect.mp3/pdst.fm/e/pfx.vpixl.com/6qj4J/pscrb.fm/rss/p/nyt.simplecastaudio.com/03d8b493-87fc-4bd1-931f-8a8e9b945d8a/episodes/7c1cf1e1-4c49-4b25-8669-fcc896082e21/audio/128/default.mp3?aid=rss_feed&awCollectionId=03d8b493-87fc-4bd1-931f-8a8e9b945d8a&awEpisodeId=7c1cf1e1-4c49-4b25-8669-fcc896082e21&feed=Sl5CSM3S",
      "price": null,
      "release_date": "2026-08-23",
      "released_at": "2026-08-23T10:00:00Z",
      "track_count": null,
      "track_id": 1000785268020,
      "track_name": "Think Baseball Is Boring? The Savannah Bananas Are Here to Fix That.",
      "track_number": null,
      "track_url": "https://podcasts.apple.com/us/podcast/think-baseball-is-boring-the-savannah-bananas-are/id1200361736?i=1000785268020&uo=4",
      "url": "https://podcasts.apple.com/us/podcast/think-baseball-is-boring-the-savannah-bananas-are/id1200361736?i=1000785268020&uo=4",
      "wrapper_type": "podcastEpisode"
    }
  ],
  "has_more": false,
  "podcast": {
    "app": null,
    "artist_id": 121664449,
    "artist_name": "The New York Times",
    "artist_url": "https://podcasts.apple.com/us/artist/the-new-york-times/121664449?uo=4",
    "artwork_url": "https://is1-ssl.mzstatic.com/image/thumb/Podcasts221/v4/ab/64/66/ab6466a9-9a7d-e20e-7a3d-bc5be37d29ce/mza_15084852813176276273.jpg/600x600bb.jpg",
    "artwork_url_100": "https://is1-ssl.mzstatic.com/image/thumb/Podcasts221/v4/ab/64/66/ab6466a9-9a7d-e20e-7a3d-bc5be37d29ce/mza_15084852813176276273.jpg/100x100bb.jpg",
    "collection_id": 1200361736,
    "collection_name": "The Daily",
    "collection_price": 0.0,
    "collection_url": "https://podcasts.apple.com/us/podcast/the-daily/id1200361736?uo=4",
    "content_advisory_rating": "Clean",
    "country": "USA",
    "currency": "USD",
    "description": null,
    "disc_count": null,
    "disc_number": null,
    "duration": "0:02",
    "duration_ms": 2212,
    "episode": null,
    "feed_url": "https://feeds.simplecast.com/Sl5CSM3S",
    "formatted_price": null,
    "genre": "Daily News",
    "genres": [
      "Daily News",
      "Podcasts",
      "News"
    ],
    "id": 1200361736,
    "is_explicit": false,
    "is_streamable": null,
    "kind": "podcast",
    "name": "The Daily",
    "preview_url": null,
    "price": null,
    "release_date": "2026-08-23",
    "released_at": "2026-08-23T10:00:00Z",
    "track_count": 2699,
    "track_id": 1200361736,
    "track_name": "The Daily",
    "track_number": null,
    "track_url": "https://podcasts.apple.com/us/podcast/the-daily/id1200361736?uo=4",
    "url": "https://podcasts.apple.com/us/podcast/the-daily/id1200361736?uo=4",
    "wrapper_type": "track"
  }
}
```

### List a season's episodes

List the episodes in a TV season in running order, each with its episode number, synopsis, length, rating and price. The store returns them unordered alongside the season itself, so they are sorted by season and episode here and the season is handed back separately. No API key required.

**Inputs**

- Season ID (`season_id`, text, required): The season's iTunes ID: the collection_id on any episode of it, or the id of a TV season result from Search TV.
- Storefront (`country`, text): Optional. Which country's store to search. United States by default. This is not cosmetic: catalogues, prices and release dates differ per storefront, and an item on sale in one country may not exist in another. One of: `AF` (Afghanistan), `AL` (Albania), `DZ` (Algeria), `AD` (Andorra), `AO` (Angola), `AI` (Anguilla), `AG` (Antigua and Barbuda), `AR` (Argentina), `AM` (Armenia), `AU` (Australia), and 173 more. Default: `US`.
- Number of results (`limit`, number): Optional. How many items to return. Between 1 and 200, which is Apple's own ceiling; 25 by default. From 1 to 200. Default: `25`.

**Outputs**

- `count` (number): How many items are in this result.
- `country` (text): The storefront that was searched, e.g. US.
- `episodes` (list): The season's episodes, in running order.
- `has_more` (true/false): True when the store had more matches than this page holds.
- `season` (object): The TV season that was looked up.

**Example output**

```json
{
  "count": 1,
  "country": "US",
  "episodes": [
    {
      "app": null,
      "artist_id": 1277192592,
      "artist_name": "Seinfeld",
      "artist_url": "https://itunes.apple.com/us/tv-show/seinfeld/id1277192592?uo=4",
      "artwork_url": "https://is1-ssl.mzstatic.com/image/thumb/Video122/v4/0c/d2/0a/0cd20a8a-8ddd-a964-4ae3-9f569b8b5d69/mzl.qspqvwls.lsr/100x100bb.jpg",
      "artwork_url_100": "https://is1-ssl.mzstatic.com/image/thumb/Video122/v4/0c/d2/0a/0cd20a8a-8ddd-a964-4ae3-9f569b8b5d69/mzl.qspqvwls.lsr/100x100bb.jpg",
      "collection_id": 1295372198,
      "collection_name": "Seinfeld: The Complete Series",
      "collection_price": 99.99,
      "collection_url": "https://itunes.apple.com/us/tv-season/season-1-episode-1-seinfeld/id1295372198?i=1299996950&uo=4",
      "content_advisory_rating": "TV-PG",
      "country": "USA",
      "currency": "USD",
      "description": "Jerry is ecstatic that a woman he met on the road is coming to stay with him in New York, but his flabbergasted when he discovers she's engaged to be married.",
      "disc_count": 1,
      "disc_number": 1,
      "duration": "23:06",
      "duration_ms": 1386113,
      "episode": null,
      "feed_url": null,
      "formatted_price": null,
      "genre": "Comedy",
      "genres": [
        "Comedy"
      ],
      "id": 1299996950,
      "is_explicit": false,
      "is_streamable": null,
      "kind": "tv-episode",
      "name": "Season 1, Episode 1: Seinfeld",
      "preview_url": "https://video-ssl.itunes.apple.com/itunes-assets/Video116/v4/4b/2b/3b/4b2b3bb1-9324-d898-8f08-f77c601f2bd7/mzvf_9599659258091529897.640x478.h264lc.U.p.m4v",
      "price": 2.99,
      "release_date": "1989-07-05",
      "released_at": "1989-07-05T07:00:00Z",
      "track_count": 171,
      "track_id": 1299996950,
      "track_name": "Season 1, Episode 1: Seinfeld",
      "track_number": 1,
      "track_url": "https://itunes.apple.com/us/tv-season/season-1-episode-1-seinfeld/id1295372198?i=1299996950&uo=4",
      "url": "https://itunes.apple.com/us/tv-season/season-1-episode-1-seinfeld/id1295372198?i=1299996950&uo=4",
      "wrapper_type": "track"
    }
  ],
  "has_more": false,
  "season": {
    "app": null,
    "artist_id": 1277192592,
    "artist_name": "Seinfeld",
    "artist_url": "https://itunes.apple.com/us/tv-show/seinfeld/id1277192592?uo=4",
    "artwork_url": "https://is1-ssl.mzstatic.com/image/thumb/Video128/v4/e8/59/e8/e859e8bb-3a19-5ab1-def6-908583aa6ba3/mzl.jsuhtjbs.lsr/100x100bb.jpg",
    "artwork_url_100": "https://is1-ssl.mzstatic.com/image/thumb/Video128/v4/e8/59/e8/e859e8bb-3a19-5ab1-def6-908583aa6ba3/mzl.jsuhtjbs.lsr/100x100bb.jpg",
    "collection_id": 1277192593,
    "collection_name": "Seinfeld, Seasons 1 & 2",
    "collection_price": 19.99,
    "collection_url": "https://itunes.apple.com/us/tv-season/seinfeld-seasons-1-2/id1277192593?uo=4",
    "content_advisory_rating": "TV-PG",
    "country": "USA",
    "currency": "USD",
    "description": "A stand-up comedian and his three offbeat friends weather the pitfalls and payoffs of life in New York City in the '90s.",
    "disc_count": null,
    "disc_number": null,
    "duration": null,
    "duration_ms": null,
    "episode": null,
    "feed_url": null,
    "formatted_price": null,
    "genre": "Comedy",
    "genres": [
      "Comedy"
    ],
    "id": 1277192593,
    "is_explicit": false,
    "is_streamable": null,
    "kind": "TV Season",
    "name": "Seinfeld, Seasons 1 & 2",
    "preview_url": null,
    "price": null,
    "release_date": "1989-07-05",
    "released_at": "1989-07-05T07:00:00Z",
    "track_count": 18,
    "track_id": null,
    "track_name": null,
    "track_number": null,
    "track_url": null,
    "url": "https://itunes.apple.com/us/tv-season/seinfeld-seasons-1-2/id1277192593?uo=4",
    "wrapper_type": "collection"
  }
}
```

### List an album's tracks

List the songs on an album in running order, each with its track and disc number, length, price and preview. The store returns them mixed in with the album itself and in no particular order, so they are sorted by disc and track here and the album is handed back separately. No API key required.

**Inputs**

- Album ID (`album_id`, text, required): The album's iTunes ID: the number at the end of its store address, or the collection_id on any of its songs.
- Storefront (`country`, text): Optional. Which country's store to search. United States by default. This is not cosmetic: catalogues, prices and release dates differ per storefront, and an item on sale in one country may not exist in another. One of: `AF` (Afghanistan), `AL` (Albania), `DZ` (Algeria), `AD` (Andorra), `AO` (Angola), `AI` (Anguilla), `AG` (Antigua and Barbuda), `AR` (Argentina), `AM` (Armenia), `AU` (Australia), and 173 more. Default: `US`.
- Number of results (`limit`, number): Optional. How many items to return. Between 1 and 200, which is Apple's own ceiling; 25 by default. From 1 to 200. Default: `25`.

**Outputs**

- `album` (object): The album that was looked up.
- `count` (number): How many items are in this result.
- `country` (text): The storefront that was searched, e.g. US.
- `has_more` (true/false): True when the store had more matches than this page holds.
- `tracks` (list): The album's songs, in running order.

**Example output**

```json
{
  "album": {
    "app": null,
    "artist_id": 136975,
    "artist_name": "The Beatles",
    "artist_url": "https://music.apple.com/us/artist/the-beatles/136975?uo=4",
    "artwork_url": "https://is1-ssl.mzstatic.com/image/thumb/Music122/v4/1a/19/db/1a19db26-17ad-b986-11a9-f72ac7a6194b/18UMGIM31214.rgb.jpg/100x100bb.jpg",
    "artwork_url_100": "https://is1-ssl.mzstatic.com/image/thumb/Music122/v4/1a/19/db/1a19db26-17ad-b986-11a9-f72ac7a6194b/18UMGIM31214.rgb.jpg/100x100bb.jpg",
    "collection_id": 1441164524,
    "collection_name": "Help!",
    "collection_price": 12.99,
    "collection_url": "https://music.apple.com/us/album/help/1441164524?uo=4",
    "content_advisory_rating": null,
    "country": "USA",
    "currency": "USD",
    "description": null,
    "disc_count": null,
    "disc_number": null,
    "duration": null,
    "duration_ms": null,
    "episode": null,
    "feed_url": null,
    "formatted_price": null,
    "genre": "Rock",
    "genres": [
      "Rock"
    ],
    "id": 1441164524,
    "is_explicit": false,
    "is_streamable": null,
    "kind": "Album",
    "name": "Help!",
    "preview_url": null,
    "price": null,
    "release_date": "1965-08-06",
    "released_at": "1965-08-06T07:00:00Z",
    "track_count": 16,
    "track_id": null,
    "track_name": null,
    "track_number": null,
    "track_url": null,
    "url": "https://music.apple.com/us/album/help/1441164524?uo=4",
    "wrapper_type": "collection"
  },
  "count": 1,
  "country": "US",
  "has_more": false,
  "tracks": [
    {
      "app": null,
      "artist_id": 136975,
      "artist_name": "The Beatles",
      "artist_url": "https://music.apple.com/us/artist/the-beatles/136975?uo=4",
      "artwork_url": "https://is1-ssl.mzstatic.com/image/thumb/Music122/v4/1a/19/db/1a19db26-17ad-b986-11a9-f72ac7a6194b/18UMGIM31214.rgb.jpg/100x100bb.jpg",
      "artwork_url_100": "https://is1-ssl.mzstatic.com/image/thumb/Music122/v4/1a/19/db/1a19db26-17ad-b986-11a9-f72ac7a6194b/18UMGIM31214.rgb.jpg/100x100bb.jpg",
      "collection_id": 1441164524,
      "collection_name": "Help!",
      "collection_price": 12.99,
      "collection_url": "https://music.apple.com/us/album/yesterday/1441164524?i=1441164805&uo=4",
      "content_advisory_rating": null,
      "country": "USA",
      "currency": "USD",
      "description": null,
      "disc_count": 1,
      "disc_number": 1,
      "duration": "2:06",
      "duration_ms": 125667,
      "episode": null,
      "feed_url": null,
      "formatted_price": null,
      "genre": "Rock",
      "genres": [
        "Rock"
      ],
      "id": 1441164805,
      "is_explicit": false,
      "is_streamable": true,
      "kind": "song",
      "name": "Yesterday",
      "preview_url": "https://audio-ssl.itunes.apple.com/itunes-assets/AudioPreview221/v4/d1/69/2d/d1692d74-fe32-c676-7a1d-00deacae1644/mzaf_11316115358642175957.plus.aac.p.m4a",
      "price": 1.29,
      "release_date": "1965-08-06",
      "released_at": "1965-08-06T12:00:00Z",
      "track_count": 14,
      "track_id": 1441164805,
      "track_name": "Yesterday",
      "track_number": 13,
      "track_url": "https://music.apple.com/us/album/yesterday/1441164524?i=1441164805&uo=4",
      "url": "https://music.apple.com/us/album/yesterday/1441164524?i=1441164805&uo=4",
      "wrapper_type": "track"
    }
  ]
}
```

### List an artist's albums

List everything an artist has released, with each album's artwork, track count, genre and release date. Turn on newest first and the top of the list is the new record, which is the check to run on a schedule to hear about a release the day it lands. No API key required.

**Inputs**

- Artist ID (`artist_id`, text, required): The artist's iTunes ID: the number at the end of their store address, or the artist_id on any of their songs. Paste the whole address if that is easier.
- Newest first (`newest_first`, true/false): Optional. Return the most recent releases first instead of the store's own order. Off by default. Default: `false`.
- Storefront (`country`, text): Optional. Which country's store to search. United States by default. This is not cosmetic: catalogues, prices and release dates differ per storefront, and an item on sale in one country may not exist in another. One of: `AF` (Afghanistan), `AL` (Albania), `DZ` (Algeria), `AD` (Andorra), `AO` (Angola), `AI` (Anguilla), `AG` (Antigua and Barbuda), `AR` (Argentina), `AM` (Armenia), `AU` (Australia), and 173 more. Default: `US`.
- Number of results (`limit`, number): Optional. How many items to return. Between 1 and 200, which is Apple's own ceiling; 25 by default. From 1 to 200. Default: `25`.

**Outputs**

- `albums` (list): The artist's albums.
- `artist` (object): The artist that was looked up.
- `count` (number): How many items are in this result.
- `country` (text): The storefront that was searched, e.g. US.
- `has_more` (true/false): True when the store had more matches than this page holds.

**Example output**

```json
{
  "albums": [
    {
      "app": null,
      "artist_id": 136975,
      "artist_name": "The Beatles",
      "artist_url": "https://music.apple.com/us/artist/the-beatles/136975?uo=4",
      "artwork_url": "https://is1-ssl.mzstatic.com/image/thumb/Music122/v4/1a/19/db/1a19db26-17ad-b986-11a9-f72ac7a6194b/18UMGIM31214.rgb.jpg/100x100bb.jpg",
      "artwork_url_100": "https://is1-ssl.mzstatic.com/image/thumb/Music122/v4/1a/19/db/1a19db26-17ad-b986-11a9-f72ac7a6194b/18UMGIM31214.rgb.jpg/100x100bb.jpg",
      "collection_id": 1441164524,
      "collection_name": "Help!",
      "collection_price": 12.99,
      "collection_url": "https://music.apple.com/us/album/help/1441164524?uo=4",
      "content_advisory_rating": null,
      "country": "USA",
      "currency": "USD",
      "description": null,
      "disc_count": null,
      "disc_number": null,
      "duration": null,
      "duration_ms": null,
      "episode": null,
      "feed_url": null,
      "formatted_price": null,
      "genre": "Rock",
      "genres": [
        "Rock"
      ],
      "id": 1441164524,
      "is_explicit": false,
      "is_streamable": null,
      "kind": "Album",
      "name": "Help!",
      "preview_url": null,
      "price": null,
      "release_date": "1965-08-06",
      "released_at": "1965-08-06T07:00:00Z",
      "track_count": 16,
      "track_id": null,
      "track_name": null,
      "track_number": null,
      "track_url": null,
      "url": "https://music.apple.com/us/album/help/1441164524?uo=4",
      "wrapper_type": "collection"
    }
  ],
  "artist": {
    "app": null,
    "artist_id": 136975,
    "artist_name": "The Beatles",
    "artist_url": "https://music.apple.com/us/artist/the-beatles/136975?uo=4",
    "artwork_url": null,
    "artwork_url_100": null,
    "collection_id": null,
    "collection_name": null,
    "collection_price": null,
    "collection_url": null,
    "content_advisory_rating": null,
    "country": null,
    "currency": null,
    "description": null,
    "disc_count": null,
    "disc_number": null,
    "duration": null,
    "duration_ms": null,
    "episode": null,
    "feed_url": null,
    "formatted_price": null,
    "genre": "Rock",
    "genres": [
      "Rock"
    ],
    "id": 136975,
    "is_explicit": null,
    "is_streamable": null,
    "kind": "Artist",
    "name": "The Beatles",
    "preview_url": null,
    "price": null,
    "release_date": null,
    "released_at": null,
    "track_count": null,
    "track_id": null,
    "track_name": null,
    "track_number": null,
    "track_url": null,
    "url": "https://music.apple.com/us/artist/the-beatles/136975?uo=4",
    "wrapper_type": "artist"
  },
  "count": 1,
  "country": "US",
  "has_more": false
}
```

### List an artist's songs

List an artist's individual songs across every album, each with its album, length, price and preview. Turn on newest first for the most recent releases. No API key required.

**Inputs**

- Artist ID (`artist_id`, text, required): The artist's iTunes ID: the number at the end of their store address, or the artist_id on any of their songs. Paste the whole address if that is easier.
- Newest first (`newest_first`, true/false): Optional. Return the most recent releases first instead of the store's own order. Off by default. Default: `false`.
- Storefront (`country`, text): Optional. Which country's store to search. United States by default. This is not cosmetic: catalogues, prices and release dates differ per storefront, and an item on sale in one country may not exist in another. One of: `AF` (Afghanistan), `AL` (Albania), `DZ` (Algeria), `AD` (Andorra), `AO` (Angola), `AI` (Anguilla), `AG` (Antigua and Barbuda), `AR` (Argentina), `AM` (Armenia), `AU` (Australia), and 173 more. Default: `US`.
- Number of results (`limit`, number): Optional. How many items to return. Between 1 and 200, which is Apple's own ceiling; 25 by default. From 1 to 200. Default: `25`.

**Outputs**

- `artist` (object): The artist that was looked up.
- `count` (number): How many items are in this result.
- `country` (text): The storefront that was searched, e.g. US.
- `has_more` (true/false): True when the store had more matches than this page holds.
- `songs` (list): The artist's songs.

**Example output**

```json
{
  "artist": {
    "app": null,
    "artist_id": 136975,
    "artist_name": "The Beatles",
    "artist_url": "https://music.apple.com/us/artist/the-beatles/136975?uo=4",
    "artwork_url": null,
    "artwork_url_100": null,
    "collection_id": null,
    "collection_name": null,
    "collection_price": null,
    "collection_url": null,
    "content_advisory_rating": null,
    "country": null,
    "currency": null,
    "description": null,
    "disc_count": null,
    "disc_number": null,
    "duration": null,
    "duration_ms": null,
    "episode": null,
    "feed_url": null,
    "formatted_price": null,
    "genre": "Rock",
    "genres": [
      "Rock"
    ],
    "id": 136975,
    "is_explicit": null,
    "is_streamable": null,
    "kind": "Artist",
    "name": "The Beatles",
    "preview_url": null,
    "price": null,
    "release_date": null,
    "released_at": null,
    "track_count": null,
    "track_id": null,
    "track_name": null,
    "track_number": null,
    "track_url": null,
    "url": "https://music.apple.com/us/artist/the-beatles/136975?uo=4",
    "wrapper_type": "artist"
  },
  "count": 1,
  "country": "US",
  "has_more": false,
  "songs": [
    {
      "app": null,
      "artist_id": 136975,
      "artist_name": "The Beatles",
      "artist_url": "https://music.apple.com/us/artist/the-beatles/136975?uo=4",
      "artwork_url": "https://is1-ssl.mzstatic.com/image/thumb/Music122/v4/1a/19/db/1a19db26-17ad-b986-11a9-f72ac7a6194b/18UMGIM31214.rgb.jpg/100x100bb.jpg",
      "artwork_url_100": "https://is1-ssl.mzstatic.com/image/thumb/Music122/v4/1a/19/db/1a19db26-17ad-b986-11a9-f72ac7a6194b/18UMGIM31214.rgb.jpg/100x100bb.jpg",
      "collection_id": 1441164524,
      "collection_name": "Help!",
      "collection_price": 12.99,
      "collection_url": "https://music.apple.com/us/album/yesterday/1441164524?i=1441164805&uo=4",
      "content_advisory_rating": null,
      "country": "USA",
      "currency": "USD",
      "description": null,
      "disc_count": 1,
      "disc_number": 1,
      "duration": "2:06",
      "duration_ms": 125667,
      "episode": null,
      "feed_url": null,
      "formatted_price": null,
      "genre": "Rock",
      "genres": [
        "Rock"
      ],
      "id": 1441164805,
      "is_explicit": false,
      "is_streamable": true,
      "kind": "song",
      "name": "Yesterday",
      "preview_url": "https://audio-ssl.itunes.apple.com/itunes-assets/AudioPreview221/v4/d1/69/2d/d1692d74-fe32-c676-7a1d-00deacae1644/mzaf_11316115358642175957.plus.aac.p.m4a",
      "price": 1.29,
      "release_date": "1965-08-06",
      "released_at": "1965-08-06T12:00:00Z",
      "track_count": 14,
      "track_id": 1441164805,
      "track_name": "Yesterday",
      "track_number": 13,
      "track_url": "https://music.apple.com/us/album/yesterday/1441164524?i=1441164805&uo=4",
      "url": "https://music.apple.com/us/album/yesterday/1441164524?i=1441164805&uo=4",
      "wrapper_type": "track"
    }
  ]
}
```

### Look up a book by ISBN

Find the Apple Books edition behind an ISBN-10 or ISBN-13. An ISBN names one exact edition, so this is how to check whether a specific printing is on sale, and at what price, without guessing from the title. No API key required.

**Inputs**

- ISBN (`isbn`, text, required): The book's ISBN-10 or ISBN-13. Spaces and hyphens are ignored, so it can be typed as it appears on the cover. An ISBN is per edition, so the paperback's number will not find the ebook.
- Storefront (`country`, text): Optional. Which country's store to search. United States by default. This is not cosmetic: catalogues, prices and release dates differ per storefront, and an item on sale in one country may not exist in another. One of: `AF` (Afghanistan), `AL` (Albania), `DZ` (Algeria), `AD` (Andorra), `AO` (Angola), `AI` (Anguilla), `AG` (Antigua and Barbuda), `AR` (Argentina), `AM` (Armenia), `AU` (Australia), and 173 more. Default: `US`.
- Number of results (`limit`, number): Optional. How many items to return. Between 1 and 200, which is Apple's own ceiling; 25 by default. From 1 to 200. Default: `25`.

**Outputs**

- `count` (number): How many items are in this result.
- `country` (text): The storefront that was searched, e.g. US.
- `isbn` (text): The ISBN that was looked up, with any spaces and hyphens removed.
- `results` (list): The matching items, in the order the store ranked them.

**Example output**

```json
{
  "count": 1,
  "country": "US",
  "isbn": "9780316069359",
  "results": [
    {
      "app": null,
      "artist_id": 296898111,
      "artist_name": "Frank Herbert",
      "artist_url": "https://books.apple.com/us/artist/frank-herbert/296898111?uo=4",
      "artwork_url": "https://is1-ssl.mzstatic.com/image/thumb/Publication122/v4/85/70/2f/85702f34-2982-e2ee-d883-b5ffc3ae0897/9781101658055.d.jpg/100x100bb.jpg",
      "artwork_url_100": "https://is1-ssl.mzstatic.com/image/thumb/Publication122/v4/85/70/2f/85702f34-2982-e2ee-d883-b5ffc3ae0897/9781101658055.d.jpg/100x100bb.jpg",
      "collection_id": null,
      "collection_name": null,
      "collection_price": null,
      "collection_url": null,
      "content_advisory_rating": null,
      "country": null,
      "currency": "USD",
      "description": "<b><b>Frank Herbert\u2019s classic masterpiece\u2014a triumph of the imagination and one of the bestselling science fiction novels of all time.</b></b><br /><br />Set on.",
      "disc_count": null,
      "disc_number": null,
      "duration": null,
      "duration_ms": null,
      "episode": null,
      "feed_url": null,
      "formatted_price": "$9.99",
      "genre": null,
      "genres": [
        "Science Fiction",
        "Books",
        "Sci-Fi & Fantasy"
      ],
      "id": 597944491,
      "is_explicit": null,
      "is_streamable": null,
      "kind": "ebook",
      "name": "Dune",
      "preview_url": null,
      "price": 9.99,
      "release_date": "1975-09-01",
      "released_at": "1975-09-01T07:00:00Z",
      "track_count": null,
      "track_id": 597944491,
      "track_name": "Dune",
      "track_number": null,
      "track_url": "https://books.apple.com/us/book/dune/id597944491?uo=4",
      "url": "https://books.apple.com/us/book/dune/id597944491?uo=4",
      "wrapper_type": null
    }
  ]
}
```

### Look up an album by barcode

Find the album behind a UPC or EAN barcode, the number printed on a CD or vinyl sleeve. Use it to turn a scanned barcode into an album with its artist, artwork, track count and release date, which no amount of searching by title will do reliably for a reissue. No API key required.

**Inputs**

- Barcode (`upc`, text, required): The UPC or EAN barcode printed on a CD or vinyl sleeve: 8 to 14 digits. Spaces and hyphens are ignored, so it can be typed as it appears on the packaging.
- Storefront (`country`, text): Optional. Which country's store to search. United States by default. This is not cosmetic: catalogues, prices and release dates differ per storefront, and an item on sale in one country may not exist in another. One of: `AF` (Afghanistan), `AL` (Albania), `DZ` (Algeria), `AD` (Andorra), `AO` (Angola), `AI` (Anguilla), `AG` (Antigua and Barbuda), `AR` (Argentina), `AM` (Armenia), `AU` (Australia), and 173 more. Default: `US`.
- Number of results (`limit`, number): Optional. How many items to return. Between 1 and 200, which is Apple's own ceiling; 25 by default. From 1 to 200. Default: `25`.

**Outputs**

- `count` (number): How many items are in this result.
- `country` (text): The storefront that was searched, e.g. US.
- `results` (list): The matching items, in the order the store ranked them.
- `upc` (text): The barcode that was looked up, with any spaces and hyphens removed.

**Example output**

```json
{
  "count": 1,
  "country": "US",
  "results": [
    {
      "app": null,
      "artist_id": 136975,
      "artist_name": "The Beatles",
      "artist_url": "https://music.apple.com/us/artist/the-beatles/136975?uo=4",
      "artwork_url": "https://is1-ssl.mzstatic.com/image/thumb/Music122/v4/1a/19/db/1a19db26-17ad-b986-11a9-f72ac7a6194b/18UMGIM31214.rgb.jpg/100x100bb.jpg",
      "artwork_url_100": "https://is1-ssl.mzstatic.com/image/thumb/Music122/v4/1a/19/db/1a19db26-17ad-b986-11a9-f72ac7a6194b/18UMGIM31214.rgb.jpg/100x100bb.jpg",
      "collection_id": 1441164524,
      "collection_name": "Help!",
      "collection_price": 12.99,
      "collection_url": "https://music.apple.com/us/album/help/1441164524?uo=4",
      "content_advisory_rating": null,
      "country": "USA",
      "currency": "USD",
      "description": null,
      "disc_count": null,
      "disc_number": null,
      "duration": null,
      "duration_ms": null,
      "episode": null,
      "feed_url": null,
      "formatted_price": null,
      "genre": "Rock",
      "genres": [
        "Rock"
      ],
      "id": 1441164524,
      "is_explicit": false,
      "is_streamable": null,
      "kind": "Album",
      "name": "Help!",
      "preview_url": null,
      "price": null,
      "release_date": "1965-08-06",
      "released_at": "1965-08-06T07:00:00Z",
      "track_count": 16,
      "track_id": null,
      "track_name": null,
      "track_number": null,
      "track_url": null,
      "url": "https://music.apple.com/us/album/help/1441164524?uo=4",
      "wrapper_type": "collection"
    }
  ],
  "upc": "720642462928"
}
```

### Look up by AllMusic ID

Find an artist, album or music video by its AllMusic identifier rather than its iTunes one. Use it to join a music library keyed on AllMusic to the iTunes catalogue without matching on names, which never survives a punctuation difference. Up to 100 ids at a time. No API key required.

**Inputs**

- What the ID identifies (`id_type`, text, required): Which kind of AllMusic identifier is being looked up. The store keeps a separate index for each, so this cannot be guessed from the number. One of: `amgArtistId` (Artist), `amgAlbumId` (Album), `amgVideoId` (Music video).
- AllMusic IDs (`amg_ids`, list, required): The AllMusic identifiers to look up. Up to 100 in one step. These are AllMusic's own numbers, not iTunes ones, and appear as amgArtistId in the store's own data.
- Storefront (`country`, text): Optional. Which country's store to search. United States by default. This is not cosmetic: catalogues, prices and release dates differ per storefront, and an item on sale in one country may not exist in another. One of: `AF` (Afghanistan), `AL` (Albania), `DZ` (Algeria), `AD` (Andorra), `AO` (Angola), `AI` (Anguilla), `AG` (Antigua and Barbuda), `AR` (Argentina), `AM` (Armenia), `AU` (Australia), and 173 more. Default: `US`.
- Number of results (`limit`, number): Optional. How many items to return. Between 1 and 200, which is Apple's own ceiling; 25 by default. From 1 to 200. Default: `25`.

**Outputs**

- `count` (number): How many items are in this result.
- `country` (text): The storefront that was searched, e.g. US.
- `id_type` (text): The kind of AllMusic id that was looked up.
- `requested_count` (number): How many identifiers were looked up.
- `results` (list): The matching items, in the order the store ranked them.

**Example output**

```json
{
  "count": 1,
  "country": "US",
  "id_type": "amgArtistId",
  "requested_count": 1,
  "results": [
    {
      "app": null,
      "artist_id": 136975,
      "artist_name": "The Beatles",
      "artist_url": "https://music.apple.com/us/artist/the-beatles/136975?uo=4",
      "artwork_url": null,
      "artwork_url_100": null,
      "collection_id": null,
      "collection_name": null,
      "collection_price": null,
      "collection_url": null,
      "content_advisory_rating": null,
      "country": null,
      "currency": null,
      "description": null,
      "disc_count": null,
      "disc_number": null,
      "duration": null,
      "duration_ms": null,
      "episode": null,
      "feed_url": null,
      "formatted_price": null,
      "genre": "Rock",
      "genres": [
        "Rock"
      ],
      "id": 136975,
      "is_explicit": null,
      "is_streamable": null,
      "kind": "Artist",
      "name": "The Beatles",
      "preview_url": null,
      "price": null,
      "release_date": null,
      "released_at": null,
      "track_count": null,
      "track_id": null,
      "track_name": null,
      "track_number": null,
      "track_url": null,
      "url": "https://music.apple.com/us/artist/the-beatles/136975?uo=4",
      "wrapper_type": "artist"
    }
  ]
}
```

### Look up by ID

Fetch items you already know the iTunes ID of, up to 100 in one request. This is the exact-match counterpart to a search: give it the id off an earlier step and it returns that same item with its current price, artwork and details. Ask it to also return what belongs to each item to get an artist's albums or an album's songs in the same call. No API key required.

**Inputs**

- iTunes IDs (`itunes_ids`, list, required): The items to fetch. An iTunes ID is the number in a store address, so https://music.apple.com/us/artist/the-beatles/136975 is 136975. Paste the whole address if that is easier: the number is read out of it. Up to 100 in one step.
- Also return (`entity`, text): Optional. Ask for what belongs to each item as well as the item itself: an artist's albums, an album's songs, a podcast's episodes. Leave blank to get just the items. One of: `album` (Albums), `allArtist` (Artists), `allTrack` (Tracks), `audiobook` (Audiobooks), `audiobookAuthor` (Authors), `ebook` (Books), `iPadSoftware` (iPad apps), `macSoftware` (Mac apps), `mix` (Mixes), `movie` (Movies), and 13 more.
- Order (`sort`, text): Optional. Leave blank for the store's own order, or choose newest first. Apple offers no other ordering. One of: `recent` (Newest first).
- Storefront (`country`, text): Optional. Which country's store to search. United States by default. This is not cosmetic: catalogues, prices and release dates differ per storefront, and an item on sale in one country may not exist in another. One of: `AF` (Afghanistan), `AL` (Albania), `DZ` (Algeria), `AD` (Andorra), `AO` (Angola), `AI` (Anguilla), `AG` (Antigua and Barbuda), `AR` (Argentina), `AM` (Armenia), `AU` (Australia), and 173 more. Default: `US`.
- Number of results (`limit`, number): Optional. How many items to return. Between 1 and 200, which is Apple's own ceiling; 25 by default. From 1 to 200. Default: `25`.

**Outputs**

- `count` (number): How many items are in this result.
- `country` (text): The storefront that was searched, e.g. US.
- `not_found` (list): The identifiers this storefront held nothing for. Catalogues differ per country, so an id that misses in one may be found in another.
- `requested_count` (number): How many identifiers were looked up.
- `results` (list): The matching items, in the order the store ranked them.

**Example output**

```json
{
  "count": 1,
  "country": "US",
  "not_found": [
    "999999999999"
  ],
  "requested_count": 2,
  "results": [
    {
      "app": null,
      "artist_id": 136975,
      "artist_name": "The Beatles",
      "artist_url": "https://music.apple.com/us/artist/the-beatles/136975?uo=4",
      "artwork_url": null,
      "artwork_url_100": null,
      "collection_id": null,
      "collection_name": null,
      "collection_price": null,
      "collection_url": null,
      "content_advisory_rating": null,
      "country": null,
      "currency": null,
      "description": null,
      "disc_count": null,
      "disc_number": null,
      "duration": null,
      "duration_ms": null,
      "episode": null,
      "feed_url": null,
      "formatted_price": null,
      "genre": "Rock",
      "genres": [
        "Rock"
      ],
      "id": 136975,
      "is_explicit": null,
      "is_streamable": null,
      "kind": "Artist",
      "name": "The Beatles",
      "preview_url": null,
      "price": null,
      "release_date": null,
      "released_at": null,
      "track_count": null,
      "track_id": null,
      "track_name": null,
      "track_number": null,
      "track_url": null,
      "url": "https://music.apple.com/us/artist/the-beatles/136975?uo=4",
      "wrapper_type": "artist"
    }
  ]
}
```

### Search apps

Search the App Store and get back each app's star rating and how many ratings it has, its price, size, version, release notes, screenshots and the devices it runs on. Search a category to see what a market looks like, or match on the developer to list everything one company publishes. Choose the iPhone, iPad or Mac storefront. No API key required.

**Inputs**

- Search text (`term`, text, required): The app, developer or category to look for. Search a category to see what a market looks like; search a developer to list everything they publish.
- Kind of result (`entity`, text): Optional. Which storefront to search: iPhone apps, iPad apps or Mac apps. Leave blank for iPhone apps. One of: `software` (iPhone apps), `iPadSoftware` (iPad apps), `macSoftware` (Mac apps).
- Match against (`attribute`, text): Optional. Match the search text against the developer's name rather than the app's, which lists everything one company publishes. Leave blank to match anywhere. One of: `softwareDeveloper` (Developer).
- Storefront (`country`, text): Optional. Which country's store to search. United States by default. This is not cosmetic: catalogues, prices and release dates differ per storefront, and an item on sale in one country may not exist in another. One of: `AF` (Afghanistan), `AL` (Albania), `DZ` (Algeria), `AD` (Andorra), `AO` (Angola), `AI` (Anguilla), `AG` (Antigua and Barbuda), `AR` (Argentina), `AM` (Armenia), `AU` (Australia), and 173 more. Default: `US`.
- Include explicit content (`explicit`, true/false): Optional. Whether to include items carrying an explicit-content advisory. On by default, which is what the store itself does. Turn it off to keep a workflow's output safe for work. Default: `true`.
- Number of results (`limit`, number): Optional. How many items to return. Between 1 and 200, which is Apple's own ceiling; 25 by default. From 1 to 200. Default: `25`.
- Skip (`offset`, number): Optional. How many matches to skip before this page. Use the next offset from the previous result to page through. 0 by default. The store returns at most 200 matches for a search, so this plus the number of results cannot go past 200. From 0 to 199. Default: `0`.

**Outputs**

- `attribute` (text): The field the term was matched against. Null when none was set.
- `count` (number): How many items are in this result.
- `country` (text): The storefront that was searched, e.g. US.
- `entity` (text): The kind of result that was asked for. Null when none was set.
- `has_more` (true/false): True when the store had more matches than this page holds.
- `max_results_reached` (true/false): True when paging ran into Apple's ceiling of 200 matches per search. There may be more items in the store, but this API will not return them: narrow the search to reach them.
- `media` (text): The catalogue that was searched.
- `next_offset` (number): The Skip value that fetches the next page. Null when this is the last one.
- `results` (list): The matching items, in the order the store ranked them.
- `term` (text): The text that was searched for.

**Example output**

```json
{
  "attribute": null,
  "count": 1,
  "country": "US",
  "entity": "software",
  "has_more": true,
  "max_results_reached": false,
  "media": "software",
  "next_offset": 25,
  "results": [
    {
      "app": {
        "advisories": [],
        "average_user_rating": 4.11503,
        "bundle_id": "com.tinyspeck.chatlyio",
        "current_version_released_at": "2026-08-19T19:14:58Z",
        "file_size_bytes": 347049984,
        "ipad_screenshot_urls": [
          "https://is1-ssl.mzstatic.com/image/thumb/Purple211/v4/ce/10/0b/ce100bff-15b0-71a8-c234-ee5ec4f1350b/51e614ff-87d3-43bd-94e4-82d93e744e9e_app-store-UI-001-2732x2048@1x.jpg/552x414bb.jpg",
          "https://is1-ssl.mzstatic.com/image/thumb/Purple221/v4/ad/fa/1d/adfa1d81-32e9-be40-b271-a9c417f8d1c0/2fc5386f-df07-4fe4-9ab2-a7fbb6bb9c31_app-store-UI-002-2732x2048@1x.jpg/552x414bb.jpg"
        ],
        "is_game_center_enabled": false,
        "languages": [
          "EN",
          "FR"
        ],
        "minimum_os_version": "17.0",
        "release_notes": "Bug Fixes\n\u2022 Dismissing the keyboard with a quick downward swipe sometimes resulted in the.",
        "screenshot_urls": [
          "https://is1-ssl.mzstatic.com/image/thumb/Purple221/v4/38/e6/08/38e6085c-6bf9-e0a0-e432-055beee537cb/93f78483-ed6a-4f45-bf05-4308c2ecb92f_iOS-iPhone6.5-Screenshot01.en-GB@3x-1.png/392x696bb.png",
          "https://is1-ssl.mzstatic.com/image/thumb/PurpleSource211/v4/5d/ca/6b/5dca6b63-1062-1f70-b072-84cf8cd5fd8d/9776126f-a44a-4ecb-aa3e-ac35f8128ba0_iOS-iPhone5.5-Screenshot02.en-GB@3x.png/392x696bb.png"
        ],
        "seller_name": "SLACK TECHNOLOGIES L.L.C.",
        "seller_url": "https://slack.com/is",
        "supported_devices": [
          "iPhone5s-iPhone5s",
          "iPadAir-iPadAir"
        ],
        "user_rating_count": 50173,
        "version": "26.08.30"
      },
      "artist_id": 453420243,
      "artist_name": "Slack Technologies, Inc.",
      "artist_url": "https://apps.apple.com/us/developer/slack-technologies-inc/id453420243?uo=4",
      "artwork_url": "https://is1-ssl.mzstatic.com/image/thumb/Purple211/v4/e5/ec/29/e5ec2995-e467-3b2a-5f8f-138d48e4edcb/slack_icon_prod-0-0-1x_U007epad-0-1-sRGB-85-220.png/512x512bb.jpg",
      "artwork_url_100": "https://is1-ssl.mzstatic.com/image/thumb/Purple211/v4/e5/ec/29/e5ec2995-e467-3b2a-5f8f-138d48e4edcb/slack_icon_prod-0-0-1x_U007epad-0-1-sRGB-85-220.png/100x100bb.jpg",
      "collection_id": null,
      "collection_name": null,
      "collection_price": null,
      "collection_url": null,
      "content_advisory_rating": "17+",
      "country": null,
      "currency": "USD",
      "description": "Companies in every industry around the world grow their business in Slack because it gets busywork off their plates and wasteful meetings off their.",
      "disc_count": null,
      "disc_number": null,
      "duration": null,
      "duration_ms": null,
      "episode": null,
      "feed_url": null,
      "formatted_price": "Free",
      "genre": "Business",
      "genres": [
        "Business",
        "Productivity"
      ],
      "id": 618783545,
      "is_explicit": null,
      "is_streamable": null,
      "kind": "software",
      "name": "Slack",
      "preview_url": null,
      "price": 0.0,
      "release_date": "2013-03-20",
      "released_at": "2013-03-20T19:23:34Z",
      "track_count": null,
      "track_id": 618783545,
      "track_name": "Slack",
      "track_number": null,
      "track_url": "https://apps.apple.com/us/app/slack/id618783545?uo=4",
      "url": "https://apps.apple.com/us/app/slack/id618783545?uo=4",
      "wrapper_type": "software"
    }
  ],
  "term": "Slack"
}
```

### Search audiobooks

Search Apple's audiobook catalogue by title, author or narrator, and get back each one's description, price, cover and how many parts it runs to. No API key required.

**Inputs**

- Search text (`term`, text, required): The audiobook, author or narrator to look for.
- Kind of result (`entity`, text): Optional. Audiobooks themselves, or their authors. Leave blank for the store's own mix. One of: `audiobookAuthor` (Authors), `audiobook` (Audiobooks).
- Match against (`attribute`, text): Optional. Match the search text against the title or the author rather than anywhere. Leave blank to match anywhere. One of: `authorTerm` (Author), `genreIndex` (Genre), `ratingIndex` (Rating category), `titleTerm` (Title).
- Storefront (`country`, text): Optional. Which country's store to search. United States by default. This is not cosmetic: catalogues, prices and release dates differ per storefront, and an item on sale in one country may not exist in another. One of: `AF` (Afghanistan), `AL` (Albania), `DZ` (Algeria), `AD` (Andorra), `AO` (Angola), `AI` (Anguilla), `AG` (Antigua and Barbuda), `AR` (Argentina), `AM` (Armenia), `AU` (Australia), and 173 more. Default: `US`.
- Include explicit content (`explicit`, true/false): Optional. Whether to include items carrying an explicit-content advisory. On by default, which is what the store itself does. Turn it off to keep a workflow's output safe for work. Default: `true`.
- Number of results (`limit`, number): Optional. How many items to return. Between 1 and 200, which is Apple's own ceiling; 25 by default. From 1 to 200. Default: `25`.
- Skip (`offset`, number): Optional. How many matches to skip before this page. Use the next offset from the previous result to page through. 0 by default. The store returns at most 200 matches for a search, so this plus the number of results cannot go past 200. From 0 to 199. Default: `0`.

**Outputs**

- `attribute` (text): The field the term was matched against. Null when none was set.
- `count` (number): How many items are in this result.
- `country` (text): The storefront that was searched, e.g. US.
- `entity` (text): The kind of result that was asked for. Null when none was set.
- `has_more` (true/false): True when the store had more matches than this page holds.
- `max_results_reached` (true/false): True when paging ran into Apple's ceiling of 200 matches per search. There may be more items in the store, but this API will not return them: narrow the search to reach them.
- `media` (text): The catalogue that was searched.
- `next_offset` (number): The Skip value that fetches the next page. Null when this is the last one.
- `results` (list): The matching items, in the order the store ranked them.
- `term` (text): The text that was searched for.

**Example output**

```json
{
  "attribute": null,
  "count": 1,
  "country": "US",
  "entity": "audiobook",
  "has_more": false,
  "max_results_reached": false,
  "media": "audiobook",
  "next_offset": null,
  "results": [
    {
      "app": null,
      "artist_id": 296898111,
      "artist_name": "Frank Herbert",
      "artist_url": "https://books.apple.com/us/author/frank-herbert/id296898111?uo=4",
      "artwork_url": "https://is1-ssl.mzstatic.com/image/thumb/Music122/v4/6a/c7/3a/6ac73abf-9b1c-0869-b9f0-3cc93de3f805/9781427201447.jpg/100x100bb.jpg",
      "artwork_url_100": "https://is1-ssl.mzstatic.com/image/thumb/Music122/v4/6a/c7/3a/6ac73abf-9b1c-0869-b9f0-3cc93de3f805/9781427201447.jpg/100x100bb.jpg",
      "collection_id": 1442046673,
      "collection_name": "Dune",
      "collection_price": 26.99,
      "collection_url": "https://books.apple.com/us/audiobook/dune/id1442046673?uo=4",
      "content_advisory_rating": null,
      "country": "USA",
      "currency": "USD",
      "description": "Set on the desert planet Arrakis, <i>Dune</i> is the story of the boy Paul Atreides, who would become the mysterious man known as Maud'dib. He would avenge the.",
      "disc_count": null,
      "disc_number": null,
      "duration": null,
      "duration_ms": null,
      "episode": null,
      "feed_url": null,
      "formatted_price": null,
      "genre": "Sci-Fi & Fantasy",
      "genres": [
        "Sci-Fi & Fantasy"
      ],
      "id": 1442046673,
      "is_explicit": false,
      "is_streamable": null,
      "kind": null,
      "name": "Dune",
      "preview_url": "https://audio-ssl.itunes.apple.com/itunes-assets/AudioPreview126/v4/fd/ea/d6/fdead65e-da84-0f3f-e39f-5ed24449f0dc/mzaf_11448145514866941022.std.aac.p.m4a",
      "price": null,
      "release_date": "2007-05-29",
      "released_at": "2007-05-29T07:00:00Z",
      "track_count": 1,
      "track_id": null,
      "track_name": null,
      "track_number": null,
      "track_url": null,
      "url": "https://books.apple.com/us/audiobook/dune/id1442046673?uo=4",
      "wrapper_type": "audiobook"
    }
  ],
  "term": "Dune"
}
```

### Search books

Search Apple Books by title, author or subject, and get back each book's description, genres, price, cover and release date. Use Look up by ISBN instead when you have the number off the back of a specific edition. No API key required.

**Inputs**

- Search text (`term`, text, required): The book, author or subject to look for.
- Kind of result (`entity`, text): Optional. Apple Books has one kind of result, so this only makes the search explicit. Leave blank for the same thing. One of: `ebook` (Books).
- Storefront (`country`, text): Optional. Which country's store to search. United States by default. This is not cosmetic: catalogues, prices and release dates differ per storefront, and an item on sale in one country may not exist in another. One of: `AF` (Afghanistan), `AL` (Albania), `DZ` (Algeria), `AD` (Andorra), `AO` (Angola), `AI` (Anguilla), `AG` (Antigua and Barbuda), `AR` (Argentina), `AM` (Armenia), `AU` (Australia), and 173 more. Default: `US`.
- Include explicit content (`explicit`, true/false): Optional. Whether to include items carrying an explicit-content advisory. On by default, which is what the store itself does. Turn it off to keep a workflow's output safe for work. Default: `true`.
- Number of results (`limit`, number): Optional. How many items to return. Between 1 and 200, which is Apple's own ceiling; 25 by default. From 1 to 200. Default: `25`.
- Skip (`offset`, number): Optional. How many matches to skip before this page. Use the next offset from the previous result to page through. 0 by default. The store returns at most 200 matches for a search, so this plus the number of results cannot go past 200. From 0 to 199. Default: `0`.

**Outputs**

- `attribute` (text): The field the term was matched against. Null when none was set.
- `count` (number): How many items are in this result.
- `country` (text): The storefront that was searched, e.g. US.
- `entity` (text): The kind of result that was asked for. Null when none was set.
- `has_more` (true/false): True when the store had more matches than this page holds.
- `max_results_reached` (true/false): True when paging ran into Apple's ceiling of 200 matches per search. There may be more items in the store, but this API will not return them: narrow the search to reach them.
- `media` (text): The catalogue that was searched.
- `next_offset` (number): The Skip value that fetches the next page. Null when this is the last one.
- `results` (list): The matching items, in the order the store ranked them.
- `term` (text): The text that was searched for.

**Example output**

```json
{
  "attribute": null,
  "count": 1,
  "country": "US",
  "entity": "ebook",
  "has_more": true,
  "max_results_reached": false,
  "media": "ebook",
  "next_offset": 25,
  "results": [
    {
      "app": null,
      "artist_id": 296898111,
      "artist_name": "Frank Herbert",
      "artist_url": "https://books.apple.com/us/artist/frank-herbert/296898111?uo=4",
      "artwork_url": "https://is1-ssl.mzstatic.com/image/thumb/Publication122/v4/85/70/2f/85702f34-2982-e2ee-d883-b5ffc3ae0897/9781101658055.d.jpg/100x100bb.jpg",
      "artwork_url_100": "https://is1-ssl.mzstatic.com/image/thumb/Publication122/v4/85/70/2f/85702f34-2982-e2ee-d883-b5ffc3ae0897/9781101658055.d.jpg/100x100bb.jpg",
      "collection_id": null,
      "collection_name": null,
      "collection_price": null,
      "collection_url": null,
      "content_advisory_rating": null,
      "country": null,
      "currency": "USD",
      "description": "<b><b>Frank Herbert\u2019s classic masterpiece\u2014a triumph of the imagination and one of the bestselling science fiction novels of all time.</b></b><br /><br />Set on.",
      "disc_count": null,
      "disc_number": null,
      "duration": null,
      "duration_ms": null,
      "episode": null,
      "feed_url": null,
      "formatted_price": "$9.99",
      "genre": null,
      "genres": [
        "Science Fiction",
        "Books",
        "Sci-Fi & Fantasy"
      ],
      "id": 597944491,
      "is_explicit": null,
      "is_streamable": null,
      "kind": "ebook",
      "name": "Dune",
      "preview_url": null,
      "price": 9.99,
      "release_date": "1975-09-01",
      "released_at": "1975-09-01T07:00:00Z",
      "track_count": null,
      "track_id": 597944491,
      "track_name": "Dune",
      "track_number": null,
      "track_url": "https://books.apple.com/us/book/dune/id597944491?uo=4",
      "url": "https://books.apple.com/us/book/dune/id597944491?uo=4",
      "wrapper_type": null
    }
  ],
  "term": "Dune Frank Herbert"
}
```

### Search music

Find songs, albums and artists in Apple Music's catalogue, each with its artwork, genre, release date, length and a 30-second preview. Ask for albums rather than songs, or match the text against the artist or the album alone, so a common word finds the record rather than everything mentioning it. No API key required.

**Inputs**

- Search text (`term`, text, required): The artist, album or song to look for. An artist and a title together narrow it far more than either alone.
- Kind of result (`entity`, text): Optional. What to get back: songs, whole albums, or the artists themselves. Leave blank for the store's own mix. One of: `musicArtist` (Artists), `musicTrack` (Tracks (songs and music videos)), `album` (Albums), `musicVideo` (Music videos), `mix` (Mixes), `song` (Songs).
- Match against (`attribute`, text): Optional. Which field the search text has to match, so 'Yesterday' can mean the song rather than every album mentioning it. Leave blank to match anywhere. One of: `albumTerm` (Album), `artistTerm` (Artist), `composerTerm` (Composer), `genreIndex` (Genre), `mixTerm` (Mix), `ratingIndex` (Rating category), `songTerm` (Song).
- Storefront (`country`, text): Optional. Which country's store to search. United States by default. This is not cosmetic: catalogues, prices and release dates differ per storefront, and an item on sale in one country may not exist in another. One of: `AF` (Afghanistan), `AL` (Albania), `DZ` (Algeria), `AD` (Andorra), `AO` (Angola), `AI` (Anguilla), `AG` (Antigua and Barbuda), `AR` (Argentina), `AM` (Armenia), `AU` (Australia), and 173 more. Default: `US`.
- Include explicit content (`explicit`, true/false): Optional. Whether to include items carrying an explicit-content advisory. On by default, which is what the store itself does. Turn it off to keep a workflow's output safe for work. Default: `true`.
- Number of results (`limit`, number): Optional. How many items to return. Between 1 and 200, which is Apple's own ceiling; 25 by default. From 1 to 200. Default: `25`.
- Skip (`offset`, number): Optional. How many matches to skip before this page. Use the next offset from the previous result to page through. 0 by default. The store returns at most 200 matches for a search, so this plus the number of results cannot go past 200. From 0 to 199. Default: `0`.

**Outputs**

- `attribute` (text): The field the term was matched against. Null when none was set.
- `count` (number): How many items are in this result.
- `country` (text): The storefront that was searched, e.g. US.
- `entity` (text): The kind of result that was asked for. Null when none was set.
- `has_more` (true/false): True when the store had more matches than this page holds.
- `max_results_reached` (true/false): True when paging ran into Apple's ceiling of 200 matches per search. There may be more items in the store, but this API will not return them: narrow the search to reach them.
- `media` (text): The catalogue that was searched.
- `next_offset` (number): The Skip value that fetches the next page. Null when this is the last one.
- `results` (list): The matching items, in the order the store ranked them.
- `term` (text): The text that was searched for.

**Example output**

```json
{
  "attribute": null,
  "count": 1,
  "country": "US",
  "entity": "song",
  "has_more": true,
  "max_results_reached": false,
  "media": "music",
  "next_offset": 25,
  "results": [
    {
      "app": null,
      "artist_id": 136975,
      "artist_name": "The Beatles",
      "artist_url": "https://music.apple.com/us/artist/the-beatles/136975?uo=4",
      "artwork_url": "https://is1-ssl.mzstatic.com/image/thumb/Music122/v4/1a/19/db/1a19db26-17ad-b986-11a9-f72ac7a6194b/18UMGIM31214.rgb.jpg/100x100bb.jpg",
      "artwork_url_100": "https://is1-ssl.mzstatic.com/image/thumb/Music122/v4/1a/19/db/1a19db26-17ad-b986-11a9-f72ac7a6194b/18UMGIM31214.rgb.jpg/100x100bb.jpg",
      "collection_id": 1441164524,
      "collection_name": "Help!",
      "collection_price": 12.99,
      "collection_url": "https://music.apple.com/us/album/yesterday/1441164524?i=1441164805&uo=4",
      "content_advisory_rating": null,
      "country": "USA",
      "currency": "USD",
      "description": null,
      "disc_count": 1,
      "disc_number": 1,
      "duration": "2:06",
      "duration_ms": 125667,
      "episode": null,
      "feed_url": null,
      "formatted_price": null,
      "genre": "Rock",
      "genres": [
        "Rock"
      ],
      "id": 1441164805,
      "is_explicit": false,
      "is_streamable": true,
      "kind": "song",
      "name": "Yesterday",
      "preview_url": "https://audio-ssl.itunes.apple.com/itunes-assets/AudioPreview221/v4/d1/69/2d/d1692d74-fe32-c676-7a1d-00deacae1644/mzaf_11316115358642175957.plus.aac.p.m4a",
      "price": 1.29,
      "release_date": "1965-08-06",
      "released_at": "1965-08-06T12:00:00Z",
      "track_count": 14,
      "track_id": 1441164805,
      "track_name": "Yesterday",
      "track_number": 13,
      "track_url": "https://music.apple.com/us/album/yesterday/1441164524?i=1441164805&uo=4",
      "url": "https://music.apple.com/us/album/yesterday/1441164524?i=1441164805&uo=4",
      "wrapper_type": "track"
    }
  ],
  "term": "The Beatles Yesterday"
}
```

### Search music videos

Find music videos by artist or song, each with its length, release date, artwork and a 30-second preview. No API key required.

**Inputs**

- Search text (`term`, text, required): The artist or song whose videos you want.
- Kind of result (`entity`, text): Optional. The videos themselves, or the artists behind them. Leave blank for the store's own mix. One of: `musicArtist` (Artists), `musicVideo` (Music videos).
- Match against (`attribute`, text): Optional. Which field the search text has to match: the artist, the song, the album. Leave blank to match anywhere. One of: `albumTerm` (Album), `artistTerm` (Artist), `genreIndex` (Genre), `ratingIndex` (Rating category), `songTerm` (Song).
- Storefront (`country`, text): Optional. Which country's store to search. United States by default. This is not cosmetic: catalogues, prices and release dates differ per storefront, and an item on sale in one country may not exist in another. One of: `AF` (Afghanistan), `AL` (Albania), `DZ` (Algeria), `AD` (Andorra), `AO` (Angola), `AI` (Anguilla), `AG` (Antigua and Barbuda), `AR` (Argentina), `AM` (Armenia), `AU` (Australia), and 173 more. Default: `US`.
- Include explicit content (`explicit`, true/false): Optional. Whether to include items carrying an explicit-content advisory. On by default, which is what the store itself does. Turn it off to keep a workflow's output safe for work. Default: `true`.
- Number of results (`limit`, number): Optional. How many items to return. Between 1 and 200, which is Apple's own ceiling; 25 by default. From 1 to 200. Default: `25`.
- Skip (`offset`, number): Optional. How many matches to skip before this page. Use the next offset from the previous result to page through. 0 by default. The store returns at most 200 matches for a search, so this plus the number of results cannot go past 200. From 0 to 199. Default: `0`.

**Outputs**

- `attribute` (text): The field the term was matched against. Null when none was set.
- `count` (number): How many items are in this result.
- `country` (text): The storefront that was searched, e.g. US.
- `entity` (text): The kind of result that was asked for. Null when none was set.
- `has_more` (true/false): True when the store had more matches than this page holds.
- `max_results_reached` (true/false): True when paging ran into Apple's ceiling of 200 matches per search. There may be more items in the store, but this API will not return them: narrow the search to reach them.
- `media` (text): The catalogue that was searched.
- `next_offset` (number): The Skip value that fetches the next page. Null when this is the last one.
- `results` (list): The matching items, in the order the store ranked them.
- `term` (text): The text that was searched for.

**Example output**

```json
{
  "attribute": null,
  "count": 1,
  "country": "US",
  "entity": "musicVideo",
  "has_more": false,
  "max_results_reached": false,
  "media": "musicVideo",
  "next_offset": null,
  "results": [
    {
      "app": null,
      "artist_id": 166566,
      "artist_name": "a-ha",
      "artist_url": "https://music.apple.com/us/artist/a-ha/166566?uo=4",
      "artwork_url": "https://is1-ssl.mzstatic.com/image/thumb/Video/27/ca/c3/dj.ahrohygf.jpg/100x100bb.jpg",
      "artwork_url_100": "https://is1-ssl.mzstatic.com/image/thumb/Video/27/ca/c3/dj.ahrohygf.jpg/100x100bb.jpg",
      "collection_id": 392429592,
      "collection_name": "25 (Deluxe Version)",
      "collection_price": 24.99,
      "collection_url": "https://music.apple.com/us/music-video/take-on-me/392429637?uo=4",
      "content_advisory_rating": null,
      "country": "USA",
      "currency": "USD",
      "description": null,
      "disc_count": 1,
      "disc_number": 1,
      "duration": "3:47",
      "duration_ms": 227133,
      "episode": null,
      "feed_url": null,
      "formatted_price": null,
      "genre": "Pop",
      "genres": [
        "Pop"
      ],
      "id": 392429637,
      "is_explicit": false,
      "is_streamable": null,
      "kind": "music-video",
      "name": "Take On Me",
      "preview_url": "https://video-ssl.itunes.apple.com/itunes-assets/Video113/v4/16/c5/ec/16c5ec0a-6b40-8037-19b8-f9f14973bd07/mzvf_14873405459366711464.640x480.h264lc.U.p.m4v",
      "price": 1.99,
      "release_date": "2010-10-04",
      "released_at": "2010-10-04T07:00:00Z",
      "track_count": 49,
      "track_id": 392429637,
      "track_name": "Take On Me",
      "track_number": 45,
      "track_url": "https://music.apple.com/us/music-video/take-on-me/392429637?uo=4",
      "url": "https://music.apple.com/us/music-video/take-on-me/392429637?uo=4",
      "wrapper_type": "track"
    }
  ],
  "term": "a-ha Take On Me"
}
```

### Search podcasts

Find podcasts by show, network or subject, each with its artwork, genre and RSS feed address. Switch the kind of result to episodes to search inside every show at once, which is how to find the one interview you remember without knowing which podcast ran it. No API key required.

**Inputs**

- Search text (`term`, text, required): The show, network or subject to look for. Searching a topic rather than a name is what finds shows nobody has heard of yet.
- Kind of result (`entity`, text): Optional. Whole shows, or individual episodes across every show. Searching episodes is how to find the one interview you remember without knowing which podcast ran it. Leave blank for shows. One of: `podcastAuthor` (Podcast creators), `podcast` (Podcast shows), `podcastEpisode` (Podcast episodes).
- Match against (`attribute`, text): Optional. Which field the search text has to match: the show's title, its description, its keywords. Leave blank to match anywhere. One of: `artistTerm` (Artist), `authorTerm` (Author), `descriptionTerm` (Description), `genreIndex` (Genre), `keywordsTerm` (Keywords), `languageTerm` (Language), `ratingIndex` (Rating category), `titleTerm` (Title).
- Storefront (`country`, text): Optional. Which country's store to search. United States by default. This is not cosmetic: catalogues, prices and release dates differ per storefront, and an item on sale in one country may not exist in another. One of: `AF` (Afghanistan), `AL` (Albania), `DZ` (Algeria), `AD` (Andorra), `AO` (Angola), `AI` (Anguilla), `AG` (Antigua and Barbuda), `AR` (Argentina), `AM` (Armenia), `AU` (Australia), and 173 more. Default: `US`.
- Include explicit content (`explicit`, true/false): Optional. Whether to include items carrying an explicit-content advisory. On by default, which is what the store itself does. Turn it off to keep a workflow's output safe for work. Default: `true`.
- Number of results (`limit`, number): Optional. How many items to return. Between 1 and 200, which is Apple's own ceiling; 25 by default. From 1 to 200. Default: `25`.
- Skip (`offset`, number): Optional. How many matches to skip before this page. Use the next offset from the previous result to page through. 0 by default. The store returns at most 200 matches for a search, so this plus the number of results cannot go past 200. From 0 to 199. Default: `0`.

**Outputs**

- `attribute` (text): The field the term was matched against. Null when none was set.
- `count` (number): How many items are in this result.
- `country` (text): The storefront that was searched, e.g. US.
- `entity` (text): The kind of result that was asked for. Null when none was set.
- `has_more` (true/false): True when the store had more matches than this page holds.
- `max_results_reached` (true/false): True when paging ran into Apple's ceiling of 200 matches per search. There may be more items in the store, but this API will not return them: narrow the search to reach them.
- `media` (text): The catalogue that was searched.
- `next_offset` (number): The Skip value that fetches the next page. Null when this is the last one.
- `results` (list): The matching items, in the order the store ranked them.
- `term` (text): The text that was searched for.

**Example output**

```json
{
  "attribute": null,
  "count": 1,
  "country": "US",
  "entity": "podcast",
  "has_more": true,
  "max_results_reached": false,
  "media": "podcast",
  "next_offset": 25,
  "results": [
    {
      "app": null,
      "artist_id": 121664449,
      "artist_name": "The New York Times",
      "artist_url": "https://podcasts.apple.com/us/artist/the-new-york-times/121664449?uo=4",
      "artwork_url": "https://is1-ssl.mzstatic.com/image/thumb/Podcasts221/v4/ab/64/66/ab6466a9-9a7d-e20e-7a3d-bc5be37d29ce/mza_15084852813176276273.jpg/600x600bb.jpg",
      "artwork_url_100": "https://is1-ssl.mzstatic.com/image/thumb/Podcasts221/v4/ab/64/66/ab6466a9-9a7d-e20e-7a3d-bc5be37d29ce/mza_15084852813176276273.jpg/100x100bb.jpg",
      "collection_id": 1200361736,
      "collection_name": "The Daily",
      "collection_price": 0.0,
      "collection_url": "https://podcasts.apple.com/us/podcast/the-daily/id1200361736?uo=4",
      "content_advisory_rating": "Clean",
      "country": "USA",
      "currency": "USD",
      "description": null,
      "disc_count": null,
      "disc_number": null,
      "duration": "0:02",
      "duration_ms": 2212,
      "episode": null,
      "feed_url": "https://feeds.simplecast.com/Sl5CSM3S",
      "formatted_price": null,
      "genre": "Daily News",
      "genres": [
        "Daily News",
        "Podcasts",
        "News"
      ],
      "id": 1200361736,
      "is_explicit": false,
      "is_streamable": null,
      "kind": "podcast",
      "name": "The Daily",
      "preview_url": null,
      "price": null,
      "release_date": "2026-08-23",
      "released_at": "2026-08-23T10:00:00Z",
      "track_count": 2699,
      "track_id": 1200361736,
      "track_name": "The Daily",
      "track_number": null,
      "track_url": "https://podcasts.apple.com/us/podcast/the-daily/id1200361736?uo=4",
      "url": "https://podcasts.apple.com/us/podcast/the-daily/id1200361736?uo=4",
      "wrapper_type": "track"
    }
  ],
  "term": "The Daily"
}
```

### Search the iTunes Store

Search every catalogue Apple sells at once, or narrow to one of them. This is the general form of the search: pick a catalogue and the two fields under it offer exactly the choices the store accepts for it, so a music search can ask for albums and a podcast search for episodes. Use one of the catalogue-specific searches when you already know what you are looking for. No API key required.

**Inputs**

- Search text (`term`, text, required): What to search for. The store matches loosely, so an artist and a title together narrow it far more than either alone.
- What to search (`media`, text): Optional. Which of the store's catalogues to search. Everything by default, which mixes music, podcasts, apps, books and video in one list. Picking one narrows the search and decides which choices the two fields below offer. Apple's Movies and Short films filters currently answer nothing from any storefront, though films still turn up in an Everything search. One of: `all` (Everything), `movie` (Movies), `podcast` (Podcasts), `music`, `musicVideo` (Music videos), `audiobook` (Audiobooks), `shortFilm` (Short films), `tvShow` (TV shows), `software` (Apps), `ebook` (Books). Default: `all`.
- Kind of result (`entity`, text): Optional. Which kind of thing to get back out of the chosen catalogue: albums rather than songs, podcast episodes rather than shows. The choices follow the field above, because the store accepts a different set for each catalogue. Leave blank for the store's own mix.
- Match against (`attribute`, text): Optional. Which field the search text has to match, so 'Yesterday' can mean the song rather than every album mentioning it. The choices follow the catalogue above. Leave blank to match anywhere.
- Storefront (`country`, text): Optional. Which country's store to search. United States by default. This is not cosmetic: catalogues, prices and release dates differ per storefront, and an item on sale in one country may not exist in another. One of: `AF` (Afghanistan), `AL` (Albania), `DZ` (Algeria), `AD` (Andorra), `AO` (Angola), `AI` (Anguilla), `AG` (Antigua and Barbuda), `AR` (Argentina), `AM` (Armenia), `AU` (Australia), and 173 more. Default: `US`.
- Language (`language`, text): Optional. The language the store writes its titles and descriptions in. English by default. Apple offers these two and no others. One of: `en_us` (English), `ja_jp` (Japanese). Default: `en_us`.
- Include explicit content (`explicit`, true/false): Optional. Whether to include items carrying an explicit-content advisory. On by default, which is what the store itself does. Turn it off to keep a workflow's output safe for work. Default: `true`.
- Number of results (`limit`, number): Optional. How many items to return. Between 1 and 200, which is Apple's own ceiling; 25 by default. From 1 to 200. Default: `25`.
- Skip (`offset`, number): Optional. How many matches to skip before this page. Use the next offset from the previous result to page through. 0 by default. The store returns at most 200 matches for a search, so this plus the number of results cannot go past 200. From 0 to 199. Default: `0`.

**Outputs**

- `attribute` (text): The field the term was matched against. Null when none was set.
- `count` (number): How many items are in this result.
- `country` (text): The storefront that was searched, e.g. US.
- `entity` (text): The kind of result that was asked for. Null when none was set.
- `has_more` (true/false): True when the store had more matches than this page holds.
- `max_results_reached` (true/false): True when paging ran into Apple's ceiling of 200 matches per search. There may be more items in the store, but this API will not return them: narrow the search to reach them.
- `media` (text): The catalogue that was searched.
- `next_offset` (number): The Skip value that fetches the next page. Null when this is the last one.
- `results` (list): The matching items, in the order the store ranked them.
- `term` (text): The text that was searched for.

**Example output**

```json
{
  "attribute": null,
  "count": 1,
  "country": "US",
  "entity": null,
  "has_more": true,
  "max_results_reached": false,
  "media": "all",
  "next_offset": 25,
  "results": [
    {
      "app": null,
      "artist_id": 136975,
      "artist_name": "The Beatles",
      "artist_url": "https://music.apple.com/us/artist/the-beatles/136975?uo=4",
      "artwork_url": "https://is1-ssl.mzstatic.com/image/thumb/Music122/v4/1a/19/db/1a19db26-17ad-b986-11a9-f72ac7a6194b/18UMGIM31214.rgb.jpg/100x100bb.jpg",
      "artwork_url_100": "https://is1-ssl.mzstatic.com/image/thumb/Music122/v4/1a/19/db/1a19db26-17ad-b986-11a9-f72ac7a6194b/18UMGIM31214.rgb.jpg/100x100bb.jpg",
      "collection_id": 1441164524,
      "collection_name": "Help!",
      "collection_price": 12.99,
      "collection_url": "https://music.apple.com/us/album/yesterday/1441164524?i=1441164805&uo=4",
      "content_advisory_rating": null,
      "country": "USA",
      "currency": "USD",
      "description": null,
      "disc_count": 1,
      "disc_number": 1,
      "duration": "2:06",
      "duration_ms": 125667,
      "episode": null,
      "feed_url": null,
      "formatted_price": null,
      "genre": "Rock",
      "genres": [
        "Rock"
      ],
      "id": 1441164805,
      "is_explicit": false,
      "is_streamable": true,
      "kind": "song",
      "name": "Yesterday",
      "preview_url": "https://audio-ssl.itunes.apple.com/itunes-assets/AudioPreview221/v4/d1/69/2d/d1692d74-fe32-c676-7a1d-00deacae1644/mzaf_11316115358642175957.plus.aac.p.m4a",
      "price": 1.29,
      "release_date": "1965-08-06",
      "released_at": "1965-08-06T12:00:00Z",
      "track_count": 14,
      "track_id": 1441164805,
      "track_name": "Yesterday",
      "track_number": 13,
      "track_url": "https://music.apple.com/us/album/yesterday/1441164524?i=1441164805&uo=4",
      "url": "https://music.apple.com/us/album/yesterday/1441164524?i=1441164805&uo=4",
      "wrapper_type": "track"
    }
  ],
  "term": "The Beatles Yesterday"
}
```

### Search TV shows

Find TV episodes and seasons, each with its show, season and episode number, synopsis, length, rating and price. Ask for seasons to get the collection ids that List a season's episodes takes. No API key required.

**Inputs**

- Search text (`term`, text, required): The show, season or episode title to look for.
- Kind of result (`entity`, text): Optional. Individual episodes, or whole seasons. Leave blank for the store's own mix. One of: `tvEpisode` (TV episodes), `tvSeason` (TV seasons).
- Match against (`attribute`, text): Optional. Which field the search text has to match: the show, the season, the episode, the description. Leave blank to match anywhere. One of: `descriptionTerm` (Description), `genreIndex` (Genre), `ratingIndex` (Rating category), `showTerm` (TV show), `tvEpisodeTerm` (TV episode), `tvSeasonTerm` (TV season).
- Storefront (`country`, text): Optional. Which country's store to search. United States by default. This is not cosmetic: catalogues, prices and release dates differ per storefront, and an item on sale in one country may not exist in another. One of: `AF` (Afghanistan), `AL` (Albania), `DZ` (Algeria), `AD` (Andorra), `AO` (Angola), `AI` (Anguilla), `AG` (Antigua and Barbuda), `AR` (Argentina), `AM` (Armenia), `AU` (Australia), and 173 more. Default: `US`.
- Include explicit content (`explicit`, true/false): Optional. Whether to include items carrying an explicit-content advisory. On by default, which is what the store itself does. Turn it off to keep a workflow's output safe for work. Default: `true`.
- Number of results (`limit`, number): Optional. How many items to return. Between 1 and 200, which is Apple's own ceiling; 25 by default. From 1 to 200. Default: `25`.
- Skip (`offset`, number): Optional. How many matches to skip before this page. Use the next offset from the previous result to page through. 0 by default. The store returns at most 200 matches for a search, so this plus the number of results cannot go past 200. From 0 to 199. Default: `0`.

**Outputs**

- `attribute` (text): The field the term was matched against. Null when none was set.
- `count` (number): How many items are in this result.
- `country` (text): The storefront that was searched, e.g. US.
- `entity` (text): The kind of result that was asked for. Null when none was set.
- `has_more` (true/false): True when the store had more matches than this page holds.
- `max_results_reached` (true/false): True when paging ran into Apple's ceiling of 200 matches per search. There may be more items in the store, but this API will not return them: narrow the search to reach them.
- `media` (text): The catalogue that was searched.
- `next_offset` (number): The Skip value that fetches the next page. Null when this is the last one.
- `results` (list): The matching items, in the order the store ranked them.
- `term` (text): The text that was searched for.

**Example output**

```json
{
  "attribute": null,
  "count": 1,
  "country": "US",
  "entity": "tvEpisode",
  "has_more": true,
  "max_results_reached": false,
  "media": "tvShow",
  "next_offset": 25,
  "results": [
    {
      "app": null,
      "artist_id": 1277192592,
      "artist_name": "Seinfeld",
      "artist_url": "https://itunes.apple.com/us/tv-show/seinfeld/id1277192592?uo=4",
      "artwork_url": "https://is1-ssl.mzstatic.com/image/thumb/Video122/v4/0c/d2/0a/0cd20a8a-8ddd-a964-4ae3-9f569b8b5d69/mzl.qspqvwls.lsr/100x100bb.jpg",
      "artwork_url_100": "https://is1-ssl.mzstatic.com/image/thumb/Video122/v4/0c/d2/0a/0cd20a8a-8ddd-a964-4ae3-9f569b8b5d69/mzl.qspqvwls.lsr/100x100bb.jpg",
      "collection_id": 1295372198,
      "collection_name": "Seinfeld: The Complete Series",
      "collection_price": 99.99,
      "collection_url": "https://itunes.apple.com/us/tv-season/season-1-episode-1-seinfeld/id1295372198?i=1299996950&uo=4",
      "content_advisory_rating": "TV-PG",
      "country": "USA",
      "currency": "USD",
      "description": "Jerry is ecstatic that a woman he met on the road is coming to stay with him in New York, but his flabbergasted when he discovers she's engaged to be married.",
      "disc_count": 1,
      "disc_number": 1,
      "duration": "23:06",
      "duration_ms": 1386113,
      "episode": null,
      "feed_url": null,
      "formatted_price": null,
      "genre": "Comedy",
      "genres": [
        "Comedy"
      ],
      "id": 1299996950,
      "is_explicit": false,
      "is_streamable": null,
      "kind": "tv-episode",
      "name": "Season 1, Episode 1: Seinfeld",
      "preview_url": "https://video-ssl.itunes.apple.com/itunes-assets/Video116/v4/4b/2b/3b/4b2b3bb1-9324-d898-8f08-f77c601f2bd7/mzvf_9599659258091529897.640x478.h264lc.U.p.m4v",
      "price": 2.99,
      "release_date": "1989-07-05",
      "released_at": "1989-07-05T07:00:00Z",
      "track_count": 171,
      "track_id": 1299996950,
      "track_name": "Season 1, Episode 1: Seinfeld",
      "track_number": 1,
      "track_url": "https://itunes.apple.com/us/tv-season/season-1-episode-1-seinfeld/id1295372198?i=1299996950&uo=4",
      "url": "https://itunes.apple.com/us/tv-season/season-1-episode-1-seinfeld/id1295372198?i=1299996950&uo=4",
      "wrapper_type": "track"
    }
  ],
  "term": "Seinfeld"
}
```
