Tony Wang5 min readApple Podcasts Scraper API: Charts, Shows & Episodes
Use an Apple Podcasts scraper API for chart rankings, show metadata, episodes, and search as JSON, and see where the iTunes Search API falls short.
Short answer: the free iTunes Search API is useful for Apple Podcasts search and lookup, but it does not provide one clean API for chart rankings, show metadata, and full episode workflows together. Crawlora's Apple Podcasts scraper API fills that public-data gap with structured JSON for search, charts, show details, show episodes, and episode search.
Apple Podcasts is the largest podcast directory, which makes it a primary data source for podcast research, chart tracking, and catalog enrichment. The problem is access: Apple does not publish a single developer API that returns charts, show metadata, and episodes together. This guide covers what Apple officially offers, where it falls short, and how an Apple Podcasts scraper API returns that data as structured JSON.
What Apple officially offers (and what's missing)
There are two official paths, and neither covers the full job:
- The iTunes Search API is free and needs no key. It handles show search and lookup and returns an RSS feed URL plus basic metadata. It does not give you a clean chart-rankings endpoint, and you still have to fetch and parse each show's RSS feed to list episodes.
- Apple Podcasts Connect provides analytics only for podcasts you own — it is not a way to read the public catalog.
Hands-on, the iTunes Search API looks like this — and shows where it stops:
import requests
# Free, no key — but a directory only (no chart rankings):
shows = requests.get("https://itunes.apple.com/search",
params={"term": "history", "entity": "podcast", "limit": 25}).json()["results"]
# lookup returns the most recent ~200 episodes; use each show's feedUrl (RSS) for the full archive:
episodes = requests.get("https://itunes.apple.com/lookup",
params={"id": shows[0]["collectionId"], "entity": "podcastEpisode", "limit": 200}).json()["results"]
The catches: it is rate-limited to roughly 20 calls/minute, episode lookups cap at 200 (older episodes need the RSS feed), and there is no chart-rankings endpoint at all — the data people most want. So the common workaround is to stitch together the iTunes Search API, per-show RSS feeds, and Apple's chart feeds, then normalize all of it yourself. That is the gap a scraper API closes.
| Requirement | iTunes Search API | Crawlora Apple Podcasts scraper API |
|---|---|---|
| Show search | Yes | Yes, normalized with Crawlora docs and Playground examples |
| Show lookup | Limited | Yes, through documented show detail endpoints |
| Episode lists | Recent episodes / RSS workaround | Show episode endpoints where supported |
| Chart rankings | No clean chart endpoint | Charts by country, category, collection, and limit |
| One API key for workflow | No key for iTunes Search, separate tooling for the rest | One Crawlora x-api-key across search, charts, shows, and episodes |
Chart rankings: the data the free API doesn't give you
The most-requested Apple Podcasts data is also the hardest to get from the official API: chart rankings. People search for apple podcast charts us, apple podcast charts uk, and apple podcast chart rankings because they want to know what is trending, where, and how it moves.
An Apple Podcast charts API endpoint returns ranked shows by country and category, so you can:
- Pull the current top shows for a country and category in one request
- Record chart positions on a schedule and build a rank-tracking time series
- Compare visibility across markets (US, UK, and other countries)
A request looks like this:
curl "https://api.crawlora.net/api/v1/apple-podcasts/charts?country=us&limit=25" \
-H "x-api-key: YOUR_API_KEY"
Pick the collection (toppodcasts or topaudiopodcasts); check the API docs for the current category, country, and limit parameters and the exact response schema.
What an Apple Podcasts scraper API returns
Beyond charts, the same API covers the rest of the catalog as normalized JSON:
- Search — find shows by keyword with titles, artwork, feed URLs, genres, and identifiers
- Show details — metadata for a specific show
- Show episodes — episode titles, descriptions, publish dates, and durations
- Episode search — find episodes across shows
The point of the structured shape is that everything downstream — a dashboard, a chart tracker, an enrichment job — reads the same fields instead of re-parsing HTML or RSS:
import requests
h = {"x-api-key": "YOUR_API_KEY"}
base = "https://api.crawlora.net/api/v1/apple-podcasts"
shows = requests.get(f"{base}/search", headers=h, params={"term": "history"}).json()["data"]
show = requests.get(f"{base}/show/173001861", headers=h).json()["data"]
episodes = requests.get(f"{base}/show/173001861/episodes", headers=h).json()["data"]
Shows and episodes are addressed by the Apple show id (returned in search and chart results).
A typical workflow
A podcast research pipeline usually runs in this order:
- Search for shows by keyword, or pull a chart for a country and category.
- Fetch show details for the shows you care about.
- List episodes for each show.
- Store normalized rows so a dashboard or alerting layer can read them directly, and re-pull charts on a schedule to track movement.
The Apple Podcasts data recipe walks through this search → show → episodes → charts flow end to end.
Limitations and honest scope
Be clear-eyed about what this is:
- Crawlora is not the official Apple Podcasts API and is not an Apple product. It extracts public Apple Podcasts page data.
- It does not return episode transcripts or private, per-show analytics (that is Apple Podcasts Connect territory for shows you own).
- Commercial use depends on your use case, applicable law, third-party rights, and platform terms.
Within those bounds — research, chart tracking, discovery, and catalog enrichment — it is a fast way to get structured public Apple Podcasts data without operating scrapers.
Start collecting
Try it first, free: run any public URL through the Free Web Scraper, or check whether a site blocks bots with the Anti-Bot Checker — no signup.
Test the Apple Podcasts search and charts endpoints in the Playground, inspect the response schema in the API docs, and review credit costs on the pricing page. For the full workflow, start from the Apple Podcasts API page. To compare podcast visibility across platforms, the Spotify Podcasts API covers the same shows on Spotify — and how to scrape Spotify walks the same catalog-and-charts pattern for the music side of the audio stack. If you also track how the listening apps themselves are rated, how to scrape App Store reviews covers the store-side ratings.
Sources
Related reading
- Best Apple Podcasts Scraper APIs in 2026 — how Crawlora compares to Taddy, Listen Notes, Apify actors, and PodcastIndex.
- Best Web Scraping APIs in 2026: How to Choose — where a platform-specific scraper API fits among the broader options.
- How SERP Monitoring APIs Work (and How to Build a Rank Tracker) — the same snapshot-and-compare pattern, applied to search rankings instead of podcast charts.
- Is Web Scraping Legal in 2026? — the public-data rules behind collecting chart and catalog data.
Frequently asked questions
Is there an official Apple Podcasts API?
Apple offers the free iTunes Search API (show search and lookup) and Podcasts Connect (analytics for shows you own), but no single official API returns chart rankings, show metadata, and episodes together — which is the gap a structured scraper API fills. The iTunes Search API is also rate-limited to roughly 20 calls/minute and caps episode lookups at 200.
How is an Apple Podcasts scraper API different from the iTunes Search API?
The iTunes Search API covers search and lookup, but not a clean chart-rankings workflow or one unified surface for charts, show details, and episodes. Crawlora's Apple Podcasts scraper API returns supported public search, chart, show, and episode data as documented JSON.
Can I get Apple Podcast chart rankings?
Yes. A structured charts endpoint returns ranked shows by country and category (collections toppodcasts and topaudiopodcasts), so you can pull the current top shows and record positions on a schedule. The free iTunes Search API does not expose clean chart rankings.
How do I get all of a show's episodes?
Search or pull a chart to get the Apple show id, then call /apple-podcasts/show/{id}/episodes. The free iTunes Search API caps lookups at the most recent ~200 episodes, so a deeper archive means parsing each show's RSS feedUrl yourself.
What Apple Podcasts data can I collect?
Chart rankings, show search and details, show episodes, and episode search — all as normalized JSON, for public catalog data.
Can I track chart positions over time?
Yes — re-pull the charts endpoint by country and category on a schedule and store each snapshot, which builds a rank-tracking time series the official API can't give you directly.
Can I get transcripts or private analytics?
No. Episode transcripts and per-show private analytics are Apple Podcasts Connect territory for shows you own; this returns public page data only.