Music — entry 012 of 30

iTunes Search

Verified Jul 2026

The iTunes Search API is Apple's free, keyless lookup service for the iTunes Store and Apple Books catalog — music, movies, podcasts, audiobooks, and TV shows — searchable by term or looked up directly by ID. It's throttled to roughly 20 calls per minute per Apple's own guidance, with an Enterprise Partner Feed suggested for heavier volume, and every response comes back as JSON. The docs have moved off the long-dead affiliate.itunes.apple.com host (which no longer resolves) onto Apple's Performance Partners site, but the API itself, at itunes.apple.com/search, is unchanged and live.

iTunes Search is a single keyless GET endpoint, /search, that queries Apple's Store/Books catalog by free-text term plus optional filters like entity and limit. A live GET to /search?term=daft+punk&entity=song&limit=1 returned a 200 with real catalog data, but content-type came back as text/javascript; charset=utf-8 — not application/json — and access-control-allow-origin: * was sent on every probe this run regardless of whether a request Origin header was present.

musicsearchkeylesscatalog
AuthenticationNone requiredCall it straight away — no key, no signup.
HTTPSSupportedTraffic is encrypted in transit.
CORSEnabledCallable directly from browser JavaScript.
PricingFreeNo paid tier — free for the documented use case.
FormatsJSONResponses can be requested as JSON.

GreatAPIs Score

Score88out of 100
Authentication25/25No authentication required
Pricing20/20Free to use
Docs14/20Documentation URL provided
Formats9/15Single response format
Freshness20/20Verified within 6 months

Embed this badge

Scored 88 on greatapis.com
<a href="https://greatapis.com/api/itunes-search/"><img src="https://greatapis.com/badge/itunes-search.svg" alt="Scored 88 on greatapis.com"></a>

Auth quickstart

  1. No API key, App ID, or signup required today — this run's own probes returned real catalog data with no auth header or credential sent at all.
  2. Apple's own docs at performance-partners.apple.com/search-api state: "The Search API is limited to approximately 20 calls per minute (subject to change)" — quoted here since it's a published guidance number, not something enforced via a live rate-limit response header on this run's probes.
Stored keyNo key stored

Your key is stored only in this browser (localStorage) and sent directly to the API — never to greatapis.

Search for a track by an artist

GEThttps://itunes.apple.com/search?term=daft+punk&entity=song&limit=1

200 text/javascript; charset=utf-8

{
 "resultCount":1,
 "results": [
{"wrapperType":"track", "kind":"song", "artistId":5468295, "collectionId":697194953, "trackId":697195462, "artistName":"Daft Punk", "collectionName":"Discovery", "trackName":"One More Time", "collectionCensoredName":"Discovery", "trackCensoredName":"One More Time", "artistViewUrl":"https://music.apple.com/us/artist/daft-punk/5468295?uo=4", "collectionViewUrl":"https://music.apple.com/us/album/one-more-time/697194953?i=697195462&uo=4", "trackViewUrl":"https://music.apple.com/us/album/one-more-time/697194953?i=697195462&uo=4", 
"previewUrl":"https://audio-ssl.itunes.apple.com/itunes-assets/AudioPreview112/v4/98/96/f6/9896f638-8b47-3f76-c47e-19e43b53677c/mzaf_15900001332254520801.plus.aac.p.m4a", "artworkUrl30":"https://is1-ssl.mzstatic.com/image/thumb/Music221/v4/fd/4a/77/fd4a77db-0ebc-d043-41a2-f32fa1bb0fb4/dj.qrikkdwj.jpg/30x30bb.jpg", "artworkUrl60":"https://is1-ssl.mzstatic.com/image/thumb/Music221/v4/fd/4a/77/fd4a77db-0ebc-d043-41a2-f32fa1bb0fb4/dj.qrikkdwj.jpg/60x60bb.jpg", "artworkUrl100":"https://is1-ssl.mzstatic.com/image/thumb/Music221/v4/fd/4a/77/fd4a77db-0ebc-d043-41a2-f32fa1bb0fb4/dj.qrikkdwj.jpg/100x100bb.jpg", "collectionPrice":9.99, "trackPrice":1.29, "releaseDate":"2000-11-30T08:00:00Z", "collectionExplicitness":"notExplicit", "trackExplicitness":"notExplicit", "discCount":1, "discNumber":1, "trackCount":14, "trackNumber":1, "trackTimeMillis":320357, "country":"USA", "currency":"USD", "primaryGenreName":"Dance", "isStreamable":true}]
}

Trimmed of the raw response's leading/trailing blank-line padding for readability (see gotchas) — the JSON payload itself is byte-for-byte from this run's live probe. Preview/artwork URLs and release date are stable per track; a different term or entity returns different real catalog data.

Developer reference

Base URLhttps://itunes.apple.com
Rate limit

~20 calls/minute per Apple's own guidance ("subject to change"), quoted from performance-partners.apple.com/search-api — not enforced via any response header

Gotchas & limits

  • The raw response body begins and ends with three blank lines (\n\n\n) around the JSON payload — confirmed on every probe this run. A strict JSON.parse still works since it tolerates leading/trailing whitespace, but a client that inspects the first byte before parsing will not see { immediately.
  • A GET to /search with no term param at all does not error: a live probe returned HTTP 200 with body { "resultCount":0, "results": [] } rather than a 4xx — a client checking only the status code cannot distinguish a malformed/empty query from zero real matches.
  • An actually invalid parameter value does error: a live GET to /search?term=abc&entity=bogus returned HTTP 400 with {"errorMessage":"Invalid value(s) for key(s): [resultEntity]","queryParameters":{...}}, naming the offending key.
  • The docs for this API moved off the long-dead affiliate.itunes.apple.com host (confirmed NXDOMAIN) onto Apple's Performance Partners site — but the search endpoint itself, at itunes.apple.com/search, is unchanged and live, confirmed by every probe in this file.

Changelog

  • Jul 2026gained rate limits
  • Sep 2026gained a docs link

See every tracked change ↗ ·Subscribe with RSS ↗