App Stores Scraper - Apple App Store & Google Play ASO avatar

App Stores Scraper - Apple App Store & Google Play ASO

Pricing

from $0.25 / 1,000 app / listing / rank rows

Go to Apify Store
App Stores Scraper - Apple App Store & Google Play ASO

App Stores Scraper - Apple App Store & Google Play ASO

Scrape Apple App Store and Google Play in one run: app details, reviews, keyword search, top charts, ASO keyword ranks, developer catalogs, and monitors. Cross-store app pairs, multi-country. Fast HTTP — no browser.

Pricing

from $0.25 / 1,000 app / listing / rank rows

Rating

0.0

(0)

Developer

Andrej Kiva

Andrej Kiva

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

19 hours ago

Last modified

Categories

Share

App Stores Scraper — Apple App Store & Google Play ASO

Unofficial tool for publicly accessible Apple App Store / iTunes and Google Play Store data. Apple, App Store, Google Play, and related trademarks belong to their respective owners. Not affiliated with, sponsored by, or endorsed by Apple Inc. or Google LLC. Provided for informational use only; users must comply with applicable terms and laws.

App Stores Scraper ◄── you are here

ActorPlatform
App Stores Scraper ◄── you are hereApple App Store + Google Play (combo)
Apple App Store ScraperiOS / App Store only
Google Play Store ScraperAndroid / Google Play only

App Store and Google Play scraper for Apify — one Actor for cross-platform ASO: app metadata, customer reviews, keyword search, top charts, ASO keyword ranks, developer catalogs, and listing monitors. Scrape Apple App Store and Google Play in a single run, or either store alone. Map the same product with app pairs (pairKey on every row). Fast HTTP — no browser.

Use it for dual-store competitor research, ASO rank tracking, review mining, release / price / rating monitors, and agency reporting when you need iOS + Android without two Actor jobs. For deepest single-store options, use the sibling Actors above.

When to use this Actor

  • Track the same app on iOS + Android (details, ranks, reviews) with appPairs
  • ASO keyword ranks across both stores and countries / locales
  • Competitor cards: version, price, ratings, App Privacy / Data safety
  • Top charts + keyword discovery for App Store and Google Play in one job
  • Review intelligence from both marketplaces
  • Scheduled monitor for version / price / rating / listing deltas
  • One Actor ID in automations instead of separate Apple and Play pipelines

Modes

ModeApple App StoreGoogle Play
app_detailsiTunes lookup (+ optional HTML enrich)Full metadata (+ similar / permissions / data safety)
reviewsCustomer reviews RSS (~500/country)Paginated reviews (sort / stars / after-date)
searchKeyword searchKeyword search
top_chartsTop Free / Paid / Grossing / NewTop free / paid / grossing (+ category)
search_and_chartsSearch + chartsSearch + charts
developer_appsArtist / developer catalogDeveloper page listings
keyword_ranksSERP position + KV history + RANK_CHANGESERP position + KV history
monitorVersion / price / rating / privacy / IAP deltasVersion / price / rating / listing + review watch + webhook

Key features

  • Both stores, one runstores: ["apple","google"] (default) or either alone
  • App pairs for ASOappPairs: [{ name, appleId, googleId }] stamps pairKey for joins
  • ASO keyword ranks — track App Store IDs and Play packages across keywords × countries
  • Fair maxItems split — when both stores run, the global cap is split evenly (balanceStoreLimits); optional maxItemsPerStore
  • Parallel pipelinesrunStoresInParallel (default true)
  • Apple HTML enrich — privacy nutrition labels, IAP, rating histogram
  • Play extras — similar apps, permissions, Data safety, monitor webhooks
  • Typed rows — every item has store plus itemType / native fields
  • Monitor state — separate KV namespaces per store under monitorStoreName

Input parameters

ParameterDescription
modeSee modes table
storesapple, google, or both (default both)
appPairsCross-store ASO pairs (name / appleId / googleId)
startUrlsApp Store or Play URLs (store auto-detected)
appleAppIds / googleAppIdsExplicit track IDs / package names
searchTerms / searchTermKeywords for search and keyword ranks
trackAppleAppIds / trackGoogleAppIdsApps to locate in SERP (keyword_ranks)
country / countries / useAllCountriesStorefronts (Apple majors preset supported)
language / languagesPlay hl (+ multi-locale matrix with countries)
appleChartType / googleChartType / chartLimitTop charts
appleGenreId / googleCategoryCategory / genre filters
enrichFromHtml / enrichChartDetailsApple HTML / chart enrich
includeSimilarApps / includePermissions / includeDataSafetyPlay detail extras
enrichListings / enrichDeveloperApps / maxSearchPagesPlay listing enrich
maxReviewsPerApp / appleReviewSort / googleReviewSortReviews
reviewScoreFilter / reviewAfterDatePlay review filters
maxItemsGlobal row cap (auto-split across stores when both run)
maxItemsPerStoreOptional hard cap per store
balanceStoreLimitsEven split of maxItems (default true)
monitorStoreName / monitorBaselineOnly / resetMonitorStateMonitor / rank KV
webhookUrl / notifyOn*Play monitor alerts
concurrency / maxRequestsPerSecondParallelism and Apple RPS
runStoresInParallelScrape Apple and Google concurrently
proxyConfigurationResidential recommended for Google Play

