Apple Podcasts Scraper: Reviews, Charts, Episodes, Channels avatar

Apple Podcasts Scraper: Reviews, Charts, Episodes, Channels

Pricing

$3.00 / 1,000 results

Go to Apify Store
Apple Podcasts Scraper: Reviews, Charts, Episodes, Channels

Apple Podcasts Scraper: Reviews, Charts, Episodes, Channels

Scrape Apple Podcasts in one actor: keyword search, show details with ratings, listener reviews, top charts, episode archives, every podcast by a publisher, trending episodes, episode keyword search, and paid podcast networks. Ten modes. $3 per 1,000 results, no per-run fee.

Pricing

$3.00 / 1,000 results

Rating

0.0

(0)

Developer

Sourabh Kumar

Sourabh Kumar

Maintained by Community

Actor stats

0

Bookmarked

84

Total users

30

Monthly active users

19 hours ago

Last modified

Features

Limited permissions

Share

Apple Podcasts scraper: search, reviews, charts, episodes and more

Get Apple Podcasts data in 10 ways: find shows by keyword, pull full show details, scrape listener reviews, track charts, read episodes, and list every show a publisher or network owns. Paste a keyword, an Apple Podcasts link or a feed, press Start, and download a clean spreadsheet.

$3.00 per 1,000 results. No per-run fee. No proxy, browser or login needed.

Works in every Apple storefront: us, gb, de, jp, br, au, and the rest. Charts and trending lists come back in the local language.


Top use cases


Pick a mode

Set Mode (mode), paste your input, then fill the section with the mode's name. Other sections are ignored.

You wantmodePaste into
Shows about a topicsearchsearchTerm (a keyword)
Everything about one showpodcastpodcastUrl (an Apple Podcasts link or ID)
What listeners say about a showreviewspodcastUrl
Top shows in a genre or countrychartsgenre, country
A show's episodesepisodesrssFeedUrl (a feed URL or an Apple link)
Every show by one publisherartistartistId or podcastUrl
Episodes trending right nowtrending-episodescountry (+ genre)
Episodes about a topic, across all showsepisode-searchsearchTerm
Paid podcast networks and their showschannelsnothing, or channelId
A show's most popular episodestop-episodespodcastUrl

Every input field also takes a list (searchTerms, podcastUrls, rssFeedUrls, artistIds, channelIds, genres, countries), so ten shows are one run. Every mode can be scheduled: run it daily and you have a tracker.


Why this Apple Podcasts scraper?

  • 🎯 Ten modes, one actor: most people stitch this together from four or five separate scrapers.
  • πŸ“ Reviews past the 500 ceiling: most Apple review tools stop there; ask for up to 2,000.
  • πŸ”₯ Apple's Trending Episodes chart: episode-level rankings, not just show rankings.
  • πŸ”Ž Search Apple's episode catalog by keyword: every episode on a topic, across all shows.
  • πŸ’³ Paid-subscription data: which shows sit behind a paywall, and which networks sell them.
  • πŸ“§ Owner email and website straight from each show's feed, for outreach lists.
  • 🧾 You pay only for rows you get: a wrong ID returns zero rows, zero charges, and a message saying why.
  • ⚑ Fast and cheap: a 20-row run takes a few seconds.

What data can you extract?

Shows: name, publisher, description, artwork, genres, episode count, rating and review count, feed URL, website, owner name and email, language, copyright, publishing frequency, last episode date, active status, content rating, launch date, paid-subscription flag and format.

Episodes: title, description, full HTML show notes, publish date, duration, audio URL and file size, artwork, episode and season number, Apple episode ID and link, transcript URL, keywords, explicit flag.

Reviews: rating, title, body, author, reviewer profile link, review ID, exact timestamp.

Charts: rank, chart name, chart genre, rank change since your last run, and the full show record for every entry.

Channels: network name, seller, how many shows it carries, description, subscription offers, artwork and brand colors.

Every field name is listed under All output fields below.


1. Search: find shows by keyword

Paste a keyword, or several in searchTerms.

Get one row per show: name, publisher, genres, episode count, feed URL and, with feed enrichment on, owner email, website, language and how often it publishes. Apple returns about 100 shows per keyword.

OptionFieldDefaultWhat it does
Search TermsearchTermtechnologyThe keyword.
Search Terms (multiple)searchTermsemptySeveral keywords in one run. Overlaps are charged once.
Enrich with RSS metadataenrichWithRssoffReads each show's feed for owner email, website, language, frequency and active status.
Enrich with Apple AMP catalogenrichWithAmpoffAdds paid-subscription data, format, launch date and Apple's frequency label.

