Apple Reviews Scraper | App Store Reviews and Ratings
Pricing
from $0.03 / 1,000 reviews
Apple Reviews Scraper | App Store Reviews and Ratings
Apple App Store reviews scraper: paste an app link, id, bundle id or app name and get every review with stars, title, full text, author, date, edits and the developer's reply, plus the app's name, developer, genre and rating. 100 reviews in 6 seconds, 27 fields each, any country, no Apple account.
Pricing
from $0.03 / 1,000 reviews
Rating
0.0
(0)
Developer
SilentFlow
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
16 hours ago
Last modified
Categories
Share
Apple Reviews Scraper | App Store Reviews and Ratings for Any App and Country (2026)
From SilentFlow. Creators of Pinterest Scraper (#1 for โpinterest pins scraperโ in Apify Store search) and Leboncoin Scraper Ppe, with 240,000+ combined lifetime runs.
Turn App Store reviews into a spreadsheet: every review of your app or a competitor's, with its stars, title, full text, author and date, whether it was edited, and the developer's public reply, next to the app's name, developer and overall rating. 100 Instagram reviews in 17 seconds, in any country's store, no Apple account needed.
Why choose this actor?
Scrolling through App Store reviews on a phone, one screen at a time? Copying complaints into a sheet after every release? Stuck at 500 reviews per app and country with the tool you use today?
- 27 fields filled on every review, where the most used App Store reviews actor returns 12. On the prefilled run (the Instagram link, US store, 100 reviews, measured on 28 Sep 2026), 27 of the 30 fields carry a value on every row. Next to the review itself (
rating,reviewTitle,reviewText,authorName,reviewDate,isEdited), each row carries the app it belongs to:appName,developer,appGenre,appRating,appRatingCount,appVersion,appPlatform,bundleIdandappIconUrl. The last three fields hold the developer's public reply when there is one: Instagram never answers, Spotify answered 34 of the 200 complaints of our second test. - Past the 500-review wall. The most used App Store reviews actor stops at 500 reviews per app and country. Here Apple's lists run thousands of reviews deep: our test read 1,000 of Robinhood's most helpful US reviews in one run, in 3 minutes 45 seconds, going back to 2017, 397 of them with Robinhood's reply.
- Paste a link, an id or just the app's name, in as many countries as you like. App Store links (an app page, or a developer page for every app it publishes), numeric ids and bundle ids such as
com.burbn.instagram, and plain app names likespotifyall go in the same form and run together, in every store you list. The most used App Store reviews actor takes ids and links, one country per run. In our test, one Duolingo link read in the US, German, French, Japanese and Brazilian stores returned 500 reviews in 3 minutes 53 seconds.
Try your first App Store reviews
Paste this input into the Input tab (JSON view) and press Start. It is the prefilled input of the form: the 100 most recent reviews of Instagram in the US App Store.
{"startUrls": [{ "url": "https://apps.apple.com/us/app/instagram/id389801252" }],"maxReviews": 100,"sort": "mostRecent"}
Runs of this size fit easily in the Apify Free plan, so you can try the actor on your own app and your competitors before scheduling anything. Each review is one row of the dataset; export it as JSON, CSV, Excel or HTML from the Storage tab, or read it from the API.

| SilentFlow ยท Apple suite | |
App Store Apps, Ratings and | Apple Reviews Scraper You are here |
Copy to your AI assistant
Paste this block into Claude, ChatGPT or Cursor to give it full context about this actor:
You have access to the Apple Reviews Scraper on Apify: silentflow/apple-reviews-scraperIt returns one row per customer review of an App Store app in one country, from Apple's public App Store. No Apple account.Input (none required; give at least one of startUrls / appIds / keywords):- startUrls (array of {"url": string}): App Store links. App page https://apps.apple.com/us/app/instagram/id389801252,developer page https://apps.apple.com/us/developer/meta-platforms-inc/id284882218 (reviews of each of its apps).A link is read in its own country store unless countries is filled.- appIds (array of strings): numeric App Store ids ("389801252") or bundle ids ("com.burbn.instagram").- keywords (array of strings): app names, e.g. ["spotify", "duolingo"]. Each name reads the App Store's top match.- countries (array of strings, default empty): two-letter store codes (us, gb, de, fr, jp, br...). Every app is readin each store listed. Empty: links in their own store, ids and names in the US store.- maxReviews (integer, default 100): reviews per app and country. No fixed ceiling: Apple's lists run thousands deep.- sort (string, default "mostRecent"): "mostRecent", "mostHelpful", "mostCritical" (lowest stars first),"mostFavorable" (highest stars first), or "both" (most recent, then most helpful ones not delivered yet).- ratings (array of strings "1".."5", default all): stars to keep, e.g. ["1", "2"] for complaints.- since (string, default empty): keep reviews written after a date ("2026-09-01") or within a span ("7 days","24 hours", "2 weeks", "3 months").Output per row (30 fields, null when Apple has no value):- Identity: id (review id, string), url (the app's reviews page for this review), reviewTitle- Content: reviewText, rating (1-5), isEdited (boolean)- Author: authorName- Developer reply: developerResponse (text), developerResponseDate (RFC 3339 UTC), developerResponseId; null when none- Place and time: reviewDate (RFC 3339 UTC), country (store code)- App: appId, appName, appUrl, appIconUrl, bundleId, developer, developerId, appGenre, appRating (0-5),appRatingCount, appVersion (latest version), appPlatform (iOS | macOS)- Meta: sort (mostRecent | mostHelpful | mostCritical | mostFavorable), page (of 20), position (rank in Apple's list),foundBy (url | id | keyword | developer), query (the input entry), scrapedAtUse apify-client for Python or JavaScript: client.actor("silentflow/apple-reviews-scraper").call(run_input={...}).
How to scrape Apple App Store reviews
Three inputs, from the simplest to a combined run. Each one runs as is.
Get the latest reviews of an app
Copy the app's link from the App Store (in a browser or with the Share button) and paste it. The country in the link picks the store: this link reads the US App Store, a /gb/ link reads the UK one.
{"startUrls": [{ "url": "https://apps.apple.com/us/app/instagram/id389801252" }],"maxReviews": 200}
Rows arrive newest first. position is the rank of the review in Apple's list, page the page of 20 it sat on, so you can see how deep the run went.
Pull the complaints about two apps by name
No link at hand? Type the app names. Each name reads the App Store's top match, and the run log tells you which app it picked. Keep 1 and 2 stars only to get the complaints, in two stores at once.
{"keywords": ["spotify", "duolingo"],"countries": ["us", "gb"],"maxReviews": 50,"ratings": ["1", "2"]}
This exact input returned 200 reviews in 4 minutes 28 seconds in our test: 50 per app and country, all rated 1 or 2 stars, 34 of them with the developer's reply. To reach the lowest stars sooner, set sort to mostCritical: Apple then lists the 1 star reviews first.
Watch your app and a competitor over the last week
Mix ids and bundle ids, read two stores, and keep only what was written in the last seven days. With the most recent order, the run stops as soon as it reaches older reviews.
{"appIds": ["389801252", "com.zhiliaoapp.musically"],"countries": ["us", "gb"],"maxReviews": 500,"since": "7 days"}
developerResponse tells you which of these reviews the developer has already answered, and isEdited which ones their author rewrote.
Input parameters
| Parameter | Type | Default | What it does |
|---|---|---|---|
startUrls | array of links | Instagram, US | App Store links: an app page, or a developer page for the reviews of each of its apps. Mac apps work too. |
appIds | array of strings | empty | Numeric App Store ids (389801252) or bundle ids (com.burbn.instagram). |
keywords | array of strings | empty | App names such as spotify. Each reads the App Store's top match in each store. |
countries | array of strings | empty | Two-letter store codes. Every app is read in each store listed. Empty: links in their own store, ids and names in the US store. |
maxReviews | integer | 100 | Reviews per app and country. No fixed ceiling. |
sort | string | mostRecent | mostRecent, mostHelpful, mostCritical (lowest stars first), mostFavorable (highest stars first), or both (most recent first, then the most helpful ones not delivered yet). |
ratings | array of "1" to "5" | all | Stars to keep. |
since | string | empty | Keep reviews written after a date or within a span back from the run. |
Accepted formats
- App links:
https://apps.apple.com/us/app/instagram/id389801252, with or without the name part (https://apps.apple.com/us/app/id389801252), with or without extra parameters (?platform=iphone,?mt=12for Mac apps). Olditunes.apple.comlinks work too. - Developer links:
https://apps.apple.com/us/developer/meta-platforms-inc/id284882218reads every app of the developer in that store, each up tomaxReviews. - Ids: the digits after
idin any App Store link (389801252,id389801252), or the bundle id (com.spotify.client). A full App Store link pasted in this field works too. - App names: anything you would type in the App Store search box (
calm,notion,revolut). When two apps share a name, use a link or an id. - Countries: two-letter codes such as
us,gb,de,fr,es,it,jp,kr,br,mx,in,au,ca.ukis read asgb. Capital letters are fine. - Since: a day (
2026-09-01), a moment with its time zone (2026-09-01T08:00:00Z), or a span:24 hours,7 days,2 weeks,3 months,1 year(7dand2wwork too).
What data can you extract from the Apple App Store?
Every row is one customer review, flat and ready for a spreadsheet, a database or a language model. The 30 fields come in groups, always in the same order.
| Group | Fields |
|---|---|
| Identity | id, url, reviewTitle |
| Content | reviewText, rating, isEdited |
| Author | authorName |
| Developer reply | developerResponse, developerResponseDate, developerResponseId |
| Place and time | reviewDate, country |
| App | appId, appName, appUrl, appIconUrl, bundleId, developer, developerId, appGenre, appRating, appRatingCount, appVersion, appPlatform |
| Meta | sort, page, position, foundBy, query, scrapedAt |
A few facts that help when you use the data:
idis Apple's review id. It stays the same from one run to the next, so it is the key to use when you store reviews over time and drop the ones you already have.urlopens the app's reviews page in that country's App Store and carries the review id, so every row keeps its own link.appUrlis the app's permanent App Store page.reviewDate,developerResponseDateandscrapedAtare RFC 3339 dates in UTC (2026-09-26T19:50:42Z).isEditedistruewhen the author rewrote the review.reviewDateis the date of the current text, so an edited review can be dated after the developer's reply to its first version.developerResponseis the developer's public answer, with its date and id; all three arenullwhen the developer has not answered. How often that happens depends on the app: Instagram and Duolingo answered none of the reviews in our tests, Spotify 34 of 200 complaints, Robinhood 397 of its 1,000 most helpful reviews.appVersionis the app's latest version at run time. Apple does not show which version a review was written on.appRatingandappRatingCountare the app's overall star rating and number of ratings in that country. Apple publishes no overall rating for Mac apps here, so they arenullfor them.appIconUrlis Apple's 512 px icon link.
Output example
A real row from our complaints test (spotify typed as an app name, US store, 1 and 2 stars):
{"id": "14596870763","url": "https://apps.apple.com/us/app/id324684580?see-all=reviews&reviewId=14596870763","reviewTitle": "Iโm adding songs in my playlist and there not showing up","reviewText": "Give me my songs","rating": 1,"isEdited": false,"authorName": "Jayyy137","developerResponse": "Hi. Thanks for sharing your experience. Could you try logging out and then logging back in to your account to see if that'll make any difference? If that doesn't help, feel free to reach out to our Customer Service by visiting support.spotify.com and looking for \"Contact us\"","developerResponseDate": "2026-09-27T22:19:24Z","developerResponseId": "66696361","reviewDate": "2026-09-26T19:50:42Z","country": "us","appId": "324684580","appName": "Spotify: Music and Podcasts","appUrl": "https://apps.apple.com/us/app/spotify-music-and-podcasts/id324684580","appIconUrl": "https://is1-ssl.mzstatic.com/image/thumb/Purple211/v4/fd/b0/e6/fdb0e66d-165c-aa66-ac6b-1ee1e01911e8/AppIcon-0-0-1x_U007epad-0-1-0-0-sRGB-85-220.png/512x512bb.jpg","bundleId": "com.spotify.client","developer": "Spotify","developerId": "324684583","appGenre": "Music","appRating": 4.77,"appRatingCount": 42315524,"appVersion": "9.1.86","appPlatform": "iOS","sort": "mostRecent","page": 10,"position": 193,"foundBy": "keyword","query": "spotify","scrapedAt": "2026-09-28T11:26:29Z"}
Advanced usage
Five recipes for the jobs teams run most. Each input runs as is.
Catch complaints about your latest release every morning
Schedule this input daily (Actions, then Schedule on the actor page). It keeps the 1 and 2 star reviews of the last three days in four English-speaking stores.
{"appIds": ["389801252"],"countries": ["us", "gb", "ca", "au"],"maxReviews": 500,"ratings": ["1", "2"],"since": "3 days"}
Apple adds new reviews to its public lists about once a day: on 28 Sep 2026, the newest review listed in each of our test runs was about 30 hours old. A three-day window on a daily schedule never misses a day; drop the reviews you already stored by id.
Compare one app across five countries
Each App Store country has its own reviews, in its own language. Reading the same app in several stores shows where users are happy and where a translation or a local payment method is failing.
{"startUrls": [{ "url": "https://apps.apple.com/us/app/duolingo-language-lessons/id570060128" }],"countries": ["us", "de", "fr", "jp", "br"],"maxReviews": 100}
This input returned 500 reviews, 100 per store, in 3 minutes 53 seconds in our test. Group the rows by country and average rating to compare stores side by side.
Read deep into one app's reviews
Apple's lists are not capped at 500: set maxReviews as high as you need. The most helpful order goes back years and brings the longest, most detailed reviews.
{"appIds": ["938003185"],"sort": "mostHelpful","maxReviews": 1000}
In our test this input returned 1,000 Robinhood reviews in 3 minutes 45 seconds, from 2017 to 2026, 397 of them with Robinhood's reply. position tells you how far down Apple's list each review sat.
Read every app of a developer
A developer link reads the reviews of each of its apps in that store, and ids can join the same run. In our test, this input (Meta's developer link plus Xcode, both orders, the last 30 days) read 17 apps and returned 682 reviews in 5 minutes 40 seconds.
{"startUrls": [{ "url": "https://apps.apple.com/us/developer/meta-platforms-inc/id284882218" }],"appIds": ["497799835"],"sort": "both","maxReviews": 60,"since": "30 days"}
appName and appId on every row let you pivot the whole portfolio in one table.
Build a sentiment dataset for a category
Name the leading apps of a category, keep a balanced mix of stars, and feed the text to your model. The most helpful order gives the longest, most detailed reviews.
{"keywords": ["calm", "headspace", "insight timer", "balance meditation"],"sort": "mostHelpful","maxReviews": 300}
rating is a ready label from 1 to 5, and reviewTitle plus reviewText give the model the full context.
FAQ
What does this actor extract? Customer reviews from the Apple App Store: the stars, title, full text, the author's nickname, the date, whether the review was edited, and the developer's public reply with its date, plus the app's name, developer, category, overall rating and latest version on every row. One row per review.
Do I need an Apple account or a developer account? No. The actor reads the reviews anyone can see on the App Store. No login, no Apple ID, no App Store Connect access, and it works for any app, not only yours.
How do I find an app's id?
You do not have to: paste the App Store link or type the app's name. If you want the id anyway, it is the number after id in the link: 389801252 in https://apps.apple.com/us/app/instagram/id389801252.
How many reviews can I get per app?
As many as Apple lists, which for a popular app runs to thousands per country and order: our test read 1,000 of Robinhood's US reviews in one run, and Instagram's US list still had reviews 8,000 places down in our checks. maxReviews sets where to stop. To go wider, add countries: each store has its own reviews.
Why did I get fewer reviews than I asked for? Three reasons. The app may have fewer written reviews in that store (many users only leave stars: an app with 20 ratings can have 12 written reviews). A star filter or a date keeps only part of what Apple lists. And when a filter stops matching for 200 reviews in a row, the run moves on instead of reading a list thousands of reviews deep for nothing.
Can I get reviews from several apps and countries in one run?
Yes. Put as many links, ids and names as you like; every app is read in each country of countries, and maxReviews applies to each app and country. An app named twice (a link and its id, say) is read once.
How fresh is the data?
Reviews are read from the App Store at the moment you run the actor; nothing is stored on our side. Apple itself adds new reviews to its public lists about once a day, so the newest reviews in a run are usually about a day old (about 30 hours in our runs on 28 Sep 2026). For a daily schedule, set since to 3 days and drop the ids you already have.
Do the filters combine?
Yes. ratings set to 1 and 2, since set to 7 days and countries set to us and gb returns the 1 and 2 star reviews of the last week in both stores. With the most recent order, the run stops as soon as it reaches reviews older than since.
What is the difference between the review orders?
Most recent lists the newest reviews first, for monitoring and support. Most helpful lists the reviews other users voted up, which reach back years and are usually longer. Most critical lists the lowest stars first, most favorable the highest. both gives you the most recent and the most helpful lists, without duplicates.
Does it work for Mac apps?
Yes: paste the Mac App Store link or the id, like any other app. Xcode's reviews came back in our tests. appPlatform says iOS or macOS on every row.
Can I get the developer's replies?
Yes. When the developer has answered a review in public, developerResponse holds the reply, developerResponseDate its date and developerResponseId its id. Use the "Reviews and developer replies" view of the dataset to read them side by side.
Can I see which app version a review was written on, or its helpful votes?
No. Apple's public review listing does not include either, so the rows do not carry them. appVersion gives the app's latest version at run time.
Are the links permanent?
appUrl is the app's permanent page. url opens the app's reviews page with the review id in the link; Apple does not publish a page per review. appIconUrl is Apple's image link and can change when the app updates its icon.
What happens with a wrong link, id or name? The run skips it, says why in the log (no such app in that store, or not an App Store link) and goes on with the rest. A run that finds nothing at all ends with a message saying what to change.
Is it legal to scrape App Store reviews? The actor collects reviews that Apple shows publicly to anyone. How you use them is your responsibility: see Legal compliance below, especially for author nicknames.
More SilentFlow scrapers
๐ E-commerce
Pinterest - Pinterest Scraper | Pins, Boards and Profiles
Leboncoin Ppe - Leboncoin Scraper Ppe
Back Market - Back Market Scraper | Refurbished Prices
Leboncoin - Leboncoin Ad Details Scraper
1688 Wholesale - 1688 Wholesale Scraper
ImportYeti - US Customs Records, Suppliers & Trade Data - ImportYeti Scraper - US Customs Records, Suppliers & Trade Data
Store Leads - Store Leads Scraper | Shopify Data
Udemy Course - Udemy Course Scraper
TikTok Shop - TikTok Shop Scraper
Bring a Trailer - Bring a Trailer Scraper
Walmart - Walmart Product Scraper
Avito - Avito Scraper | Listings, Prices and Sellers
Vinted Marketplace - Vinted Marketplace Scraper
Agoda - Agoda Scraper | Hotel Prices and Guest Ratings
Alibaba - Alibaba Scraper | Products, Prices and Suppliers
Amazon Seller - Amazon Seller Scraper | Emails, Phones and Ratings
Europages - Europages Scraper | Suppliers and B2B Companies
Google Hotels - Google Hotels Scraper | Prices, Offers and Ratings
Mercari - Mercari Scraper | Listings, Sold Prices and Sellers
Taobao - Taobao Scraper | Products, Prices and Sellers
Amazon Marketplace - Amazon Marketplace Scraper
AutoScout24 - AutoScout24 Scraper
eBay Listings - eBay Listings Scraper
Mobile.de - Mobile.de Scraper
Naver - Naver Scraper | Shopping Products, Prices and Reviews
๐ผ Jobs
- ZipRecruiter - ZipRecruiter Jobs Scraper | Salary, Company & Location Filters
LinkedIn Job Search - LinkedIn Job Search Scraper | Salaries & Seniority
Glassdoor Job Listings - Glassdoor Job Listings Scraper
Indeed - Indeed Company Reviews Scraper
Welcome to the Jungle - Welcome to the Jungle Job Scraper
Multi Board - Multi Board Job Scraper
๐ฅ Glassdoor - ๐ฅ Glassdoor Scraper
Indeed Jobs Ppr - Indeed Jobs Scraper Ppr
Jora - Jora Jobs Scraper
Arbeitsagentur - Arbeitsagentur Jobs Scraper
ATS - ATS Jobs Scraper | Greenhouse, Lever and Ashby
Dice Tech - Dice Tech Jobs Scraper
Malt - Malt Scraper | Freelance Profiles
StepStone - StepStone Scraper
Naukri & NaukriGulf - Naukri & NaukriGulf Jobs Scraper
Seek - Seek Job Scraper
๐ Real estate
SeLoger - SeLoger Scraper | Real Estate Listings
Zillow - Zillow Scraper
Bien'ici - Bien'ici Scraper | Property Listings
Realtor Rental Listings - Realtor Rental Listings Scraper
Airbnb Pro Host Contact & - Airbnb Pro Host Contact & Email Scraper
Idealista - Idealista Scraper
Realestate.com.au - Realestate.com.au Scraper
Rightmove - Rightmove Scraper
Trulia Rental Listings - Trulia Rental Listings Scraper
Airbnb Search - Airbnb Search Scraper
๐ฃ Social media
LinkedIn Post Search - LinkedIn Post Search Scraper | Keywords, Hashtags & Profiles
Facebook Search - Facebook Search Scraper
LinkedIn Leads - LinkedIn Leads Scraper | Sales Navigator Export
OnlyFans - OnlyFans Profile Scraper
Instagram Engagement - Instagram Engagement Scraper
TikTok - TikTok Scraper
Instagram - Instagram Story Scraper | Stories & Highlights
Meta Ad Library - Meta Ad Library Scraper
Skool Community - Skool Community Scraper
YouTube - YouTube Channel Scraper | Videos, Shorts and Views
YouTube - YouTube Transcript Scraper
Discord - Discord Scraper | Servers, Member Counts and Invites
Facebook Business Page - Facebook Business Page Scraper
Reddit - Posts, Comments, Communities & - Reddit Scraper - Posts, Comments, Communities & Users
Weibo - Weibo Scraper | Posts, Profiles and Engagement
Bilibili - Bilibili Scraper
๐ข Business data
LinkedIn People Search - LinkedIn People Search Scraper | Profiles & Companies
Similarweb - Similarweb Scraper | Website Traffic, Rankings and Competitors
Company Data - Company Data Scraper | Emails, Phones and Tech Stack
SEC - SEC Scraper | EDGAR Filings and Company Data
Teachable - Courses, Prices & Instructors - Teachable Scraper - Courses, Prices & Instructors
Trustpilot - Trustpilot Enricher
Website Tech Stack - Website Tech Stack Scraper
โ๏ธ Travel
Google Maps - Google Maps Scraper
Booking.com Hotel - Booking.com Hotel Scraper
Flight Price - Flight Price Scraper
๐ฏ Lead generation
Northdata - Northdata Company Scraper
Dealroom - Dealroom Scraper | Companies and Investors
ZocDoc - Pay Per Result - ZocDoc Scraper - Pay Per Result
SIRET - SIRET Company Enricher
Google Ads Transparency - Google Ads Transparency Scraper
ThomasNet Suppliers - ThomasNet Suppliers Scraper
BuiltWith - BuiltWith Scraper | Tech Stacks and Top Sites
CNPJ Brazilian - CNPJ Brazilian Company Enricher
Domain - Domain Enricher
French Company Prospector - French Company Prospector
UK Companies House - UK Companies House Enricher
Clutch Agency - Clutch Agency Scraper
G2 - G2 Reviews Scraper
PagesJaunes - PagesJaunes Business Scraper
๐ SEO
Google News - Google News Scraper
Support
Need something this actor does not do yet? We ship features fast.
- Feature requests go straight to our backlog
- Enterprise needs? We do custom integrations and high-volume plans
- Pricing questions? Check the Monetization tab on the actor page
Response time: usually under 24 hours.
Legal compliance
This actor extracts publicly available data from the Apple App Store. It does not bypass any login, paywall or CAPTCHA. Users are responsible for complying with Apple's terms of service and with applicable data protection laws (GDPR, CCPA, and PIPL where relevant). Reviews carry the nickname of their author, which can be personal data: store and process them accordingly, and prefer aggregated or pseudonymised analysis when you share results. The data returned is informational; verify it before using it for regulated decisions.
Apple Reviews Scraper by SilentFlow: what users say about any app, in any country, as rows.
