App Store & Google Play Scraper 📱 (both stores, one run)
Pricing
from $0.70 / 1,000 app scrapeds
App Store & Google Play Scraper 📱 (both stores, one run)
Scrape apps from the Apple App Store and Google Play in one run instead of two: ratings, rating counts, installs, pricing, categories, versions and descriptions. Search or fetch by id, and monitor for new-review alerts to Slack. The app-tracking slice of Appfigures, with no app cap.
Pricing
from $0.70 / 1,000 app scrapeds
Rating
0.0
(0)
Developer
Tagada Data
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
3 days ago
Last modified
Categories
Share
App Store & Google Play Scraper: Ratings, Reviews, Installs & Pricing
Pull structured app intelligence from the Apple App Store and Google Play in one run, instead of running two separate scrapers against two bills. Give it a search term, an Apple trackId or a Google package name and you get back a clean, unified record per app: name, developer, rating and rating count, installs, price, category, version, description, screenshots and update date. Turn on the review monitor and it remembers which reviews it has already reported, so scheduled runs surface only new reviews and can post them straight to Slack.
Apple is the fast, reliable spine here. It reads Apple's own keyless iTunes JSON API, so those records are complete and the runs are quick. There is no browser to time out, no login, and no residential proxy requirement: both stores answer plain datacenter requests, so you are not paying a proxy surcharge on top of every app.
Who else does this
A few other actors also cover both stores in one run. Being upfront about where we stand (measured 2026-08-09, all public data):
| stores | price | notes | |
|---|---|---|---|
| this actor | Apple + Google, one run | $1.00/1,000 apps | keyless, no browser, includes a review monitor with Slack digests |
| single-store leaders (e.g. Google Play at $0.30/1,000) | one store | cheaper per store | you pay for and run two separate actors to cover both |
| other both-store actors | Apple + Google, one run | $6–10/1,000 for app detail | richer field counts, default to browser-scale (4 GB) run memory |
We are not the cheapest scraper for a single store. The case for this actor is running one job instead of two, and getting a review monitor in the same actor rather than a third one.
What you get per app
| Field | Description |
|---|---|
store, appId | apple or google, and the Apple trackId or Google package name |
name, developer, url | App title, publisher and the canonical store listing URL |
price | { amount, currency, formatted }, Free when the app costs nothing |
rating, ratingCount | Average star rating (0 to 5) and how many ratings it has |
installs | Google Play install band, e.g. 10,000,000,000+ (Apple does not expose this, so it is null) |
category | Primary store category |
version, releaseNotes | Current version and its what's-new text |
description | Full listing text, HTML stripped |
contentRating | Age / content rating, e.g. 4+ or Everyone |
screenshots, icon | Up to 8 screenshot URLs and the app icon |
releasedAt, updatedAt | First release and last update dates where the store exposes them |
Who uses it
- ASO and app marketers tracking their own and competitors' ratings, versions and store copy over time.
- Competitive and market intelligence: pull a whole category of apps for one term and compare ratings, install bands and pricing.
- Product and support teams watching for new one- and two-star reviews the moment they land.
- Investors and analysts sizing traction from install bands, rating counts and update cadence.
- Agents and data pipelines that need app data as clean JSON, over MCP or a scheduled run.
Input
| Field | What it does |
|---|---|
store | apple (default), google or both |
terms | One search per entry, e.g. notion. Searches whichever stores store covers |
appIds | Apple trackIds (or App Store URLs) to fetch directly, no search. Used when store includes Apple |
packageNames | Google Play package names to fetch directly, e.g. com.whatsapp, no search. Used when store includes Google |
country | Two-letter storefront, e.g. us, gb, fr. Affects search results, pricing and reviews |
maxResults | Total app records to return across all terms and ids, 1–500 |
reviewMonitor | Fetch recent reviews per resolved app and return only the ones not seen on previous runs |
maxReviewsPerApp | In monitor mode, how many most-recent reviews to pull per app before deduping (Apple caps its feed at about 500) |
monitorName | Label for the remembered-reviews set, so different app lists are tracked independently |
webhookUrl | In monitor mode, new reviews are posted here as a digest (Slack incoming webhook or any JSON endpoint) |
terms, appIds and packageNames can be combined in one run: Apple resolves
from appIds plus the search terms, Google from packageNames plus the search
terms, and everything lands in the same deduped output up to maxResults. Pass
at least one of the three.
Input examples
Look up one app on both stores by name:
{"store": "both","terms": ["notion"],"maxResults": 10,"country": "us"}
Fetch specific apps directly by id:
{"store": "apple","appIds": ["1232780281", "310633997"],"country": "us"}
Fetch Google Play apps directly by package name, no search:
{"store": "google","packageNames": ["com.whatsapp", "com.spotify.music"],"country": "us"}
A new-review alert feed for your app (schedule this and point it at Slack):
{"store": "apple","appIds": ["1232780281"],"reviewMonitor": true,"maxReviewsPerApp": 200,"webhookUrl": "https://hooks.slack.com/services/XXX/YYY/ZZZ"}
Output samples
An app record:
{"store": "apple","appId": "1232780281","name": "Notion: Notes, Tasks, AI","developer": "Notion Labs, Incorporated","url": "https://apps.apple.com/us/app/notion-notes-tasks-ai/id1232780281","price": { "amount": 0, "currency": "USD", "formatted": "Free" },"rating": 4.78,"ratingCount": 87829,"installs": null,"category": "Productivity","version": "1.7.317","contentRating": "4+","updatedAt": "2026-07-07T18:43:58Z","source": "apps.apple.com"}
A review record (monitor mode):
{"store": "apple","appId": "1232780281","appName": "Notion: Notes, Tasks, AI","reviewId": "14267353065","rating": 3,"title": "AI chatbot feature is very buggy","body": "Love the app overall but the new assistant keeps losing context...","author": "Jakobihaskell","appVersion": "1.7.316","source": "apps.apple.com"}
| Review field | Description |
|---|---|
reviewId | Stable id used to dedupe across scheduled runs |
rating, title, body | Star rating, headline and full review text (Google Play reviews have no title, so it is null there) |
author, appVersion | Reviewer name and the app version they reviewed |
reviewedAt | When the review was posted (Google Play rows) |
Pricing
You pay per app returned and per new review in monitor mode. Apify platform usage is included in the price — nothing is billed to you on top: no separate compute line, no proxy line, no subscription. Bronze, Silver and Gold plans get 10%, 20% and 30% off every per-item event.
| Event | Price |
|---|---|
| Actor start | $0.001 per run |
| App scraped | $0.001 per app ($1.00 per 1,000) |
| Review scraped (monitor mode) | $0.0002 per review ($0.20 per 1,000) |
| Digest sent (monitor mode) | $0.03 per digest |
FAQ
Which stores does it cover? Both the Apple App Store and Google Play. Set store to apple, google or both.
Is Google Play as reliable as Apple? No, and this actor is honest about it. Apple exposes a clean public JSON API, so those records are complete and stable. Google Play has no public API, so app data is parsed from the page's server-rendered HTML. That parsing is best-effort: it reads name, developer, rating, rating count, installs, price, category, description, content rating, icon, screenshots and the last-updated date reliably today, but Google can change the page layout at any time. When a field moves, the actor returns null for it instead of failing the run. Note that Google no longer prints an app version on the public page, so that field is usually null on Google Play.
What review coverage do I get? Both stores. Apple reviews come from the most-recent reviews feed (up to about 500 per app). Google Play reviews come from the store's own reviews endpoint, paged newest-first until you have as many as you asked for. Note that Google Play reviews carry no title, so the title field is null on Google rows.
How do I only get new reviews? Turn on reviewMonitor and schedule the actor. It remembers reviews from previous runs (per monitorName) and returns only new ones, and it can post them to a webhook or Slack.
Does it need a proxy? No. Both stores answer plain datacenter requests, so the actor never routes through a proxy — there is no per-GB proxy surcharge on your bill.
Can I use it from an AI agent? Yes. It returns plain JSON and runs headless, so it plugs into agent tools, MCP servers and data pipelines without a browser.
Something missing?
If you need an extra field, another source, or Google Play reviews, open an issue on this Actor and describe it. I read every request and small additions usually ship within days. More monitors and data Actors are on my profile.
App Store scraper, Google Play scraper, app ratings API, app reviews monitor, ASO data, app store intelligence, scrape App Store, scrape Google Play, app install counts, competitor app tracking, new review alerts.