App Store & Google Play Scraper: Apps, Reviews, Search, Charts avatar

App Store & Google Play Scraper: Apps, Reviews, Search, Charts

Pricing

from $1.00 / 1,000 app scrapeds

Go to Apify Store
App Store & Google Play Scraper: Apps, Reviews, Search, Charts

App Store & Google Play Scraper: Apps, Reviews, Search, Charts

Scrape Google Play and the Apple App Store in one actor: full app details (ratings, installs, price, developer, version, screenshots), reviews with replies, keyword search results, top charts by category & country, and developer portfolios. Fast, no proxies needed.

Pricing

from $1.00 / 1,000 app scrapeds

Rating

0.0

(0)

Developer

PulseData

PulseData

Maintained by Community

Actor stats

0

Bookmarked

4

Total users

0

Monthly active users

16 hours ago

Last modified

Features

Limited permissions

Share

App Store & Google Play Scraper

Scrape Google Play and the Apple App Store in one actor: full app details, user reviews, keyword search results, top charts per category and country, and every app of a developer. You pay $0.001 per app and $0.0002 per review, so 1,000 apps cost $1 and 1,000 reviews cost $0.20.

Features

  • Scrape Google Play app details: developer email, website and address, rating histogram, installs, price, in-app purchases, content rating and version.
  • Scrape Apple App Store app details: bundle ID, developer website, genres, rating histogram, price, size, required iOS version and release notes.
  • Export Google Play reviews to CSV or JSON, with app version, thumbs-up count and developer reply.
  • Export App Store reviews by country, several storefronts in one run.
  • Search apps by keyword for ASO research in any country and language.
  • Get the top charts of Google Play and the App Store: top free, top paid and top grossing, per category and per country.
  • List all apps of a developer from a developer name, ID or developer page URL.
  • Google Play permissions and data safety per app, optional.
  • Monitor new reviews of an app: with onlyNewReviews a scheduled run returns and charges only reviews it has not delivered before, on both stores.

No login and no API key. Built on the open-source libraries google-play-scraper and app-store-scraper.

Use cases

  • ASO and keyword research: compare the ratings and installs of the apps that rank for a keyword.
  • Review mining and sentiment analysis: cluster complaints and feature requests in your app's or a competitor's reviews, or feed the text to an LLM.
  • Competitor monitoring and market sizing: track version, rating and new reviews of competitor apps, or compare publishers and monetization across the top charts of several countries.
  • Lead generation: developer emails, websites and addresses from Google Play listings.

Input

Apps with reviews from both stores:

{
"apps": [
"https://play.google.com/store/apps/details?id=com.spotify.music",
"https://apps.apple.com/us/app/spotify-music-and-podcasts/id324684580"
],
"country": "us",
"language": "en",
"includeReviews": true,
"maxReviewsPerApp": 500,
"reviewsSort": "newest",
"reviewsCountries": ["us", "gb", "de"]
}

Keyword search and top charts, without reviews:

{
"searchTerms": ["meditation", "sleep sounds"],
"topCharts": [
{ "collection": "TOP_FREE", "category": "HEALTH_AND_FITNESS", "num": 100 },
{ "collection": "GROSSING", "num": 50 }
],
"stores": "both",
"maxSearchResults": 100,
"country": "de",
"language": "de",
"includeAppDetails": true,
"includeReviews": false
}
FieldTypeDefaultWhat it does
appsarray[]Google Play URLs or package names (com.spotify.music), App Store URLs or IDs (id324684580, 324684580).
searchTermsarray[]Keywords to search.
storesstringbothboth, google-play or app-store. Applies to search, charts and developers.
maxSearchResultsinteger50Per keyword and store. Max 250 on Google Play, 200 on the App Store.
topChartsarray[]Items like {"collection": "TOP_FREE", "category": "GAME", "num": 100}.
developersarray[]Developer names, IDs or developer page URLs.
countrystringusTwo-letter store country.
languagestringenLanguage code for content and Google Play reviews.
includeAppDetailsbooleantrueFetch the full detail page for apps found via search, charts or developers. Off returns list data only.
includeReviewsbooleantrueScrape reviews for apps in apps.
reviewsForDiscoveredAppsbooleanfalseAlso scrape reviews for apps found via search, charts or developers.
maxReviewsPerAppinteger100Review cap per app. 0 means all available.
reviewsSortstringnewestnewest, rating or helpfulness.
reviewsCountriesarray[]App Store storefronts to read reviews from. Empty means the app's own country.
includePermissionsbooleanfalseAdds permissions and dataSafety to Google Play app rows.
proxyConfigurationobjectoffUsually not needed.
onlyNewReviewsbooleanfalseMonitor mode: output and charge only reviews not delivered on an earlier run.
monitorStoreNamestringemptyKey-value store that remembers delivered reviews. Empty means a name derived from the apps and filters.

Chart collections: TOP_FREE, TOP_PAID and GROSSING work on both stores. The App Store also accepts NEW_FREE, NEW_PAID and NEW. Categories are Google Play category IDs (GAME) or App Store genre names or IDs (GAMES). num is capped at 500 on Google Play and 200 on the App Store.

Monitor new reviews of an app

Turn on onlyNewReviews to get only the reviews written since your last run:

{
"apps": [
"https://play.google.com/store/apps/details?id=com.spotify.music",
"https://apps.apple.com/us/app/spotify-music-and-podcasts/id324684580"
],
"reviewsCountries": ["us", "gb"],
"maxReviewsPerApp": 500,
"reviewsSort": "newest",
"onlyNewReviews": true
}

The actor remembers delivered review IDs in a named key-value store in your Apify account and drops them on the next run, so they are neither output nor charged. With reviewsSort: "newest" it stops reading an app at the first page that holds a known review.

For new-review alerts, save the input as an Apify task, add an Apify schedule and an integration (email, Slack, Google Sheets, Make, Zapier or a webhook) that fires when a run succeeds. A ready task is on the example page Monitor new reviews of an app.

Details:

  • Monitor mode needs includeReviews. Apps from search, charts or developers that get no reviews are returned and charged on every run as usual.
  • The app details row comes once, on the first run, which returns up to maxReviewsPerApp per app and fills the store.
  • Keep maxReviewsPerApp above the number of new reviews you expect between two runs; a review cut off by the cap is usually not reached later.
  • Without monitorStoreName each different input keeps its own history; the run log names the store. Schedule one run per store.

Output

Every row has a type (app or review) and a store. A Google Play app row, shortened:

{
"type": "app",
"store": "google-play",
"appId": "com.spotify.music",
"url": "https://play.google.com/store/apps/details?id=com.spotify.music&hl=en&gl=us",
"title": "Spotify: Music and Podcasts",
"developer": "Spotify AB",
"developerEmail": "android-support@spotify.com",
"genre": "Music & Audio",
"score": 4.34,
"ratings": 32994517,
"histogram": { "1": 2193010, "2": 703640, "3": 1246120, "4": 2937350, "5": 25915000 },
"installs": "1,000,000,000+",
"minInstalls": 1000000000,
"price": 0,
"free": true,
"offersIAP": true,
"adSupported": true,
"contentRating": "Teen",
"version": "VARY",
"updated": "2026-08-18T06:18:15.000Z",
"source": "input",
"scrapedAt": "2026-09-25T08:12:40.511Z"
}

An App Store review row:

{
"type": "review",
"store": "app-store",
"appId": "324684580",
"reviewId": "14442249531",
"userName": "Cooler spiel das beste",
"score": 3,
"title": "Danke für die Antwort",
"text": "...",
"date": "2026-08-18T10:25:03.000Z",
"version": "9.1.74",
"thumbsUp": null,
"replyText": null,
"country": "de",
"scrapedAt": "2026-09-25T08:13:02.104Z"
}

The source field on app rows tells you where the app came from: input, search:<term>, chart:<collection>:<category> or developer:<id>. An app that cannot be loaded gives an uncharged type: "error" row.

Pricing

Pay per event, no monthly fee:

  • $0.001 per app (app-scraped), that is $1 per 1,000 apps.
  • $0.0002 per review (review-scraped), that is $0.20 per 1,000 reviews.

Worked example: the top 100 free games in the US on both stores is 200 apps, $0.20. Adding 500 reviews for each of 10 competitor apps adds 5,000 reviews ($1.00) plus 10 app rows ($0.01). Platform usage is included in the event prices.

In monitor mode only new reviews are charged, and the app row only on the first run. A daily run on the two Spotify apps above that finds 40 new reviews costs 40 x $0.0002 = $0.008. The actor has no start event, so a run that finds nothing new costs nothing.

FAQ

How many reviews can I get per app? On Google Play 0 returns everything Google serves. The App Store feed stops at about 500 reviews per storefront; add countries to reviewsCountries to collect more. On the App Store maxReviewsPerApp applies per app and country.

Does reviewsSort work the same on both stores? No. The App Store feed has no rating order, so rating falls back to newest there.

Does it return developer replies? On Google Play, yes. The App Store feed has no developer responses or helpful counts, so those fields are null there.

Are install counts exact? No. Google Play shows ranges like 1,000,000+, returned as installs, minInstalls and maxInstalls. The App Store does not publish installs.

How do I schedule it or call it from code? Use Apify schedules, or start runs through the Apify API and SDKs. Export JSON, CSV or Excel, or send results to Google Sheets, Make, Zapier, n8n or Airtable.

What can it not do? It does not log in, so there is no developer console data (downloads, revenue).

Use it from Claude, ChatGPT or Cursor (Apify MCP server)

The actor can be called as a tool by any AI assistant that speaks the Model Context Protocol. Add the Apify MCP server to your client with this URL, which loads only this actor as a tool:

https://mcp.apify.com?tools=pulsedata/app-store-google-play-scraper

You sign in to Apify on first connection, then ask in plain language, for example "compare rating, installs and the 200 newest reviews of Duolingo and Babbel on Google Play". Billing is the same as a normal run.

Paying from an AI agent without an Apify account (x402 and Skyfire)

An agent can buy a prepaid, spend-capped Apify token at Apify AGI, paid in USDC through x402 or from a Skyfire wallet, and use it for both the API and the MCP server. This actor runs with limited permissions, so it works with these tokens. The smallest token is $1, tokens expire 14 days after purchase, and Apify marks agentic payments as experimental.

Ready-made report from this actor

App-Market Intelligence: US Top Charts 2026 covers 840 top-chart apps from both US stores as a PDF report plus CSV dataset, built with this actor. The launch discount is applied at the link.

⌂ 换网址