App Store Reviews Scraper
Pricing
from $0.50 / 1,000 app store review records
App Store Reviews Scraper
Export Apple App Store reviews for any app across every storefront, both sort orders, with a stable schema
Pricing
from $0.50 / 1,000 app store review records
Rating
0.0
(0)
Developer
Nick Randall
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Export Apple App Store reviews for any app across every storefront and both sort orders, with a stable schema.
Get structured review data from Apple's public App Store review feed as JSON, CSV or Excel, or call it as a tool from Claude, Cursor, ChatGPT or any MCP client. Pay only for the results you receive.
What you get
Give it an app by its numeric App Store ID, bundle ID (e.g. com.spotify.client) or a full App Store URL, and a list of storefronts, and it returns reviews with title, text, star rating, app version, helpfulness votes and date. Both the "Most Recent" and "Most Helpful" sort orders are supported in the same run, and every review is tagged with the storefront and sort order it came from so you can merge or dedupe as needed.
Every result is a flat record with stable field names, so it drops straight into a spreadsheet, a database or an AI agent's context.
Why use this instead of the incumbents
- A fraction of the price of the incumbent App Store review scrapers
- Every storefront in one run instead of one country at a time
- Both sort orders in a single call, tagged so you can tell them apart
- Stable schema across runs, unlike incumbents that have changed shape without notice
- Works as an MCP tool, so AI agents can pull sentiment on demand
- No browser, no proxies, no personal data: fast runs and a tiny cost per result
Input
| Field | Type | Default | Meaning |
|---|---|---|---|
appIds | array | Numeric App Store IDs, bundle IDs, or App Store URLs | |
countries | array | ["us"] | Two-letter storefront codes, or ["all"] for every supported storefront |
sortOrders | array | both | mostRecent, mostHelpful, or both if left empty |
maxResults | integer | 200 | Cap on results saved. You are charged per result, so this caps your cost. |
Example input:
{"appIds": ["com.spotify.client"],"countries": ["us", "gb"],"maxResults": 200}
Output
Example result:
{"appId": "324684580","country": "us","sortBy": "mostRecent","reviewId": "10001","title": "Great app","content": "I use this every day.","rating": 5,"appVersion": "8.9.0","voteSum": 12,"voteCount": 14,"updated": "2026-09-01T00:00:00-07:00"}
Field reference: appId, country, sortBy, reviewId, title, content, rating (1 to 5), appVersion, voteSum, voteCount, updated. Reviewer names are never collected.
Pricing
Pay per event. You are charged $0.50 per 1,000 results saved to the dataset, plus a fraction of a cent per run start. Nothing is charged for results you do not receive. Set "Max total charge per run" in the run options to cap spending on any run. When a run reaches your cap it stops cleanly and keeps everything it already saved.
Rough guide: 1,000 reviews cost $0.50 and take about 45 seconds.
Use it from an AI agent (MCP)
This Actor is available as an MCP tool through the Apify MCP server. Add it to your client, then ask the agent for the data in plain language.
Claude Desktop, Claude Code or Cursor (mcp.json / claude_desktop_config.json):
{"mcpServers": {"apify": {"url": "https://mcp.apify.com/?actors=brightpath-data/app-store-reviews","headers": { "Authorization": "Bearer YOUR_APIFY_TOKEN" }}}}
ChatGPT and other clients that support remote MCP servers: add https://mcp.apify.com/?actors=brightpath-data/app-store-reviews as a connector with your Apify token.
Example prompt once connected: "Pull the 100 most recent US reviews for Spotify and summarize the complaints."
Use it from code
curl -X POST "https://api.apify.com/v2/acts/brightpath-data~app-store-reviews/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"appIds":["com.spotify.client"],"countries":["us"],"maxResults":200}'
Python:
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")run = client.actor("brightpath-data/app-store-reviews").call(run_input={"appIds": ["com.spotify.client"], "countries": ["us"], "maxResults": 200})items = client.dataset(run["defaultDatasetId"]).list_items().items
Limits and fair use
- Up to 10,000 results per run.
- The reviews feed serves at most 10 pages (about 500 reviews) per app, per storefront, per sort order; run again later for newer reviews.
- Requests are paced at 1.5 seconds apart to stay well under Apple's informal rate limit; a run across many storefronts and both sort orders will take proportionally longer.
- A bundle ID that Apple's lookup API cannot resolve, or a storefront with no reviews for that app, is skipped rather than treated as an error.
Data source and legal
Data comes from Apple's public customer-reviews RSS-to-JSON feed, served without authentication at itunes.apple.com. This Actor collects public, non-personal data only: reviewer names are dropped, and review content remains the property of its authors. This Actor does not bypass logins, paywalls or access controls. You are responsible for how you use the data.
Support
Found a problem or need a field added? Open an issue on the Actor's Issues tab. Fixes for broken runs are prioritized.