App Reviews Scraper (App Store + Google Play) avatar

App Reviews Scraper (App Store + Google Play)

Pricing

from $0.35 / 1,000 reviews

Go to Apify Store
App Reviews Scraper (App Store + Google Play)

App Reviews Scraper (App Store + Google Play)

Reviews from the Apple App Store and Google Play in one actor: rating, title, text, author, app version, date, helpful votes and developer replies. Newest, most helpful or by rating, any country. No API key.

Pricing

from $0.35 / 1,000 reviews

Rating

0.0

(0)

Developer

Tarik Cerkezovic

Tarik Cerkezovic

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Security

Limited permissions

Share

One actor for both app stores. Give it App Store URLs or IDs and Google Play URLs or package names, in any mix, and get every review as a clean item: star rating, title (App Store), text, author, app version, date, helpful votes and the developer's reply (Google Play). Newest first, most helpful, or by rating; any store country; optional single-star filter for pulling just the 1-star or 5-star reviews.

No API key, no login. Built for product teams, app-store optimisation, competitor monitoring, sentiment analysis and support triage.

What you get

FieldDescription
store, appId, appName, appUrl, developer, appRating, appRatingCount, countryThe app, repeated on every item
reviewId, positionStable review ID and rank in the requested order
rating, title, textThe review. Titles exist on the App Store only
author, authorUrlReviewer display name, and profile URL on the App Store
version, date, helpfulCountApp version reviewed, ISO date, helpful votes
developerReply, developerReplyDateGoogle Play developer response, when any
error, errorMessageOnly on app-level failures

Sample output

{
"store": "googleplay",
"appId": "com.facebook.katana",
"appName": "Facebook",
"appUrl": "https://play.google.com/store/apps/details?id=com.facebook.katana&hl=en&gl=us",
"developer": "Meta Platforms, Inc.",
"appRating": 4.56,
"appRatingCount": 187093848,
"country": "us",
"reviewId": "1f9ddd3d-6847-4398-9b72-160b4682437f",
"position": 1,
"author": "Char Cross",
"rating": 1,
"text": "Reported to Facebook three times that since they moved the marketplace...",
"version": "578.0.0.40.75",
"date": "2026-09-17T09:14:31.000Z",
"helpfulCount": 16650,
"input": "com.facebook.katana",
"fetchedAt": "2026-11-05T17:00:00.000Z"
}

Input

FieldTypeDefaultWhat it does
appsarray of stringsrequiredApp Store URLs or numeric IDs; Google Play URLs or package names.
maxReviewsPerAppinteger200Cap per app. 0 takes all. Apple's public feed stops at 500 per app and country; Google Play has no cap.
sortBynewest, most_helpful, ratingnewestOrder. rating is Google Play only; the App Store falls back to most helpful.
countrystringusStore country. A country in the URL wins.
languagestringenGoogle Play interface language.
ratingFilter1 to 5noneKeep only reviews with this rating. Google Play filters server-side; the App Store feed is filtered after download.
maxConcurrencyinteger3Apps in parallel.
proxyConfigurationobjectApify datacenter proxyProxy for all requests.
residentialFallbackbooleantrueRetry a blocked app through residential proxies, only on a detected block.

Minimal input:

{ "apps": ["id284882215", "com.facebook.katana"], "maxReviewsPerApp": 500 }

Errors

errorMeaningCharged?
INVALID_INPUTNot an App Store or Google Play app referenceno
APP_NOT_FOUNDNo such app in that store and countryno
NO_REVIEWSThe app has no reviews there (or none with the chosen rating)no
BLOCKEDThe store refused every proxy triedno
FETCH_FAILEDNetwork or parsing failureno

Pricing

Pay per event: a small fixed amount per review item, plus Apify platform usage. Error items are free. Set a maximum total charge on the run to cap spend.

Notes

  • App Store reviews come from Apple's public customer-reviews feed, which returns the 500 most recent (or most helpful) reviews per country. For older reviews, run the actor regularly and deduplicate on reviewId.
  • Google Play pages through its review list with a continuation token, so 0 really means all reviews, which can be hundreds of thousands for big apps. Use maxReviewsPerApp or a run charge limit.
  • Dates are ISO 8601 in UTC. App Store versions and helpful votes are as reported by the feed.

Using it from code

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('serentity/app-reviews-scraper').call({ apps: ['com.facebook.katana'], maxReviewsPerApp: 1000, ratingFilter: 1 });
const { items } = await client.dataset(run.defaultDatasetId).listItems();

Reviews are public content on the store pages. The actor collects the public display name a reviewer chose and nothing else about them. Use it in line with the stores' terms and applicable data protection law.