App Store Reviews Scraper API - Ratings, Text, $0.10/1K
Pricing
from $0.06 / 1,000 app reviews
App Store Reviews Scraper API - Ratings, Text, $0.10/1K
App Store reviews scraper API: Apple reviews for any app, several countries per run, with rating, title, text, author, version and date. $0.10 per 1,000 reviews, first 50 per run free. No API key, no login. JSON, CSV, Excel, API, MCP.
Pricing
from $0.06 / 1,000 app reviews
Rating
0.0
(0)
Developer
Khandji Omar
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
App Store Reviews API — Any App, Any Country
Bulk-download customer reviews from the Apple App Store. No API key, no cookies, no proxies, nothing that expires.
Free tier — 50 reviews on every run
The first 50 reviews of every run are free, on every run you ever make. Point it at your own app and a couple of storefronts and see the real output before you are billed for anything.
Beyond the free 50 you pay $0.0001 per review ($0.10 per 1,000), and only for reviews actually delivered to your dataset.
One guard: the free allowance never covers more than half of a run, so a run returning 20 reviews gets 10 free. That keeps the offer sustainable.
Why this one
Apple keeps a separate review feed for every storefront. A US-only scrape of your app tells you nothing about why your German churn is climbing or what Brazilian users are complaining about.
Most App Store review actors read the US store and stop. This one reads every country you list, in one run, and merges the results into a single clean dataset with a country column.
It also goes straight to Apple's own public feed — the same one the App Store app uses — so there is no HTML to parse, no anti-bot to fight, and no upstream scraper to pay for. That is why the price stays low.
What you pass
| Field | Example |
|---|---|
| Apps | https://apps.apple.com/us/app/whatsapp-messenger/id310633997 or just 310633997 |
| Storefronts | us, gb, fr, de, jp, br, … |
| Max reviews | up to 500 per app per storefront |
Both app forms work, and duplicates are removed before anything is fetched.
Output
One row per review:
{"review_id": "14351748239","app_id": "310633997","app_name": "WhatsApp Messenger","developer": "WhatsApp Inc.","average_rating": 4.6858,"rating_count": 18322718,"country": "fr","rating": 1,"title": "Impossible de se connecter","text": "Depuis la dernière mise à jour …","author": "Pseudo déjà utilisé","app_version": "26.28.75","published_at": "2026-07-26T13:47:42-07:00","helpful_votes": 3,"review_url": "https://itunes.apple.com/us/review?id=310633997","source": "app_store"}
RUN_SUMMARY.json adds a review_signal block — review count, average rating, the 1–5 star distribution, the share of negative reviews, and which storefronts answered — so an LLM agent gets the picture without reading the dataset.
Good to know
- Hard cost cap. Set
maxTotalChargeUsdand the run can never bill above it. - App metadata is free. Name, developer and lifetime rating are attached to every row and never billed.
- Apple's own limit is 500 recent reviews per storefront. Listing more countries is how you get more data — which is exactly what this Actor is built for.
- A failed app is never billed. It is reported in
source_errorsand costs you nothing.
Typical uses
- Track how a release lands market by market
- Mine complaints for the top churn reasons, per country
- Watch a competitor's reviews for feature gaps and outages
- Feed reviews into an LLM for themes, sentiment and support-ticket triage
All input fields
Every field the Start form accepts, so nothing in the schema is undocumented. Most runs only need the fields already covered above — these are the rest, including advanced/bring-your-own-data options.
includeAppMetadata(Include app name and lifetime rating) — Attach the app name, developer and lifetime average rating to every row. Never billed.maxReviewsPerApp(Max reviews per app and storefront) — Apple serves at most 500 recent reviews per storefront (10 pages of 50).
How to use it in 3 steps
- Click Try for free and fill in Apps (
apps). - Optional: adjust the other fields; every one has a description and a sensible default.
- Click Start and download the results as JSON, CSV or Excel, or read them from the API.
Use cases
- App sentiment
- Competitor research
How much does it cost?
$0.0001 per app review ($0.10 per 1,000) — you pay only for results actually delivered.
| Results | Cost |
|---|---|
| 100 | $0.01 |
| 1,000 | $0.10 |
| 10,000 | $1.00 |
- Failed inputs (private, deleted or invalid) are never charged.
maxTotalChargeUsdsets a hard spending cap for every run.- Apify's free plan includes monthly platform credit to try it.
The Pricing tab of this Actor is always the authority.
Use it from code (API)
Every Apify Actor is an API. Start a run and read the results with one call.
Python
from apify_client import ApifyClientclient = ApifyClient("<YOUR_APIFY_TOKEN>")run = client.actor("om_kh/appstore-reviews-api").call(run_input={"apps": ["https://apps.apple.com/us/app/whatsapp-messenger/id310633997"], "countries": ["us", "gb", "fr"], "maxReviewsPerApp": 200, "includeAppMetadata": True})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item)
JavaScript
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' });const run = await client.actor('om_kh/appstore-reviews-api').call({"apps": ["https://apps.apple.com/us/app/whatsapp-messenger/id310633997"],"countries": ["us","gb","fr"],"maxReviewsPerApp": 200,"includeAppMetadata": true});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
One HTTP call (cURL) — runs the Actor and returns the dataset in the same response:
curl -X POST "https://api.apify.com/v2/acts/om_kh~appstore-reviews-api/run-sync-get-dataset-items?token=<YOUR_APIFY_TOKEN>" \-H "Content-Type: application/json" \-d '{"apps": ["https://apps.apple.com/us/app/whatsapp-messenger/id310633997"], "countries": ["us", "gb", "fr"], "maxReviewsPerApp": 200, "includeAppMetadata": true}'
Integrations: n8n, Make, Zapier, Google Sheets
- n8n — the official Apify node, operation Run Actor and get dataset, Actor
om_kh/appstore-reviews-api. - Make — Apify › Run an Actor, then Apify › Get Dataset Items.
- Zapier — Apify › Run Actor; map the dataset items into your next step.
- Google Sheets, webhooks, Slack — add an integration from the Integrations tab of this Actor.
- Schedules — run it every hour or day from Schedules in Apify Console.
Use it from an AI agent (MCP and x402)
Connect Claude Desktop, Cursor, VS Code or any MCP client to Apify's MCP server
at https://mcp.apify.com and add this Actor, om_kh/appstore-reviews-api, as a tool — the
agent passes the same JSON as the run input and gets the dataset back.
AI agents that pay with x402 can run it too, without an Apify account: the Actor charges only per result delivered, so an agent pays exactly for what it gets.
FAQ
Is it legal to scrape App Store? This Actor collects only publicly available App Store data and never logs in. You are responsible for how you use it; check App Store's terms and your local law (GDPR, CCPA) if you store personal data, and ask a lawyer if unsure.
Do I need an account, cookies or an API key? No. You only need an Apify account to run it.
What data do I get? Structured records. Download it as JSON, CSV, Excel, HTML or XML, or read it from the API.
Am I charged when something fails? No. An input that fails is listed with its reason in the run summary and is never charged.
Can I run it on a schedule? Yes. Create a schedule in Apify Console (hourly, daily, weekly) and connect webhooks, Google Sheets, Slack, n8n, Make or Zapier.
Can I use it from Python, JavaScript or an AI agent?
Yes: see the code samples above, or connect AI agents through MCP with the appstore_reviews tool.
Your feedback
Did this Actor save you time? A short review on the Reviews tab helps other people find it, and every review is read. Something missing or broken? Open an issue on the Issues tab: it is answered and fixed fast.