Input

{
"mode": "search",
"searchTerm": "true crime",
"maxResults": 3,
"enrichWithRss": true,
"enrichWithAmp": true
}

Output (one real row, selected fields)

{
"appleId": 1618050230,
"name": "True Crime with Kendall Rae",
"artist": "Mile Higher Media & Audioboom Studios",
"genres": "True Crime, Podcasts",
"trackCount": 309,
"feedUrl": "https://audioboom.com/channels/5074524.rss",
"ownerEmail": "kendallrae@night.co",
"ownerName": "Mile Higher Media & Audioboom Studios",
"websiteUrl": "https://youtube.com/c/kendallsplace",
"language": "en",
"episodeFrequency": "weekly",
"lastEpisodeDate": "2026-11-05T09:00:00.000Z",
"isActive": true,
"releaseFrequencyShort": "Semiweekly",
"subscribable": true,
"createdDate": "2022-04-06",
"country": "us",
"source": "amp"
}

2. Podcast: everything about one show

Paste an Apple Podcasts link or numeric ID, or several in podcastUrls.

Get one row per show with every show field: rating and review count, owner contact, publishing frequency, the newest episodes (recentEpisodes) and the reviews shown on the show page (recentReviews). Feed details are always included in this mode.

OptionFieldDefaultWhat it does
Podcast URLpodcastUrlemptyAn Apple Podcasts link or numeric ID. A show name is refused: use search first.
Podcast URLs (multiple)podcastUrlsemptySeveral shows in one run.
Enrich with Apple AMP catalogenrichWithAmpoffAdds paid-subscription data, format, launch date, season numbers and trailers.

Input

{
"mode": "podcast",
"podcastUrl": "https://podcasts.apple.com/us/podcast/the-daily/id1200361736",
"enrichWithAmp": true
}

Output (one real row, selected fields)

{
"appleId": 1200361736,
"name": "The Daily",
"artist": "The New York Times",
"primaryGenre": "Daily News",
"trackCount": 2775,
"rating": 4.3,
"reviewCount": 106177,
"feedUrl": "https://feeds.simplecast.com/Sl5CSM3S",
"ownerEmail": "thedaily@nytimes.com",
"ownerName": "The New York Times",
"websiteUrl": "https://www.nytimes.com/the-daily",
"language": "en",
"lastEpisodeDate": "2026-11-09T10:45:00.000Z",
"episodeFrequency": "weekly",
"isActive": true,
"kind": "episodic",
"subscribable": true,
"createdDate": "2017-01-30",
"publisherArtistId": "121664449",
"source": "itunes+amp"
}

An album, app or artist ID is not a podcast: it returns zero rows and is not charged.


3. Reviews: what listeners say

Paste an Apple Podcasts link or ID.

Get one row per review: rating, title, body, author, reviewer profile link, review ID and exact timestamp. Reviews are per country store.

OptionFieldDefaultWhat it does
Podcast URLpodcastUrlemptyThe show.
Review SortsortByMost RecentMost Recent goes up to 2,000 reviews. Most Helpful stops where Apple's helpful ranking ends.

Input

{
"mode": "reviews",
"podcastUrl": "https://podcasts.apple.com/us/podcast/the-daily/id1200361736",
"maxResults": 100
}

Output (one real row, selected fields)

{
"appleId": 1200361736,
"podcastName": "The Daily",
"reviewId": "14762488615",
"author": "Syeadfh114",
"rating": 3,
"title": "Let them speak!",
"content": "Love the Daily, but Mr. Barbara you really really need to allow the individual you are int...",
"date": "2026-11-07T09:41:28-07:00",
"dateIso": "2026-11-07T16:41:28.000Z",
"reviewerUrl": "https://itunes.apple.com/us/reviews/id32842099",
"source": "rss"
}

date is Apple's own timestamp with its offset; dateIso is the same moment in UTC.


4. Charts: top shows by genre and country

Paste nothing for the main chart, or a genre and country.

Get one row per chart position: rank, the full show record and, with rank tracking on, how each show moved since your last run. Shows that left the chart come back as exited rows.

