🦖 TinyRex Data Toolspractical guides for web data APIs

How to scrape Apple App Store reviews for any app and country (CSV, JSON, API)

Updated 2026-10-08 · Tool used: Apple App Store Reviews Scraper - Ratings & App Data on Apify · Price: $0.08 per 1,000 reviews ($1 per 1,000 apps in app details mode); filtered and already-seen reviews are free

App Store Connect only shows reviews of your own apps, and the App Store website shows a handful per page. For competitor research, product feedback analysis or review monitoring you need the reviews of any app, per country, in a spreadsheet or JSON.

This guide shows how to pull reviews for any iPhone/iPad app by URL, ID or name, across one or many countries, filter them by stars, date or keywords, and schedule daily monitoring. It uses Apple's official public customer reviews feed and the iTunes Lookup API; reviewer names are not collected.

Open Apple App Store Reviews Scraper on Apify →

Steps

  1. Add apps as App Store URLs, numeric IDs or app names.
  2. Pick countries (e.g. us, gb, de or all) and the sort order (both = most recent + most helpful).
  3. Optionally keep only 1 to 2 star reviews, reviews since a date or reviews mentioning words like crash or subscription, then export to CSV or feed them to an LLM for sentiment analysis.

Example input

{
  "apps": [
    "https://apps.apple.com/us/app/duolingo-language-lessons/id570060128",
    "Notion"
  ],
  "countries": [
    "us",
    "gb",
    "de"
  ],
  "sortBy": "both",
  "maxRating": 2,
  "reviewsSince": "2026-09-01"
}

Example output (one item, shortened)

{
  "type": "review",
  "appId": "570060128",
  "appName": "Duolingo: Language Lessons",
  "developer": "Duolingo",
  "country": "de",
  "sort": "mostrecent",
  "reviewId": "14635400058",
  "rating": 4,
  "title": "Sehr gut",
  "text": "Ich finde Duolingo ist wirklich super aber ich habe nicht die 5 Sterne vergeben,da es cool wäre jetzt zum Beispiel im Englisch Modus mehr Grammatik zu lernen als Vokabeln.Trotzdem empfehle ich es jedem der etwas hilfe in...",
  "appVersion": "7.142.0",
  "date": "2026-10-06T18:47:19.000Z",
  "voteSum": 0,
  "voteCount": 0,
  "scrapedAt": "2026-10-07T23:40:09.513Z"
}

Every run's dataset can be downloaded as JSON, CSV, Excel, XML or HTML from the Apify Console, or via https://api.apify.com/v2/datasets/<datasetId>/items?format=csv.

Run it from code

Python

from apify_client import ApifyClient  # pip install apify-client

client = ApifyClient("<YOUR_APIFY_TOKEN>")
run_input = {
  "apps": [
    "https://apps.apple.com/us/app/duolingo-language-lessons/id570060128",
    "Notion"
  ],
  "countries": [
    "us",
    "gb",
    "de"
  ],
  "sortBy": "both",
  "maxRating": 2,
  "reviewsSince": "2026-09-01"
}
run = client.actor("tinyrex/app-store-reviews-scraper").call(run_input=run_input)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

JavaScript / Node.js

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

const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('tinyrex/app-store-reviews-scraper').call({
  "apps": [
    "https://apps.apple.com/us/app/duolingo-language-lessons/id570060128",
    "Notion"
  ],
  "countries": [
    "us",
    "gb",
    "de"
  ],
  "sortBy": "both",
  "maxRating": 2,
  "reviewsSince": "2026-09-01"
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

curl (no SDK)

# Runs the actor and returns the results directly (CSV here; use format=json for JSON)
curl -X POST "https://api.apify.com/v2/acts/tinyrex~app-store-reviews-scraper/run-sync-get-dataset-items?format=csv" \
  -H "Authorization: Bearer $APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"apps": ["https://apps.apple.com/us/app/duolingo-language-lessons/id570060128", "Notion"], "countries": ["us", "gb", "de"], "sortBy": "both", "maxRating": 2, "reviewsSince": "2026-09-01"}' > results.csv

Get your API token in Apify Console → Settings → API & Integrations. The free Apify plan includes monthly credit that is enough to try this.

Use it from an AI agent (MCP)

The Apify MCP server exposes this actor as a tool for Claude, Cursor, VS Code, n8n and other MCP clients. Add this to your client's MCP config (or use the OAuth flow at mcp.apify.com instead of a token):

{
  "mcpServers": {
    "apify": {
      "url": "https://mcp.apify.com?tools=tinyrex/app-store-reviews-scraper",
      "headers": {
        "Authorization": "Bearer <YOUR_APIFY_TOKEN>"
      }
    }
  }
}

Then ask in plain language, e.g. "Scrape app store reviews for this list and give me a table".

Pricing

Pay per result: $0.08 per 1,000 reviews ($1 per 1,000 apps in app details mode); filtered and already-seen reviews are free. You can cap the cost of every run in the run options.

FAQ

Does Apple have an App Store reviews API?

Apple publishes a public customer reviews RSS/JSON feed per app and country. The actor uses it plus the iTunes Search/Lookup API, so there is no browser and no login.

How many reviews can I get per app?

Apple's feed returns up to 500 reviews per app, country and sort order. Combine both sort orders, several countries and a daily monitoring schedule to build a full history over time.

Is it GDPR-friendly?

Reviewer names and profile links are intentionally not collected, only the review content, rating, version and date.

Try it on Apify →

More guides