# App Store Reviews Scraper — Apple Ratings & Feedback (No Key) (`ninhothedev/app-store-reviews-scraper`) Actor

$0.08/1K 🔥 Fast App Store reviews scraper! Ratings, review text, author, version & date from any iOS app — no key. JSON, CSV, Excel or API in seconds. Drop app IDs & pull thousands of reviews for ASO, reputation & sentiment ⚡

- **URL**: https://apify.com/ninhothedev/app-store-reviews-scraper.md
- **Developed by:** [ninhothedev](https://apify.com/ninhothedev) (community)
- **Categories:**
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.08 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## App Store Reviews Scraper 🍏⭐

**Scrape Apple App Store customer reviews at scale — ratings, review text, app version, author, helpfulness votes and dates — with no API key and no login.** Datacenter-proxy-friendly, fast, and cheap.

Point it at one or more numeric App Store app IDs, pick a storefront (country), and get clean, structured JSON/CSV/Excel review data ready for ASO, reputation monitoring and sentiment analysis.

***

### ✨ What it does

- 📥 Pulls the **most-recent customer reviews** for any public App Store app.
- ⭐ Extracts **star rating (1–5)**, **title**, **full review text**, **app version**, **author**, **helpfulness votes** and the **review date**.
- 🌍 Works across **any App Store storefront** (`us`, `gb`, `de`, `fr`, `jp`, …) — reviews are localized per country.
- 🔑 **No API key, no scraping account, no login.** Uses Apple's public iTunes RSS feed.
- 🏢 **Datacenter-friendly** — runs cheaply without residential proxies.
- 🧾 One dataset item **per review** — export to JSON, CSV, Excel or hit the API.

### 💸 Pricing — cheap on purpose

Priced to **undercut** the alternatives at roughly **$0.5 per 1,000 reviews**. Reviews are lightweight, so most runs cost a few cents. No proxy surcharge because it runs on datacenter IPs.

### 🚀 Quick start

1. Open the Actor and set your input.
2. Add one or more **App IDs** (the digits after `id` in an App Store URL — e.g. `284882215` for Facebook).
3. Choose a **country** storefront and a **max reviews** cap.
4. Run. Download results from the **Dataset** tab.

#### Example input

```json
{
  "mode": "reviews",
  "appIds": ["284882215", "310633997"],
  "country": "us",
  "maxItems": 200
}
```

> Tip: find an app's ID by opening its App Store page — the URL ends with `/id284882215`.

### 📤 Output

Each review is one dataset record:

```json
{
  "app_id": "284882215",
  "country": "us",
  "author": "JohnnyB-OU812",
  "rating": 5,
  "title": "Great app",
  "review": "Really enjoying it lately.",
  "version": "570.0.0",
  "vote_sum": 3,
  "vote_count": 4,
  "review_id": "14314134314",
  "date": "2026-07-17T05:46:44-07:00",
  "scraped_at": "2026-07-19T12:00:00+00:00"
}
```

| Field | Description |
|-------|-------------|
| `app_id` | Numeric App Store app ID |
| `country` | Storefront the review was read from |
| `author` | Reviewer display name |
| `rating` | Star rating 1–5 (integer) |
| `title` | Review headline |
| `review` | Full review body (capped at 4,000 chars) |
| `version` | App version the review was left on |
| `vote_sum` / `vote_count` | Helpfulness votes |
| `review_id` | Apple's unique review ID |
| `date` | Review timestamp (ISO 8601) |
| `scraped_at` | When the row was collected (UTC ISO 8601) |

### 🎯 Use cases

- **ASO (App Store Optimization):** mine keywords, feature requests and pain points from real users.
- **Reputation management:** track sentiment shifts after each release and catch 1-star spikes early.
- **Product feedback:** feed structured reviews into your roadmap and support triage.
- **Sentiment analysis:** pipe review text into your NLP/LLM pipeline for scoring and topic modeling.
- **Competitor research:** watch what users love and hate about rival apps.

### 🔎 How it works

Apple exposes a public `customerreviews` RSS JSON feed per app. This Actor fetches up to ~10 pages (~500 most-recent reviews) per app using a genuine Chrome fingerprint (with a stdlib fallback), skips the leading app-info entry, and maps each review into a flat record. No key, no auth, no browser.

> **Note on coverage:** Apple's public feed returns up to ~500 most-recent reviews per storefront per app. For deeper historical coverage, run periodically and dedupe on `review_id`.

### ⚙️ Input reference

| Field | Type | Default | Description |
|-------|------|---------|-------------|
| `mode` | select | `reviews` | What to scrape (currently `reviews`). |
| `appIds` | array | `["284882215","310633997"]` | Numeric App Store app IDs. |
| `country` | string | `us` | Two-letter storefront code. |
| `maxItems` | integer | `200` (max `500`) | Max total reviews across all apps. |

### 📊 App Store Reviews Scraper vs. alternatives

| | This Actor | Official App Store Connect API | Manual copy-paste |
|---|---|---|---|
| API key / login | ❌ none | ✅ required (owner only) | ❌ none |
| Any app (not just yours) | ✅ | ❌ | ✅ |
| Structured export | ✅ JSON/CSV/Excel | ⚠️ raw API | ❌ |
| Datacenter-friendly cost | ✅ | — | — |
| Setup time | seconds | hours | painful |

### 🔗 Related Actors by ninhothedev

- 🍏 [App Store Scraper](https://apify.com/ninhothedev/app-store-scraper) — app metadata, ratings & listings
- 🤖 [Google Play Scraper](https://apify.com/ninhothedev/google-play-scraper) — Android app data & reviews
- 🎮 [Steam Reviews Scraper](https://apify.com/ninhothedev/steam-reviews-scraper) — PC game reviews
- ⭐ [Trustpilot Scraper](https://apify.com/ninhothedev/trustpilot-scraper) — business reviews & ratings

### ❓ FAQ

**Do I need an Apple developer account or API key?** No. This uses Apple's public RSS feed.

**How many reviews can I get per app?** Up to ~500 most-recent per storefront. Query multiple `country` codes for more.

**Can I get reviews for competitor apps?** Yes — any public app ID works.

**Is this legal?** It only reads publicly available review data. You are responsible for complying with Apple's terms and applicable laws.

***

**Keywords:** app store reviews scraper, apple app store reviews, ios app reviews api, aso scraper, app rating scraper, itunes reviews, app reputation monitoring, app sentiment analysis, mobile app feedback, customer reviews scraper.

# Actor input Schema

## `mode` (type: `string`):

What to scrape. Currently 'reviews' fetches customer reviews for the given App Store app IDs.

## `appIds` (type: `array`):

List of numeric Apple App Store app IDs (the digits after 'id' in an App Store URL, e.g. 284882215 for Facebook). Reviews are fetched for each ID.

## `country` (type: `string`):

Two-letter App Store storefront code to read reviews from (e.g. 'us', 'gb', 'de', 'fr'). Reviews are localized per storefront.

## `maxItems` (type: `integer`):

Maximum total number of reviews to scrape across all app IDs. Apple exposes up to ~500 most-recent reviews per app.

## Actor input object example

```json
{
  "mode": "reviews",
  "appIds": [
    "284882215",
    "310633997"
  ],
  "country": "us",
  "maxItems": 200
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "appIds": [
        "284882215",
        "310633997"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("ninhothedev/app-store-reviews-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "appIds": [
        "284882215",
        "310633997",
    ] }

# Run the Actor and wait for it to finish
run = client.actor("ninhothedev/app-store-reviews-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "appIds": [
    "284882215",
    "310633997"
  ]
}' |
apify call ninhothedev/app-store-reviews-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,ninhothedev/app-store-reviews-scraper"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/Iy6BN5AeLnNkHrsGV/builds/WYvTWT2nRvoB4xly1/openapi.json