OptionFieldDefaultWhat it does
Genregenreall genresarts, business, comedy, education, fiction, government, health-fitness, history, kids-family, leisure, music, news, religion-spirituality, science, society-culture, sports, technology, true-crime, tv-film.
Genres (multiple)genresemptyOne chart per genre.
Chart TypechartTypeTop ShowsTop Shows (up to 200), Top Series or Top Subscriber Shows (up to 100).
Track chart rank changestrackDeltasonRemembers positions between runs: priorRank, rankChange, status.

Input

{
"mode": "charts",
"country": "us",
"maxResults": 5
}

Output (one real row, selected fields)

{
"appleId": 1200361736,
"name": "The Daily",
"artist": "The New York Times",
"genres": "Daily News",
"rank": 1,
"priorRank": 1,
"rankChange": 0,
"status": "same",
"country": "us",
"podcastUrl": "https://podcasts.apple.com/us/podcast/the-daily/id1200361736?uo=2",
"source": "rss"
}

status is new, up, down, same or exited. The first run has nothing to compare against, so every row is new.


5. Episodes: a show's episodes from its feed

Paste a feed URL, or an Apple Podcasts link and the feed is found for you.

Get one row per episode: title, publish date, duration, audio URL, file size, show notes, episode and season number, transcript link where the show has one.

OptionFieldDefaultWhat it does
RSS Feed URLrssFeedUrlemptyA feed URL or an Apple Podcasts link.
RSS Feed URLs (multiple)rssFeedUrlsemptySeveral feeds in one run.
Episode OrdersortEpisodesAs the feed returns themOr newest first, or oldest first across the whole feed.
Enrich with Apple AMP catalogenrichWithAmpoffWith an Apple link: Apple's own episode IDs, audio asset and content rating.

Input

{
"mode": "episodes",
"rssFeedUrl": "https://podcasts.apple.com/us/podcast/the-daily/id1200361736",
"maxResults": 3
}

Output (one real row, selected fields)

{
"podcastName": "The Daily",
"title": "After a Crushing Defeat, Trump Doubles Down",
"pubDate": "Mon, 9 Nov 2026 10:45:00 +0000",
"pubDateIso": "2026-11-09T10:45:00.000Z",
"duration": "00:31:14",
"durationSeconds": 1874,
"audioUrl": "https://dts.podtrac.com/redirect.mp3/pdst.fm/e/pfx.vpixl.com/6qj4J/pscrb.fm/rss/p/tracking.swap.fm/track/4jdbJYYRKqK96EGqOzQb/nyt.simplecastaudio.com/03d8b493-87fc-4bd1-931f-8a8e9b945d8a/episodes/82833c9b-8790-46e3-95b6-a79e2189b8dd/audio/128/default.mp3?aid=rss_feed&awCollectionId=03d8b493-87fc-4bd1-931f-8a8e9b945d8a&awEpisodeId=82833c9b-8790-46e3-95b6-a79e2189b8dd&feed=Sl5CSM3S",
"audioFileSize": 29992916,
"audioMimeType": "audio/mpeg",
"audioExtension": "mp3",
"episodeType": "full",
"explicit": false,
"guid": "b11e30f2-4509-443b-968f-3c977a7e49af",
"source": "rss"
}

6. Artist: every show by one publisher

Paste a publisher (artist) ID, or any show's Apple link and its publisher is found for you.

Get one row per show the publisher owns, with the same show fields as search.

OptionFieldDefaultWhat it does
Apple Artist IDartistIdemptyFor example 121664449 (The New York Times).
Apple Artist IDs (multiple)artistIdsemptySeveral publishers in one run.
Podcast URLpodcastUrlemptyUsed when no artist ID is given.

Input

{
"mode": "artist",
"artistId": "121664449",
"maxResults": 3
}

Output (one real row, selected fields)

{
"appleId": 1200361736,
"name": "The Daily",
"artist": "The New York Times",
"publisherArtistId": "121664449",
"genres": "Daily News, Podcasts, News",
"trackCount": 2775,
"kind": "episodic",
"releaseFrequencyShort": "Daily",
"subscribable": true,
"createdDate": "2017-01-30",
"feedUrl": "https://feeds.simplecast.com/Sl5CSM3S",
"podcastUrl": "https://podcasts.apple.com/us/podcast/the-daily/id1200361736",
"source": "amp"
}

Paste a country, and a genre if you want one.

Get one row per trending episode with its rank, the show it belongs to, publish date, duration and audio.

OptionFieldDefaultWhat it does
CountrycountryusThe store.
Genregenreall genresSame genre names as charts.