Example — dual-store app details (ASO competitor pack)

{
"mode": "app_details",
"stores": ["apple", "google"],
"appPairs": [
{
"name": "WhatsApp",
"appleId": "310633997",
"googleId": "com.whatsapp"
}
],
"countries": ["us", "de"],
"enrichFromHtml": true,
"includeDataSafety": true,
"includeSimilarApps": true,
"maxItems": 50
}

Example — ASO keyword ranks (both stores)

{
"mode": "keyword_ranks",
"stores": ["apple", "google"],
"searchTerms": ["vpn", "secure vpn", "proxy"],
"appPairs": [
{
"name": "CompetitorA",
"appleId": "123456789",
"googleId": "com.example.vpn"
}
],
"countries": ["us", "gb", "de"],
"languages": ["en"],
"monitorStoreName": "my-aso-ranks",
"maxItems": 200
}

Example — reviews from App Store + Google Play

{
"mode": "reviews",
"stores": ["apple", "google"],
"appPairs": [
{
"name": "WhatsApp",
"appleId": "310633997",
"googleId": "com.whatsapp"
}
],
"maxReviewsPerApp": 100,
"countries": ["us"],
"appleReviewSort": "mostRecent",
"googleReviewSort": "NEWEST",
"maxItems": 400
}

Example — top charts both stores

{
"mode": "top_charts",
"stores": ["apple", "google"],
"countries": ["us"],
"languages": ["en"],
"appleChartType": "top_free",
"appleGenreId": 6014,
"googleChartType": "topselling_free",
"googleCategory": "GAME",
"chartLimit": 100,
"maxItems": 200
}

Example — monitor (baseline then schedule)

{
"mode": "monitor",
"stores": ["apple", "google"],
"appPairs": [
{
"name": "Spotify",
"appleId": "324684580",
"googleId": "com.spotify.music"
}
],
"countries": ["us"],
"monitorStoreName": "app-stores-aso-monitor",
"monitorBaselineOnly": true,
"enrichFromHtml": true,
"maxItems": 100
}

After the baseline run, set monitorBaselineOnly to false (or omit it) so later runs push only change events.

Output

FieldDescription
storeapple or google
itemType / recordTypeapp, review, keyword_rank, chart_entry, search_result, monitor_event, …
pairKeyCross-store pair name when provided in appPairs
appIdApple track ID or Google package name
title / developerNameListing title and publisher
score / ratingAverage rating (mirrored for cross-store tables)
price / currency / versionCommercial / version metadata
keyword / rank / foundASO SERP / chart position
country / languageStorefront / Play locale
eventType / changeTypeMonitor deltas
urlStore listing URL when present
scrapedAtUTC collection time

Limitations

  • Apple reviews RSS is a recent window (~500 per country per sort), not full history.
  • Apple keyword ranks / search stop at the top 200 per term per country.
  • Google Play developer pages and chart RPCs can return fewer apps than your store quota — total rows may be below maxItems.
  • With both stores and balanceStoreLimits, maxItems is split evenly; one store cannot consume the whole cap.
  • Play version may be missing (Varies with device); monitor prefers update timestamps when present.
  • Residential proxy is recommended for non-US Play locales and larger review volumes.

Workflow tips

  1. Validate IDs with app_details + appPairs (check pairKey in the dataset).
  2. Seed ASO with keyword_ranks + a dedicated monitorStoreName, then schedule daily.
  3. Run monitor once with monitorBaselineOnly: true, then schedule deltas.
  4. Cap cost with maxItems while testing (auto-splits across stores; or set maxItemsPerStore).
  5. Prefer Residential proxy for Google Play; Apple iTunes JSON often works without proxy.
ActorWhat it covers
App Stores Scraper ◄── you are hereApple App Store + Google Play combo ASO suite
Apple App Store ScraperiOS apps, games, reviews, ASO ranks, charts, monitor
Google Play Store ScraperAndroid apps, reviews, ASO ranks, monitor + webhooks