App Store · Play reviews

Public App Store and Google Play reviews plus ASO snapshots

This Actor scrapes Apple App Store and Google Play customer reviews and app/ASO intelligence in bulk by app ID, store URL, bundle/package ID, or keyword search. Public store endpoints only.

Not a release-regression report (use App Review Regression & Release Report). Not Chrome Web Store. Not a reviewer-profiling or outreach tool. Public storefronts only.

from $0.50 / 1,000 App review ($0.0005 per delivered app-review); $0.02 per App profile / ASO snapshot. No Actor Start.

Open App Store & Google Play Reviews & ASO Scraper on Apify

App Store & Google Play Reviews & ASO Scraper, not a neighboring Actor

Use this page for this Actor’s job. Use Apple App Store Scraper for App metadata and ratings; Use Google Play App Scraper for Play metadata and ASO; Use iOS & Android App Review Scraper for Cross-store review samples.

This ActorApple App Store ScraperGoogle Play App ScraperiOS & Android App Review Scraper
IntentApp Store & Google Play Reviews & ASO ScraperApp metadata and ratingsPlay metadata and ASOCross-store review samples
Primary inputappIds / playAppIdsapp IDspackage IDsapp IDs
What it readsApple App Store and Google Play public pagesApp Store public pagesPlay public pagesApp Store / Play reviews
Primary outputApp review and profile/ASO eventsApp metadata rowsPlay metadata rowsReview rows
Not this jobNot a release-regression report (use App Review Regression & Release Report). Not Chrome Web Store. Not a reviewer-profiling or outreach tool. Public storefronts only.Not bulk review pagination.Not a dual-store review dump.Not a release-regression report.

Store ID: taroyamada/app-store-review-aso-scraper. Respect source terms, robots.txt, and rate limits.

Use cases

How is App Store & Google Play Reviews & ASO Scraper different from Apple App Store Scraper and Google Play App Scraper?

App Store & Google Play Reviews & ASO Scraper (taroyamada/app-store-review-aso-scraper): This Actor scrapes Apple App Store and Google Play customer reviews and app/ASO intelligence in bulk by app ID, store URL, bundle/package ID, or keyword search. Public store endpoints only. Not a release-regression report (use App Review Regression & Release Report). Not Chrome Web Store. Not a reviewer-profiling or outreach tool. Public storefronts only. Apple App Store Scraper is for App metadata and ratings (input app IDs; App Store public pages; App metadata rows). Not bulk review pagination. Google Play App Scraper is for Play metadata and ASO (input package IDs; Play public pages; Play metadata rows). Not a dual-store review dump. iOS & Android App Review Scraper is for Cross-store review samples (input app IDs; App Store / Play reviews; Review rows). Not a release-regression report.

What input is required?

Live required fields: none listed (see live fields). Published exampleRunInput is shown below.