Input

{
"mode": "trending-episodes",
"country": "us",
"maxResults": 3
}

Output (one real row, selected fields)

{
"podcastName": "Pod Save America",
"title": "What Happened on Tuesday? (Live from Crooked Con)",
"rank": 1,
"chartName": "Trending Episodes",
"country": "us",
"episodeNumber": 1237,
"episodeId": "1000800500594",
"episodeUrl": "https://podcasts.apple.com/us/podcast/what-happened-on-tuesday-live-from-crooked-con/id1192761536?i=1000800500594",
"pubDateIso": "2026-11-08T10:55:00.000Z",
"durationSeconds": 6023,
"explicit": true,
"contentRating": "explicit",
"podcastAppleId": 1192761536,
"source": "amp"
}

8. Episode search: episodes about a topic, across all shows

Paste a keyword.

Get one row per matching episode from Apple's episode catalog, with its show, episode link, duration and audio.

OptionFieldDefaultWhat it does
Search TermsearchTermtechnologyThe keyword.
Search Terms (multiple)searchTermsemptySeveral keywords in one run.

Input

{
"mode": "episode-search",
"searchTerm": "ai regulation",
"maxResults": 3
}

Output (one real row, selected fields)

{
"podcastName": "This Week in AI Regulations",
"title": "This Week in AI Regulations - October 11, 2026",
"episodeNumber": 37,
"episodeId": "1000795900123",
"episodeUrl": "https://podcasts.apple.com/us/podcast/this-week-in-ai-regulations-october-11-2026/id1874256499?i=1000795900123",
"pubDateIso": "2026-10-12T06:36:20.000Z",
"durationSeconds": 282,
"audioUrl": "https://media.transistor.fm/544392ab/196ba73b.mp3",
"contentRating": "clean",
"podcastAppleId": 1874256499,
"source": "amp"
}

9. Channels: paid podcast networks

Paste nothing for the Top Subscriber Channels chart, or a channel ID for every show inside one network.

Get one row per network (name, seller, number of shows, website, brand colors), or one row per show in the network.

OptionFieldDefaultWhat it does
Apple Channel IDchannelIdemptyFor example 6442465405 (SiriusXM Podcasts).
Apple Channel IDs (multiple)channelIdsemptySeveral networks in one run.

Input

{
"mode": "channels",
"maxResults": 3
}

Output (one real row, selected fields)

{
"channelId": "6442465405",
"name": "SiriusXM Podcasts",
"seller": "Sirius XM Radio Inc",
"showCount": 163,
"rank": 1,
"releaseFrequency": "Updated Daily",
"channelUrl": "https://podcasts.apple.com/us/channel/siriusxm-podcasts/id6442465405",
"websiteUrl": "https://www.siriusxm.com/",
"backgroundSwatch": "0000EB",
"country": "us",
"source": "amp"
}

With a channel ID, each row is a show in that network, with the same show fields as search.


Paste an Apple Podcasts link or ID.

Get one row per episode in Apple's own popularity order, up to Max Results.

OptionFieldDefaultWhat it does
Podcast URLpodcastUrlemptyThe show.
Complete resultscompleteResultsonOff returns only Apple's first page, usually 4 episodes.

Input

{
"mode": "top-episodes",
"podcastUrl": "https://podcasts.apple.com/us/podcast/the-daily/id1200361736",
"maxResults": 5
}

Output (one real row, selected fields)

{
"podcastName": "The Daily",
"title": "A Landslide Victory for Democrats",
"rank": 1,
"chartName": "Top Episodes",
"episodeId": "1000799791974",
"episodeUrl": "https://podcasts.apple.com/us/podcast/a-landslide-victory-for-democrats/id1200361736?i=1000799791974",
"pubDateIso": "2026-11-04T10:51:38.000Z",
"durationSeconds": 2082,
"audioUrl": "https://dts.podtrac.com/redirect.mp3/pdst.fm/e/pfx.vpixl.com/6qj4J/pscrb.fm/rss/p/tracking.swap.fm/track/4jdbJYYRKqK96EGqOzQb/nyt.simplecastaudio.com/03d8b493-87fc-4bd1-931f-8a8e9b945d8a/episodes/58d4b75a-ce15-4da5-b1b7-bc351c227983/audio/128/default.mp3?aid=rss_feed&awCollectionId=03d8b493-87fc-4bd1-931f-8a8e9b945d8a&awEpisodeId=58d4b75a-ce15-4da5-b1b7-bc351c227983&feed=Sl5CSM3S",
"contentRating": "clean",
"podcastAppleId": 1200361736,
"source": "amp"
}

