App Store Reviews Scraper & API: past the 500-review limit, with developer replies

App Store Reviews Scraper is an Apify Actor that extracts Apple App Store reviews for any app and country — star rating, title, text, date, author and the developer's reply — and goes past the 500-review limit of Apple's public review feed, at $0.08 per 1,000 reviews. It works as an App Store reviews API: call it from code, schedule it to monitor new reviews, or let AI agents use it through Apify's MCP server.

Run it on Apify $0.08 per 1,000 reviews ($0.05–$0.07 on paid plans)

Quick facts

Example input

{
  "apps": [
    "https://apps.apple.com/us/app/spotify-music-and-podcasts/id324684580",
    "570060128"
  ],
  "countries": [
    "us",
    "gb"
  ],
  "maxReviewsPerApp": 1000,
  "sort": "newest"
}

Run it from code

REST API (cURL)

curl -X POST "https://api.apify.com/v2/acts/automationnation~app-store-reviews-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"apps": ["https://apps.apple.com/us/app/spotify-music-and-podcasts/id324684580", "570060128"], "countries": ["us", "gb"], "maxReviewsPerApp": 1000, "sort": "newest"}'

Python

# pip install apify-client
from apify_client import ApifyClient

client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("automationnation/app-store-reviews-scraper").call(run_input={
  "apps": [
    "https://apps.apple.com/us/app/spotify-music-and-podcasts/id324684580",
    "570060128"
  ],
  "countries": [
    "us",
    "gb"
  ],
  "maxReviewsPerApp": 1000,
  "sort": "newest"
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item.get("appName"), item.get("rating"), item.get("date"), item.get("title"))

JavaScript / Node.js

// npm install apify-client
import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('automationnation/app-store-reviews-scraper').call({
  "apps": [
    "https://apps.apple.com/us/app/spotify-music-and-podcasts/id324684580",
    "570060128"
  ],
  "countries": [
    "us",
    "gb"
  ],
  "maxReviewsPerApp": 1000,
  "sort": "newest"
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
for (const item of items) console.log(item.appName, item.rating, item.date, item.title);

Use it with AI agents (MCP)

Connect AI assistants such as Claude, ChatGPT or Cursor through Apify's MCP server. Hosted URL:

https://mcp.apify.com?tools=automationnation/app-store-reviews-scraper

Or run it locally in Claude Desktop / Cursor:

{
  "mcpServers": {
    "app-store-reviews-scraper": {
      "command": "npx",
      "args": [
        "-y",
        "@apify/actors-mcp-server",
        "--tools",
        "automationnation/app-store-reviews-scraper"
      ],
      "env": {
        "APIFY_TOKEN": "YOUR_APIFY_TOKEN"
      }
    }
  }
}

FAQ

Why do most App Store scrapers stop at 500 reviews?

Apple's public RSS review feed only returns the newest 500 reviews per country (10 pages of 50). App Store Reviews Scraper reads the review API that apps.apple.com itself uses, which pages much further back, and keeps the feed as a fallback.

Does it include developer responses?

Yes. Every review the developer answered has replyText and replyDate.

Is there an official App Store reviews API?

Apple's App Store Connect API returns reviews only for apps in your own developer account. To read reviews of any app, including competitors', App Store Reviews Scraper returns the public reviews shown on the App Store through Apify's REST API, clients, integrations and MCP.

How much does it cost?

$0.08 per 1,000 reviews on Apify's Free plan and $0.05–$0.07 on paid plans. Apps that can't be found and repeats in Only new reviews mode are free.

Can I get reviews from several countries?

Yes. List the storefronts in countries; each app is read once per country and every row has its country.

Step-by-step guide: How to scrape App Store reviews in 2026 (past the 500-review limit)

Open App Store Reviews Scraper on Apify Store