Google Play & App Store Reviews API avatar

Google Play & App Store Reviews API

Pricing

Pay per event

Go to Apify Store
Google Play & App Store Reviews API

Google Play & App Store Reviews API

Collect app metadata and reviews for Google Play apps (and best-effort Apple App Store apps) by URL or id, in one schema. Filter by country, language and date. $0.30 per 1,000 reviews, no reviewer identity, MCP-ready.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Nguyen Vu Trung Hieu

Nguyen Vu Trung Hieu

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Google Play & App Store Reviews API: Scrape App Reviews in One Schema

Collect app metadata and reviews for Google Play and Apple App Store apps by package name, URL or id, in one clean schema, with filters for country, language and date. Pay per use: $0.15 per 1,000 reviews, app rows and errors are free, reviews carry no reviewer identity.

Both stores share one output schema. Google Play reviews are collected per country and language, App Store reviews per country (up to the 500 most recent, the limit of Apple's public feed).

Use it as a Google Play reviews API, an app reviews dataset builder, or a review export for product research, competitor analysis and ASO keyword mining. Reviews carry no reviewer names, user ids, avatars or profile links: only the review itself.

Use it from an AI agent (MCP)

The same reviews tool is available as a hosted MCP server and HTTP API at api.openkrill.app (tool name get_app_reviews, overview at tools.openkrill.app). On Apify you can also call this Actor from any MCP client through the Apify MCP server.

What you get

For every app, country (and language on Google Play):

  • App row (free): store, app id, title, developer company, average rating, rating count, star histogram (Google Play), current version, category, store URL.
  • Review rows (billed per review): hashed review id, rating, title (Apple), text, date, app version, thumbs-up count (Google Play helpful votes, Apple vote sum), developer reply text and date (Google Play).
  • Error rows: one row per failed item (app not found, store temporarily unavailable, bad input) so one broken app never fails the whole run.

Input

FieldDescription
appsGoogle Play package names or URLs, App Store URLs or numeric ids (310633997 or id310633997). Mixed is fine.
countriesTwo-letter codes, default ["us"].
languagesGoogle Play languages, default ["en"]. Ignored for App Store apps.
maxReviewsPerAppPer app and country (and language on Google Play). Default 100, 0 = metadata only.
sinceDateOnly reviews on or after this date.
sortnewest (default) or relevant.
useApifyProxyRoute through Apify datacenter proxy. Off by default.
noCacheSkip the 6 hour result cache.
{
"apps": ["com.spotify.music", "https://play.google.com/store/apps/details?id=com.duolingo"],
"countries": ["us"],
"languages": ["en"],
"maxReviewsPerApp": 50,
"sinceDate": "2026-09-01"
}

An App Store app uses the same input, for example "https://apps.apple.com/us/app/whatsapp-messenger/id310633997" in apps.

Example output

{ "type": "app", "store": "google-play", "appId": "com.spotify.music", "country": "us", "language": "en",
"title": "Spotify: Music and Podcasts", "developer": "Spotify AB", "ratingAverage": 4.35, "ratingCount": 36396072,
"histogram": { "1": 3698688, "2": 1065977, "3": 1310521, "4": 3104145, "5": 27216725 },
"version": "9.1.36.1948", "category": "Music & Audio", "url": "https://play.google.com/store/apps/details?id=com.spotify.music",
"fetchedAt": "2026-09-30T08:00:21.676Z" }
{ "type": "review", "store": "google-play", "appId": "com.spotify.music", "country": "us", "language": "en",
"reviewId": "f9b694b0e6fff45396b56db63ae2e5b0", "rating": 5, "title": null, "text": "good",
"date": "2026-09-29T07:58:08.476Z", "appVersion": "9.1.84.2231", "thumbsUp": 0, "developerReply": null }

Pricing

Pay per event: $0.15 per 1,000 reviews ($0.00015 per review-returned event, one event per review row). On paid Apify plans the price drops to $0.12 per 1,000 on Silver and $0.10 per 1,000 on Gold and above. App rows and error rows are free, and maxReviewsPerApp: 0 returns app metadata only. Identical input is served from a 6 hour cache; cached reviews are billed the same because you still receive them. The cache is a key-value store named app-reviews-cache in your Apify account, and every run deletes its entries older than 6 hours.

FAQ

Does it scrape the Apple App Store? Yes: app metadata from Apple's public lookup API and reviews from Apple's public reviews feed, up to the 500 most recent per country. If that feed is empty for an app that has ratings, you get the app row and an unavailable error row instead of silent nothing.

Can I get reviews in other languages? Yes on Google Play: set languages (for example ["en", "pt-BR"]) and countries.

Does it include reviewer names? No. Names, user ids, avatars and profile links are never read.

Can I filter by rating? Not yet. Filter by sinceDate, sort (newest or relevant), country and language, and filter rating in your own code.

Limits

  • Apple serves at most 10 pages of 50 reviews (500 most recent) per country.
  • Apple reviews come from Apple's public reviews feed, which has returned no entries at times; in that case you get an unavailable error row for that app instead of silent nothing (see docs/sources-and-failures.md).
  • Google Play does not expose a version for every app ("varies with device"): version is then null.
  • Google Play reviews have no title; Apple reviews have no developer reply in this feed.
  • Public pages only, low request rate. No accounts, no personal data.

Credits

Google Play access follows the approach of the MIT-licensed google-play-scraper by Facundo Olano.