App Store Reviews Scraper
Pricing
Pay per usage
App Store Reviews Scraper
Scrape App Store reviews and app details from Apple iTunes. Extract ratings, review text, authors, versions. Export to JSON, CSV, Excel.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Glass Ventures
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
9 hours ago
Last modified
Categories
Share
Scrape customer reviews and app details from the Apple App Store using public iTunes RSS feeds and API.
What does App Store Reviews Scraper do?
App Store Reviews Scraper extracts customer reviews and app metadata from Apple's App Store. It uses Apple's public RSS feeds and iTunes API to reliably gather review text, ratings, author information, app versions, and more — without needing login credentials.
The actor supports three input methods: direct App Store URLs, numeric App IDs, and search terms to discover apps. It handles pagination automatically, fetching up to 500 reviews per app (Apple's RSS feed limit of 10 pages with 50 reviews each).
Whether you are monitoring customer feedback for your own app, analyzing competitor reviews, or building a dataset for sentiment analysis, this actor delivers structured data ready for export.
Use Cases
- App developers — Monitor customer feedback, track ratings across versions, and identify common issues in reviews
- Market researchers — Analyze competitor apps, compare ratings, and study user sentiment across app categories
- Data analysts — Build review datasets for NLP, sentiment analysis, or trend detection
- Product managers — Track feature requests and bug reports from user reviews at scale
Features
- Scrape reviews by App Store URL, App ID, or search term
- Extract full review data: title, text, rating, author, version, date, vote count
- Extract app metadata: name, developer, price, rating, genre, release date
- Support for 7 country stores (US, UK, CA, AU, DE, FR, JP)
- Automatic pagination through all available review pages
- Deduplication of reviews across pages
- Proxy support with automatic rotation
- Handles large datasets with configurable limits
- Exports to JSON, CSV, Excel, or connect via API
How much will it cost?
Apple's iTunes API and RSS feeds are lightweight and fast. This actor uses minimal compute resources.
| Results | Estimated Cost |
|---|---|
| 100 | ~$0.01 |
| 1,000 | ~$0.05 |
| 10,000 | ~$0.40 |
| Cost Component | Per 1,000 Results |
|---|---|
| Platform compute | ~$0.03 |
| Proxy (datacenter) | ~$0.02 |
| Total | ~$0.05 |
How to use
- Go to the App Store Reviews Scraper page on Apify Store
- Click "Start" or "Try for free"
- Enter App Store URLs, App IDs, or search terms
- Select your country store and set the maximum number of reviews
- Click "Start" and wait for the results
Input parameters
| Parameter | Type | Description | Default |
|---|---|---|---|
| startUrls | array | App Store URLs to scrape | - |
| appIds | array | Apple numeric App IDs | - |
| searchTerms | array | Search queries to find apps | - |
| country | string | Country store code (us, gb, ca, au, de, fr, jp) | us |
| maxItems | number | Max reviews to scrape | 100 |
| proxyConfig | object | Proxy settings | Apify Proxy |
Output
The actor produces two types of records in the dataset:
Review record
{"reviewId": "10987654321","title": "Great game!","text": "This game is really fun and addictive. Love the new levels!","rating": 5,"author": "GameFan123","version": "1.265.0","date": "2024-12-15T10:30:00-07:00","voteCount": 3,"appId": "553834731","appName": "Candy Crush Saga","url": "https://apps.apple.com/app/id553834731","dataType": "review","scrapedAt": "2024-12-20T14:22:00.000Z"}
App record
{"appName": "Candy Crush Saga","appId": "553834731","developer": "King","price": "Free","rating": 4.7,"ratingCount": 3245678,"description": "Start playing Candy Crush Saga today...","genres": ["Games", "Puzzle", "Entertainment"],"releaseDate": "2012-11-14T08:00:00Z","currentVersion": "1.265.0","url": "https://apps.apple.com/us/app/candy-crush-saga/id553834731","dataType": "app","scrapedAt": "2024-12-20T14:22:00.000Z"}
| Field | Type | Description |
|---|---|---|
| reviewId | string | Unique Apple review identifier |
| title | string | Review title or app name |
| text | string | Full review content |
| rating | number | Star rating (1-5) or average app rating |
| author | string | Review author name |
| version | string | App version reviewed |
| date | string | Review date (ISO 8601) |
| voteCount | number | Helpful votes on the review |
| appId | string | Apple App Store numeric ID |
| appName | string | Name of the app |
| developer | string | App developer name |
| price | string | App price |
| ratingCount | number | Total number of ratings |
| description | string | App description |
| genres | array | App genre categories |
| releaseDate | string | Original release date |
| currentVersion | string | Latest app version |
| dataType | string | Record type: "review" or "app" |
| scrapedAt | string | ISO 8601 scrape timestamp |
Integrations
Connect App Store Reviews Scraper with other tools:
- Apify API — REST API for programmatic access
- Webhooks — get notified when a run finishes
- Zapier / Make — connect to 5,000+ apps
- Google Sheets — export directly to spreadsheets
API Example (Node.js)
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_TOKEN' });const run = await client.actor('YOUR_USERNAME/app-store-reviews-scraper').call({appIds: ['553834731'],country: 'us',maxItems: 100,});const { items } = await client.dataset(run.defaultDatasetId).listItems();
API Example (Python)
from apify_client import ApifyClientclient = ApifyClient('YOUR_TOKEN')run = client.actor('YOUR_USERNAME/app-store-reviews-scraper').call(run_input={'appIds': ['553834731'],'country': 'us','maxItems': 100,})items = client.dataset(run['defaultDatasetId']).list_items().items
API Example (cURL)
curl "https://api.apify.com/v2/acts/YOUR_USERNAME~app-store-reviews-scraper/runs" \-X POST \-H "Content-Type: application/json" \-H "Authorization: Bearer YOUR_TOKEN" \-d '{"appIds": ["553834731"], "country": "us", "maxItems": 100}'
Tips and tricks
- Start with a small
maxItems(10-20) to test before running large scrapes - Apple's RSS feed provides a maximum of ~500 reviews per app (10 pages x 50 reviews)
- Use the
countryparameter to get reviews from specific regional stores - Combine
appIdsandsearchTermsin a single run to scrape multiple apps - App details are automatically fetched alongside reviews
FAQ
Q: Does this actor require login credentials? A: No. It uses Apple's public RSS feeds and iTunes API, which are freely accessible.
Q: How fast is the scraping? A: Approximately 200-500 reviews per minute, depending on proxy and concurrency settings.
Q: What is the maximum number of reviews I can get per app? A: Apple's RSS feed provides up to ~500 reviews per app (10 pages). This is an Apple-side limitation.
Q: What should I do if I get blocked? A: Apple's public APIs rarely block requests. If you encounter issues, try enabling Apify Proxy or reducing concurrency.
Q: Can I get reviews in different languages?
A: Yes, use the country parameter to target a specific store. Reviews will be in the local language of that store.
Is it legal to scrape the App Store?
Web scraping of publicly available data is generally legal based on precedents like the LinkedIn v. HiQ Labs case. This actor only accesses Apple's public RSS feeds and iTunes API, which are designed for public consumption. Always review and respect Apple's Terms of Service. For more information, see Apify's blog on web scraping legality.
Limitations
- Maximum ~500 reviews per app due to Apple's RSS feed pagination limit
- Reviews are sorted by most recent only (Apple RSS feed limitation)
- Some older reviews may not be available through the RSS feed
- Search API returns a maximum of 200 apps per query
Changelog
- v0.1 (2026-04-23) — Initial release