iTunes Search API
Apple's public catalog search covering music, podcasts, films, and apps, with artwork URLs and 30-second preview streams. No key, no signup — but Apple blocks datacenter IP ranges, so it must be called from a residential or mobile client rather than a cloud function.
🟢 Online · 41 ms
85.53%
No key, approximately 20 calls/minute, no credit card
No key required
Free alternatives (live ranking)
- Deezer API — 🟢 Online · No key for public catalog data; OAuth only for user data
- MusicBrainz — 🟢 Online · No key, 1 request/second, requires an identifying User-Agent
- Lyrics.ovh — 🟢 Online · Unlimited, no key; unofficial hobby project with no SLA
Compare iTunes Search API with…
- iTunes Search API vs Deezer API — No key for public catalog data; OAuth only for user data
- iTunes Search API vs MusicBrainz — No key, 1 request/second, requires an identifying User-Agent
- iTunes Search API vs Lyrics.ovh — Unlimited, no key; unofficial hobby project with no SLA
Frequently Asked Questions
Does iTunes Search API require an API key?
No, iTunes Search API is freely accessible without registration or an API key.
What is iTunes Search API's free tier?
No key, approximately 20 calls/minute, no credit card
Is iTunes Search API currently online?
We check iTunes Search API every hour. The current status is shown at the top of this page. You can also see the 30-day uptime history in the chart above.
Implementation notes
When to use iTunes Search API
The iTunes Search API is Apple's public catalog search — music, podcasts, movies, TV, audiobooks, and iOS and Mac apps — with no key, no signup, and no terms click-through. It is the standard way to resolve a podcast name to its RSS feed URL, which is why virtually every podcast client and directory on the internet calls it. It is also a fast route to album artwork, App Store metadata, and per-country store availability. Use it for podcast tooling, music search boxes, app metadata dashboards, and link resolution between stores. Do not build a business on it as a primary data source: it is an ancient, effectively undocumented endpoint that Apple maintains for affiliate partners, with no versioning, no changelog, no status page, and no support channel. It has worked reliably for well over a decade, which is the only real assurance you get, and there is no contract behind that.
Common pitfalls
- The response Content-Type is text/javascript, not application/json — a leftover from the endpoint's JSONP era. Strict clients and typed deserializers that key off Content-Type refuse to parse it, so some Java, .NET, and Swift stacks hand you a raw string or throw. Read the body as bytes and parse it explicitly rather than relying on content negotiation.
- Artwork comes back at 100x100bb, which is unusable in a modern UI. The universally-used workaround is string replacement: swap 100x100bb for 600x600bb (or 1000x1000bb) inside the artworkUrl100 value and the CDN serves the larger asset. This is entirely undocumented, has worked for a decade, and could stop tomorrow — fall back to the original URL if the upsized one 404s.
- The country parameter is a catalog switch, not a language switch. country=US and country=DE return different result sets, different track IDs for some titles, and different availability. The default is US regardless of where the request originates, so European users get the US catalog unless you pass country explicitly on every call.
- The commonly-cited ceiling is around 20 requests per minute per IP, which is not documented anywhere authoritative and is enforced by silently returning zero results rather than a 429. That means an empty resultCount is ambiguous: it might be a genuine miss, or it might be throttling. Cache aggressively, back off when results suddenly go empty, and never treat resultCount 0 as definitive.
Quick start (bash)
# resolve a podcast name to its RSS feed URL - the classic use case
curl -s 'https://itunes.apple.com/search?term=darknet+diaries&entity=podcast&limit=1' | jq -r '.results[0].feedUrl'
# artwork upsize trick: the URL ends in /100x100bb.jpg - swap for 600x600bb.jpg
curl -s 'https://itunes.apple.com/search?term=radiohead&entity=album&country=GB&limit=1' | jq -r '.results[0].artworkUrl100' Embed this badge
Add a live status badge to your README, docs, or website.
Markdown
[](https://freeapi.watch/itunes-search) HTML
<a href="https://freeapi.watch/itunes-search"><img src="https://api.freeapi.watch/badge/itunes-search.svg" alt="iTunes Search API Status"/></a>