
App Store Reviews Scraper
hipersoft/appstore-reviews-scraper
Scrape user reviews and star ratings from the Apple App Store by app ID or URL. Returns review text, title, rating, author, app version, votes, date and review link across any country. No setup.
Total users
6Monthly users
1Total runs
124Per review scraped
$0.0005Last rebuilt
Oct 28, 2026Overview
Pull user reviews and star ratings straight from the Apple App Store. Give the Actor any set of app IDs or App Store URLs and it returns every review Apple exposes — title, full text, rating, author, app version, helpful-votes, date and a direct link — for any country storefront. Public Apple feeds, so no login and no API key.
Perfect for product feedback analysis, review monitoring, competitor research, sentiment datasets, and release-quality tracking.

What you get

| Field | Notes |
|---|---|
rating |
1–5 stars. |
title, text |
Review headline and full body. |
userName |
Reviewer's nickname. |
appVersion |
App version the review was left on — track quality across releases. |
voteCount, voteSum |
How many found the review helpful. |
updated |
Review date (ISO 8601). |
reviewUrl |
Direct link to the review. |
appName, developer, appAverageRating |
App context (when Include app metadata is on). |
appId, country |
Which app and storefront the review came from. |
Output schema
| Field | Type | Description |
|---|---|---|
appId |
string | Numeric App Store ID of the app the review belongs to. |
appName |
string | Name of the app. |
country |
string | Storefront country code the review was collected from. |
reviewId |
string | Unique identifier of the review. |
userName |
string | Reviewer's public nickname. |
userUrl |
string (URL) | Link to the reviewer's public App Store profile. |
title |
string | Review headline. |
text |
string | Full review body text. |
rating |
integer | Star rating from 1 to 5. |
appVersion |
string | App version the review was left on. |
voteSum |
integer | Net helpful-vote score for the review. |
voteCount |
integer | Number of users who voted on the review's helpfulness. |
updated |
string (ISO date) | Date and time the review was posted or last updated. |
reviewUrl |
string (URL) | Direct link to the review. |
developer |
string | App developer name. |
appAverageRating |
number | Overall average star rating of the app. |
Input
{
"appIds": ["324684580", "https://apps.apple.com/us/app/id310633997"],
"country": "us",
"sortBy": "mostRecent",
"maxReviewsPerApp": 0
}
- appIds — numeric app IDs or full App Store URLs, one per line.
- country — storefront code (
us,gb,de,fr,jp,br, …). Reviews are per-country. - sortBy —
mostRecentormostHelpful. - maxReviewsPerApp — cap per app (
0= all Apple exposes, ~500 per country). - includeAppMeta — attach app name / developer / overall rating to each review.
- maxConcurrency — apps processed in parallel.
- proxyConfiguration — optional; only needed if you hit rate limits.
Output (one row per review)
{
"appId": "324684580",
"appName": "Spotify: Music and Podcasts",
"country": "us",
"reviewId": "14283108814",
"userName": "musiclover42",
"title": "Great app",
"text": "Been using it for years…",
"rating": 5,
"appVersion": "9.1.62",
"voteCount": 3,
"updated": "2026-07-09T11:40:19-07:00",
"reviewUrl": "https://itunes.apple.com/us/review?id=324684580"
}
FAQ
Do I need an API key or Apple account? No. The Actor reads Apple's public review feeds, so there's no login, no API key and no Apple Developer account required — just add app IDs or App Store URLs and run.
How many reviews can I get per app?
Apple's public feed exposes up to ~500 recent reviews per app per country. Set maxReviewsPerApp (0 = all Apple exposes), and run across several country storefronts to go deeper on a popular app.
Is scraping the Apple App Store legal? The Actor collects only publicly available review data from the Apple App Store public feeds — the same content any visitor sees. Public data is generally collectible; use it in line with Apple's terms and applicable law.
Does it collect emails or reviewer contact info? No. It captures the reviewer's nickname, rating, title, text, app version and helpful-votes, but no private contact details such as emails.
What's the output format? One structured JSON row per review, optionally enriched with app metadata (name, developer, overall rating). Export as JSON, CSV or Excel for feedback analysis.
Can I connect this to other apps and services? The App Store Reviews Scraper can be connected with almost any cloud service or web app thanks to integrations on the Apify platform. It works with Make, Zapier, Slack, Airbyte, GitHub, Google Drive and many more, plus the Apify API, JavaScript/Python clients and MCP. Or use webhooks to trigger an action whenever a run finishes.
Track product and brand sentiment across platforms with these companions:
- Trustpilot Reviews Scraper — collect ratings, text and company replies from Trustpilot.
- Google Maps Reviews Scraper — pull reviewer names, ratings and text from Google Maps places.
- Google Maps Scraper — find local businesses by keyword and location for market research.
- Website Content Crawler — extract clean page text for building review or NLP datasets.
Notes
Apple's public review feed exposes up to ~500 recent reviews per app per country
— to go deeper on a popular app, run it across several country storefronts. Only
publicly available review data is collected.
Input
| Field | Type | Description |
|---|---|---|
appIdsApp IDs or URLs | array | Apple App Store app IDs (e.g. "324684580") or full app URLs (e.g. "https://apps.apple.com/us/app/spotify/id324684580"). One per line. |
appUrlsApp URLs (advanced) | array | Alternative to "App IDs": a request list of {"url": "..."} objects. |
countryCountry | string | Two-letter App Store country code — reviews are per-storefront (e.g. us, gb, de, fr, jp, br). Default: "us" |
sortBySort by | string · mostRecent, mostHelpful | Review order. Default: "mostRecent" |
maxReviewsPerAppMax reviews per app | integer | Cap reviews fetched per app (0 = all Apple exposes, up to ~500 per country). Default: 0 |
includeAppMetaInclude app metadata | boolean | Look up the app name, developer and overall rating and attach them to each review. Default: true |
maxConcurrencyConcurrency | integer | How many apps to process in parallel. Default: 5 |
proxyConfigurationProxy configuration | object | Proxy configuration. Leave the default — it is tuned for reliable results. Default: {"useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"]} |
API
curl -X POST "https://api.apify.com/v2/acts/hipersoft~appstore-reviews-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"appIds": [
"324684580"
]
}'from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("hipersoft/appstore-reviews-scraper").call(run_input={
"appIds": [
"324684580"
]
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('hipersoft/appstore-reviews-scraper').call({
"appIds": [
"324684580"
]
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);Pricing
| Event | Price | Paid plans from |
|---|---|---|
| Review scraped One App Store review scraped with rating, text, author, app version, votes and date | $0.0005 | $0.0005 |
You pay only for what the run returns. Set a maximum cost per run and it stops cleanly at that limit.
Related scrapers
Carousell Scraper
Scrape Carousell search listings: title, price, condition, location, seller, photo and URL. Requires your own Carousell app token.
242 runs · 2 users · $0.003 / listing scrapedGoogle Flights Scraper
Scrape flight options from Google Flights by route and date: airline, flight number, departure and arrival times, duration, stops, layovers and price. One-way or round-trip, any cabin and currency. For travel and price monitoring.
216 runs · 4 users · $0.004 / flight scrapedPinterest Scraper
Search Pinterest and scrape pins (title, description, destination link, image, pinner, board, saves), boards and users. Fast. For visual research, e-commerce, trend and marketing analysis.
151 runs · 2 users · $0.0034 / item scrapedGoogle Trends Scraper
Scrape Google Trends for any keyword: interest over time, related and rising queries, and interest by region. Per country and timeframe. For SEO, market and trend research. No setup.
139 runs · 6 users · $0.001 / keyword scrapedAliExpress Product Search Scraper
Search AliExpress by keyword and export one clean row per product — title, sale price, original price, image and product URL. Export to JSON, CSV or Excel.
135 runs · 3 users · $0.003 / product scrapedGoogle Maps Scraper
Search Google Maps and scrape places: name, category, full address, city, coordinates, rating, phone, website, Place ID and map link. Fast browser-free via Google's internal endpoint, no setup. For local lead generation and market research.
130 runs · 2 users · $0.005 / place scrapedSend the site and the fields. We build it and you get it first.