Field Type Default Notes
appIds string[] empty App IDs. Numeric Apple App Store track IDs (e.g. 1232780281).
appUrls string[] empty App Store URLs. Full App Store URLs (e.g. https://apps.apple.com/us/app/notion/id1232780281).
bundleIds string[] empty Bundle IDs. App bundle identifiers (e.g. com.notion.notion). Resolved to apps per storefront.
searchTerms string[] empty Search terms (App Store). Keywords to discover Apple App Store apps. Useful for ASO and competitive monitoring.
playAppIds string[] empty Google Play package names. Google Play app package names, e.g. com.spotify.music.
playUrls string[] empty Google Play URLs. Google Play store URLs, e.g. https://play.google.com/store/apps/details?id=com.spotify.music.
maxAppsPerTerm integer 5 Max apps per search term. How many top apps to take from each search term. minimum=1 maximum=50
countries string[] ["us"] Storefront countries. Two-letter App Store country codes to scrape (e.g. us, gb, jp, de). Reviews and ratings are per storefront.
language string en Language (Google Play). Two-letter language code used for Google Play requests, e.g. en, ja, de.
maxReviewPages integer 5 Max review pages per app. Each page returns up to 50 recent reviews (Apple exposes up to 10 pages = ~500 reviews per storefront). minimum=1 maximum=10
reviewSort string enum mostRecent Review sort. Order reviews by most recent or most helpful. enum: mostRecent, mostHelpful
includeReviews boolean true Include reviews. Emit one row per customer review.
includeAppProfile boolean true Include app profile / ASO snapshot. Emit one metadata + ASO + aggregate-rating row per app per storefront.
minRating integer 0 Minimum review rating. Only keep reviews with at least this star rating (0 = keep all). minimum=0 maximum=5
proxy object {"useApifyProxy": false} Proxy configuration. Optional. Apple's public endpoints generally work without a proxy; enable one only for very large runs.
dryRun boolean true Dry run. When true, emit illustrative sample rows without live calls or billing. Set to false to scrape real data.
runMode string enum extract Run mode. Extract always returns current rows. Audit returns a current snapshot. Monitor stores a private baseline and emits only new or changed rows. enum: extract, audit, monitor
monitorKey string empty Monitor key. Optional stable name for a recurring monitor. State is isolated by the calling Apify user and this key.
initialRunMode string enum baseline_only First monitor run. Baseline only stores the first snapshot for free. Emit backfill returns the initial rows. enum: baseline_only, emit_backfill
maxChargeUsd number 0 Maximum Actor charge. Optional Actor-side budget. Zero uses the Apify run spending limit only. minimum=0 maximum=1000
emitUnchanged boolean true Emit unchanged rows. Keep enabled for extract/audit runs. Monitor mode defaults to changed rows only and stores its own baseline.
baselineStableKeys string[] empty Baseline stable keys. Optional stableKey values from a previous run. When emitUnchanged is false, matching rows are skipped and not charged.

Published Store example run input (omitted fields take schema defaults):

{
  "appIds": [
    "1232780281"
  ],
  "maxAppsPerTerm": 5,
  "countries": [
    "us"
  ],
  "language": "en",
  "maxReviewPages": 5,
  "reviewSort": "mostRecent",
  "includeReviews": true,
  "includeAppProfile": true
}

Run App Store & Google Play Reviews & ASO Scraper on Apify

How do dataset, webhook, and dry-run delivery work?

Dataset output is the billable surface when rows are written. See live PPE for which events bill. dryRun true validates or samples without the usual dataset/webhook side effects described on the Store schema. Unchanged runs that write zero default-dataset rows typically charge $0.00 on current PPE.

What does a result contain?

README output fence is truncated or invalid JSON on Store. Illustration head: { "rowType": "app_review", "appId": "1438388363", "appName": "Habit Tracker", "country": "us", "reviewId": "14143606963", "author": "Chelsea123", "rating": 5, "title": "Love it", "content": "Keeps me consistent every day...", "appVersion": "2.14.11", "voteSum": 3, "voteCount": 4,… Treat README samples as illustrations, not a live coverage guarantee. There is no published output JSON schema on the Store page.

How is App Store & Google Play Reviews & ASO Scraper priced?

Billing is pay per event. The live Store card is from $0.50 / 1,000 App review ($0.0005 per delivered app-review); $0.02 per App profile / ASO snapshot. No Actor Start. Current PPE:

Event Price Emitted when
app-review (App review) $0.0005 Charged once per delivered public App Store or Google Play review row.
app-profile (App profile / ASO snapshot) $0.02 Charged once per app per storefront for a public ASO profile snapshot with ratings, version, category, and aggregate signals.

from $0.50 / 1,000 App review ($0.0005 per delivered app-review); $0.02 per App profile / ASO snapshot. No Actor Start.

See App Store & Google Play Reviews & ASO Scraper pricing on Apify

Limits to keep in mind

Open App Store & Google Play Reviews & ASO Scraper on Apify

Related pages