Options for every mode

OptionFieldDefaultWhat it does
CountrycountryusThe Apple Podcasts store to read. Used in every mode.
Countries (multiple)countriesemptyOne pass per country in search, episode search, charts, trending episodes and top channels. Always combined with Country.
Max ResultsmaxResults50The most rows for the whole run, and so the most you can be charged.
Max Results Per ItemmaxResultsPerItememptyA cap for each keyword, show, feed or chart inside the run.
Complete resultscompleteResultsonReads every page Apple offers, up to Max Results. Off gives the shorter lists this actor returned before November 2026.
Webhook URLwebhookUrlemptyAlso POSTs each row to your HTTPS endpoint as it is collected.
Dry rundryRunoffFetches as usual but saves nothing and charges nothing: a free preview of your input.
Spotify Client ID and SecretspotifyClientId, spotifyClientSecretemptyOptional: adds a matching Spotify show ID (spotifyId, spotifyUrl, spotifyMatchConfidence) using your own free Spotify app.

All output fields

Show rows (search, podcast, charts, artist, channel shows): appleId, name, artist, description, artworkUrl, genres, primaryGenre, genreIds, trackCount, feedUrl, releaseDate (latest episode), country, podcastUrl, rating, reviewCount, ownerEmail, ownerName, websiteUrl, language, languageTag, copyright, lastEpisodeDate, episodeFrequency, isActive, contentRating, publisherArtistId.

Paid and format (with Apple catalog data): subscribable, subscriptionUrl, offers, displayType (for example free or hybrid), kind (episodic or serial), completed (a finished series), createdDate (launch), releaseFrequency, releaseFrequencyShort, mediaKinds, seasonNumbers, trailers, plus artwork details artworkWidth, artworkHeight, artworkBgColor, artworkTemplateUrl.

Podcast mode extras: recentEpisodes (the newest episodes on the show page, with title, date, duration and link) and recentReviews (the reviews shown on the show page).

Chart fields: rank, chartName, chartGenre (null on the all-genres chart), priorRank, rankChange, status.

Episode rows (episodes, trending, episode search, top episodes): podcastName, podcastAppleId, title, description, showNotesHtml, pubDate, pubDateIso, duration, durationSeconds, durationInMilliseconds, audioUrl, assetUrl, audioFileSize, audioMimeType, audioExtension, imageUrl, episodeType, explicit, contentRating, contentAdvisory, guid, episodeNumber, seasonNumber, episodeId, episodeUrl, keywords, transcriptUrl, offers, subscribable.

Review rows: appleId, podcastName, reviewId, author, reviewerUrl, rating, title, content, date, dateIso, voteSum, voteCount.

Channel rows: channelId, name, seller, showCount, rank, description, offers, releaseFrequency, displayType, channelUrl, websiteUrl, artworkUrl, logoArtworkUrl, backgroundSwatch, country.

Optional Spotify match: spotifyId, spotifyUrl, spotifyMatchConfidence.

Every row also has source, which says where the row came from: the show's feed, Apple's catalog, or both. A field is null when the source doesn't publish it, for example no transcript link or a locked episode's audio.


Use it from an AI agent (Claude, ChatGPT, MCP)

Connect Claude, ChatGPT, Cursor or any MCP client to Apify's MCP server with this scraper as a tool:

https://mcp.apify.com?tools=sourabhbgp/apple-podcast-scraper

Then ask in plain words. The agent fills in the input, and you pay the same per result. For example:

  • "List the top 20 comedy podcasts in the UK."
  • "Get the 100 most recent reviews of The Daily."
  • "Find 50 personal finance podcasts and their owner emails."
  • "Find 30 episodes about AI regulation, across all shows."

Notes for the agent:

QuestionModeMinimum input
Shows about a topicsearchsearchTerm (+ enrichWithRss for emails)
Everything about one showpodcastpodcastUrl
What listeners say about a showreviewspodcastUrl (+ sortBy)
Top shows in a genre or countrychartsgenre, country
A show's episodesepisodesrssFeedUrl (an Apple link works)
A show's most popular episodestop-episodespodcastUrl
Episodes about a topic, any showepisode-searchsearchTerm
Episodes trending right nowtrending-episodescountry (+ genre)
Every show by one publisherartistartistId or podcastUrl
Paid podcast networkschannelsnothing, or channelId
  • Keep the cost small: $3.00 per 1,000 rows, so set maxResults to what the question needs (20 for a top list, 100 for a review sample).
  • Shows by name: podcastUrl takes an Apple Podcasts link or numeric ID, never a show name. A name returns zero rows with [U_CONFIG]. Run search first and take appleId from the row.
  • Genres: genre takes one of the names listed in the input form, such as comedy, true-crime or health-fitness. An unknown genre falls back to the all-genres chart, and the final message says so.
  • Chart rows: rank is the position now. With trackDeltas on, status is new, up, down, same or exited, and rankChange is the move since the last run. chartGenre is null on the all-genres chart.
  • Episode audio: audioUrl is null on subscriber-only episodes, because Apple doesn't publish the audio. durationSeconds is still filled.
  • Reading the result: the status message starts with a code when a run ends short: [U_...] means the input, [E_...] means our side. The RUN_SUMMARY record in the run's key-value store lists every input with its own outcome.
  • Time: a 20-row run takes a few seconds; 500 reviews take about two minutes.

What people use it for

  • πŸ“£ Podcast advertising: pull a genre chart, then check how often each show publishes and which are paid.
  • 🀝 Guest and sponsor outreach: search a topic with feed enrichment on and get owner emails with publishing frequency attached.
  • πŸ“ˆ Competitive tracking: run charts on a schedule with rank tracking on, and see who moved and who dropped out.
  • πŸ—£οΈ Reputation monitoring: pull reviews sorted by most helpful and see what listeners actually complain about.
  • πŸ”¬ Content research: search Apple's episode catalog for a topic and see every show covering it.
  • πŸ—ΊοΈ Market mapping: list a publisher's whole catalog, or a paid network's whole roster.

How much does Apple Podcast Scraper cost?

You pay per result, and each result is charged once. Nothing else.

What you getPer 1,000
A show, episode, review, chart entry or channel$3.00

There is no per-run fee: a run that returns nothing costs nothing. Duplicates are removed before you're charged, so overlapping search terms never bill twice for the same show.

  • Free plan: your $5 monthly credit covers about 1,600 results.
  • Starter plan ($19): about 6,300 results a month.

Limitations

  • Search returns about 100 shows per keyword. That's Apple's cap, not ours. Use several keywords to go wider.
  • Charts return up to 200 entries. Top Series and Top Subscriber Shows stop at 100, Apple's own length for them.
  • Most helpful reviews stop where Apple's helpful ranking ends. That can be fewer than you asked for, and the run says so.
  • Reviews are per country. Reviews left in the UK store don't show up in the US store. Run both.
  • Episode archives depend on the publisher. Some feeds carry every episode ever, some only the last few dozen. We return what the feed publishes.
  • Some fields depend on the source. Show notes, keywords and transcript links come from the show's feed, so modes that read Apple's catalog directly won't have them. Transcript links exist for roughly one show in six.
  • Paid-subscriber-only episodes are not accessible. We return that an episode is paid and its length, not its locked audio.

FAQ

How do I scrape Apple Podcasts without coding?

Pick a mode, paste a keyword, an Apple Podcasts link or a feed URL, and press Start. Set Max Results, the ceiling for the whole run, so your bill can't exceed it. Download the results as JSON, CSV, Excel or XML.

Do I need an Apple developer account or API key?

No. Everything comes from Apple's public pages, with no login and no proxy setup.

Can I schedule this?

Yes. Use Apify Schedules for daily chart tracking or review monitoring. Turn on rank tracking and each run reports what moved.

Why did my run return fewer rows than I asked for?

The common reasons: the source genuinely has fewer (a show with 40 episodes can't return 100), duplicates were removed, Apple ranks fewer reviews as most helpful, or you turned completeResults off. The run's final message says which, and the RUN_REPORT record lists exactly what happened and whether any request to Apple failed.

Can I use it from code or an AI agent?

Yes. Call it through the Apify API, or connect it to an AI agent through Apify's MCP server (see above).

This actor collects publicly available information only. It doesn't log in, and it doesn't touch personal or paywalled content. You are responsible for how you use the data, including under GDPR and CCPA where reviewer names are involved.

Your feedback

Found a bug, or need a field that isn't here? Open an issue and I'll take a look. I read every one.