Apple App Store Reviews Scraper
Pricing
Pay per event
Apple App Store Reviews Scraper
Scrape Apple App Store reviews, ratings, dates, versions, countries, and app metadata from public iTunes review feeds.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Stas Persiianenko
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Extract Apple App Store reviews from public iTunes review feeds.
Use this actor to collect review text, star ratings, app versions, review dates, reviewer names, helpful-vote counts, countries, and app metadata for iOS apps.
What does Apple App Store Reviews Scraper do?
Apple App Store Reviews Scraper turns public iOS review feeds into a clean dataset.
It accepts Apple App Store app URLs or numeric app IDs.
It then fetches public customer reviews from the Apple iTunes RSS endpoint.
Each saved row is one review.
The actor also enriches each row with app metadata from Apple's public lookup endpoint.
You can export the dataset as JSON, CSV, Excel, XML, RSS, or HTML from Apify.
Who is it for?
π§βπΌ Product managers use it to monitor app feedback after releases.
π£ App marketers use it to track sentiment, keywords, and campaign impact.
β ASO agencies use it to compare review language across clients and competitors.
π§ Support teams use it to find recurring complaints and urgent bug reports.
π‘οΈ Trust, safety, and compliance teams use it to preserve review evidence.
π Data teams use it to feed BI dashboards and text analytics pipelines.
Why scrape App Store reviews?
App reviews are one of the fastest public signals for product quality.
They include star ratings and free-form customer language.
They often mention bugs, pricing objections, feature requests, and competitor comparisons.
Review monitoring is recurring work.
Most teams need fresh data daily or weekly.
This actor is designed for repeat runs and simple automation.
Why use this actor?
β HTTP-only implementation using public Apple endpoints.
β No account, login, cookie, browser, or CAPTCHA required.
β Supports multiple apps in one run.
β Supports multiple App Store countries in one run.
β Uses Apple's reliable most-recent public review feed.
β Includes app metadata when available.
β Produces flat review rows ready for spreadsheets and databases.
Data you can extract
| Field | Description |
|---|---|
appId | Numeric Apple App Store app ID |
appName | App name from Apple lookup |
bundleId | iOS bundle identifier |
developerName | Developer or publisher name |
genre | Primary App Store genre |
genres | Genre list from Apple lookup |
averageUserRating | Current average user rating |
userRatingCount | Current total rating count |
currentVersion | Current app version |
country | App Store country code used for the feed |
sortBy | Review sorting mode |
reviewId | Apple review ID |
reviewUrl | Public review URL when provided |
reviewTitle | Review headline |
reviewText | Review body text |
rating | Review star rating from 1 to 5 |
reviewVersion | App version reviewed |
reviewDate | Review timestamp |
authorName | Reviewer display name |
voteSum | Helpful vote score |
voteCount | Helpful vote count |
scrapedAt | Actor scrape timestamp |
How much does it cost to scrape Apple App Store reviews?
This actor uses pay-per-event pricing.
There is a small run-start charge.
There is also a per-review charge for each review saved to the dataset.
Always check the actor pricing panel on Apify for the exact current tiered price, because your Apify plan can change the tiered per-review price.
Typical cost examples at the current Bronze tier are:
| Reviews saved | Estimated actor charge |
|---|---|
| 20 reviews | about $0.008 |
| 100 reviews | about $0.020 |
| 500 reviews | about $0.080 |
| 1,000 reviews | about $0.155 |
These examples include the run-start event plus a per-review event.
The Apify free plan includes monthly platform credits, so small tests such as 20 or 100 reviews are usually suitable for evaluation within free-plan credits.
Large recurring monitoring jobs should still review the pricing panel before scheduling daily or hourly runs.
Input overview
You can provide app URLs.
You can provide app IDs.
You can provide both.
Duplicates are removed automatically by app ID.
You can choose one or more countries.
You can set a maximum number of reviews per app per country.
Example input
{"appUrls": [{ "url": "https://apps.apple.com/us/app/youtube/id544007664" }],"countries": ["us"],"sortBy": "mostRecent","maxReviewsPerApp": 50,"includeAppMetadata": true}
Input fields
appUrls
Paste one or more Apple App Store URLs.
The actor extracts the numeric app ID from URLs such as https://apps.apple.com/us/app/facebook/id284882215.
appIds
Use numeric app IDs directly when you already have them.
For example, YouTube is 544007664.
countries
Use two-letter App Store country codes.
Examples include us, gb, ca, de, fr, jp, and au.
The actor fetches each app/country pair separately.
sortBy
The actor uses mostRecent for newest public reviews first.
maxReviewsPerApp
Set the maximum review count per app per country.
Apple's public RSS feed normally exposes up to about 500 reviews per app/country.
includeAppMetadata
Keep this enabled when you want app name, developer, genre, version, rating count, and artwork fields included on every row.
Disable it only if you want the smallest possible request footprint.
Output example
{"appId": "544007664","appName": "YouTube","developerName": "Google","country": "us","sortBy": "mostRecent","reviewId": "14153383959","reviewTitle": "Useless","reviewText": "Canβt lock my profile without reason","rating": 1,"reviewVersion": "564.0.0","reviewDate": "2026-06-06T22:45:43-07:00","authorName": "Nikniknikmorenik","voteSum": 0,"voteCount": 0,"scrapedAt": "2026-06-08T00:00:00.000Z"}
How to run the actor
-
Open the actor on Apify.
-
Click Try for free or Start.
-
Paste one or more App Store URLs or app IDs.
-
Choose country codes.
-
Select the sort mode.
-
Set the review limit.
-
Start the run.
-
Download the dataset when the run succeeds.
Tips for best results
Start with one app and one country while testing a workflow.
Use mostRecent for release monitoring.
Run the same input daily or weekly for review monitoring.
Use country-specific runs when your app has localized support teams.
Export to CSV when handing review lists to non-technical stakeholders.
Export to JSON when feeding NLP pipelines.
Common workflows
Release monitoring
Run the actor after every iOS release.
Filter reviews by reviewVersion.
Watch for one-star reviews mentioning crashes or login issues.
Competitor tracking
Add your competitor app IDs.
Run the actor weekly.
Compare ratings and review themes across apps.
ASO keyword research
Export review text.
Extract repeated phrases from five-star reviews.
Use those phrases to improve App Store listing language.
Support triage
Search review text for billing, password, crash, subscription, or cancellation terms.
Send matching reviews to your support queue.
Integrations
Connect the dataset to Google Sheets for stakeholder reporting.
Send results to Slack through an Apify webhook.
Load the dataset into BigQuery, Snowflake, or S3 for warehouse analysis.
Trigger the actor from Zapier or Make when a release checklist is completed.
Use Apify API clients to schedule review ingestion from your own backend.
API usage with Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('automation-lab/apple-app-store-reviews-scraper').call({appIds: ['544007664'],countries: ['us'],maxReviewsPerApp: 50});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items.slice(0, 3));
API usage with Python
from apify_client import ApifyClientimport osclient = ApifyClient(os.environ['APIFY_TOKEN'])run = client.actor('automation-lab/apple-app-store-reviews-scraper').call(run_input={'appIds': ['544007664'],'countries': ['us'],'maxReviewsPerApp': 50,})items = client.dataset(run['defaultDatasetId']).list_items().itemsprint(items[:3])
API usage with cURL
curl -X POST 'https://api.apify.com/v2/acts/automation-lab~apple-app-store-reviews-scraper/runs?token=YOUR_APIFY_TOKEN' \-H 'Content-Type: application/json' \-d '{"appIds":["544007664"],"countries":["us"],"maxReviewsPerApp":50}'
MCP usage
You can use the actor through Apify MCP from Claude Code, Claude Desktop, or other MCP clients.
Use this MCP server URL:
https://mcp.apify.com/?tools=automation-lab/apple-app-store-reviews-scraper
Add it in Claude Code with:
$claude mcp add apify-apple-app-store-reviews --transport http "https://mcp.apify.com/?tools=automation-lab/apple-app-store-reviews-scraper"
For Claude Desktop or another JSON-based MCP client, add a server entry like this:
{"mcpServers": {"apify-apple-app-store-reviews": {"url": "https://mcp.apify.com/?tools=automation-lab/apple-app-store-reviews-scraper"}}}
Example prompts:
- "Run the Apple App Store Reviews Scraper for app ID 544007664 in the US and summarize one-star complaints."
- "Collect the 100 most recent reviews for these iOS app IDs and group them by app version."
- "Compare review themes for my app and two competitors across US and GB storefronts."
Scheduling
Use Apify schedules to run the same input repeatedly.
Daily schedules work well for active consumer apps.
Weekly schedules work well for competitor monitoring.
Monthly schedules work well for market research snapshots.
Limitations
Apple controls the public RSS review feed.
The feed normally exposes recent or helpful reviews rather than every historical review ever written.
Availability can vary by app and country.
Some apps or countries may return no public reviews.
The actor does not scrape private App Store Connect data.
The actor does not require or use Apple developer credentials.
FAQ and troubleshooting
Why did I get zero reviews?
Check that the app ID is correct.
Try country us first.
Try another popular app to confirm your input shape.
Some app/country combinations have no public reviews in Apple's RSS feed.
Why are there fewer than my requested reviews?
Apple's public feed has a practical page limit.
The app may have fewer visible reviews for that country and sort mode.
Try another country or reduce the review limit.
Why does metadata differ by country?
Apple lookup data is storefront-specific.
Names, ratings, pricing, and availability can vary by country.
Legality and ethics
This actor uses public Apple endpoints.
It does not log in.
It does not access private App Store Connect data.
You should still use the data responsibly.
Respect applicable laws, privacy obligations, platform terms, and your organization's data policies.
If you are unsure whether your use case is permitted, consult legal counsel.
Related scrapers
Explore related Automation Lab actors:
- https://apify.com/automation-lab/apple-app-store-scraper
- https://apify.com/automation-lab/google-play-scraper
- https://apify.com/automation-lab/google-play-reviews-scraper
Changelog
0.1
Initial version with public Apple RSS review extraction, multi-app input, country support, per-review charging, and app metadata enrichment.
Support
If a run fails, include the run URL and the input you used when reporting the issue.
For best troubleshooting, start with one app ID, one country, and a low review limit.