Skip to the content.

App Store & Google Play Scraper

Apps, rankings and reviews from both stores: ratings, installs, prices, developers. From $0.003 / app, pay per result, no browser, no login.

▶ Run it on Apify · Python example · All scrapers

Get App Store (iOS) and Google Play (Android) data as clean JSON, CSV or Excel: search any keyword and get every app with its rank (ASO keyword tracking), app details (rating, ratings count, installs, price, developer, version, update date, screenshots), top free / top paid charts and reviews — in any country. Both stores in one run, no browser, no API key.

✅ Keyword rank tracking (ASO): position of each app for your keywords, per store and country ✅ App details: title, developer, category, rating, number of ratings, installs (Google Play), price, version, last update, size, icon, screenshots, description, what’s new ✅ Reviews: rating, title, text, app version, date, helpful votes, developer reply — anonymized (no author names) ✅ App Store top charts: top free and top paid, any country, with full details ✅ Any country: us, gb, de, fr, pt, br, in, jp… several per run ✅ Paste app IDs, packages or store URLs ✅ Two fair prices: apps and much cheaper reviews


🚀 Why this app store scraper is different

  This Actor Typical app scrapers
App Store + Google Play in one run Yes One store per Actor
Keyword rank for every app found Yes Rarely
Charts with full app details Yes Ids only
Reviews anonymized (GDPR-friendly) Yes Author names collected
Browser needed No — seconds per search Often
Blocking handling Retries, new IPs, automatic residential fallback Fails on cloud IPs

💡 Use cases


🛠️ How to use it (3 steps)

  1. Add keywords, app IDs/URLs or pick App Store charts.
  2. Choose stores and countries, and how many reviews per app you want (0 = none).
  3. Click Start and download apps and reviews as JSON, CSV or Excel, or use the API.

📥 Input example

{
  "searchTerms": ["habit tracker", "budget app"],
  "appIds": ["https://apps.apple.com/us/app/facebook/id284882215", "com.instagram.android"],
  "stores": ["appStore", "googlePlay"],
  "countries": ["us", "gb"],
  "maxResultsPerSearch": 10,
  "appStoreCharts": ["top-free"],
  "chartSize": 25,
  "maxReviewsPerApp": 100
}

📤 Output examples (real data)

App (Google Play)

{
  "type": "app",
  "store": "googlePlay",
  "country": "us",
  "appId": "com.instagram.android",
  "searchTerm": null,
  "title": "Instagram",
  "developer": "Instagram",
  "genre": "Social",
  "price": 0,
  "free": true,
  "rating": 3.99,
  "ratingsCount": 169442341,
  "installs": "5,000,000,000+",
  "updatedAt": "2026-10-28T18:24:35+00:00",
  "url": "https://play.google.com/store/apps/details?id=com.instagram.android&hl=en&gl=US"
}

App found by keyword (App Store) — "searchTerm": "photo editor", "searchRank": 1, "title": "Picsart AI Photo Editor, Video", "rating": 4.66, "ratingsCount": 1196413

Review

{ "type": "review", "store": "googlePlay", "appId": "org.isoron.uhabits", "rating": 5, "text": "good 💚",
  "appVersion": "2.3.1", "date": "2026-10-30T05:23:10+00:00", "thumbsUp": 0, "developerReply": null }

⚙️ Input parameters

Field Type Default Description
searchTerms array ["photo editor"] Keywords to search in the stores. Every app found gets its rank for the keyword (ASO keyword tracking).
appIds array — App Store IDs or URLs (284882215, apps.apple.com/…/id284882215) and Google Play packages or URLs (com.instagram.android).
stores array ["appStore", "googlePlay"] Stores to search.
countries array ["us"] 2-letter store countries: us, gb, de, fr, pt, br, jp… Every search runs in each country.
language string "en" Language of Google Play texts, e.g. en, pt-BR, fr.
maxResultsPerSearch integer 5 Apps per keyword and store (Google Play shows up to 30 for a search).
appStoreCharts array — Top free and/or top paid iPhone apps of each country.
chartSize integer 50 Apps per chart.
maxReviewsPerApp integer 0 0 = no reviews. App Store gives up to 500 recent reviews per country; Google Play thousands. Reviews are anonymized (no author names).
reviewSort string "newest" App Store reviews are always the most recent. Values: newest, relevant, rating.
proxyConfiguration, maxRetries object, integer Apify Proxy, auto Proxy and retries; the defaults work for most runs.

📋 Output fields

Field Type Description
type string app or review
store string appStore or googlePlay
country string Store country
appId string App Store ID or Google Play package
searchTerm string Keyword that found the app
searchRank integer Position of the app for that keyword
chart string App Store chart
chartRank integer Position in the chart
bundleId string Bundle / package identifier
title string App name or review title
developer string Developer name
developerId string Developer ID
developerWebsite string Developer website
genre string Main category
genres array Categories
price number/integer Price
currency string Currency
free boolean Free to download
rating number/integer Average rating or review stars
ratingsCount integer Number of ratings
installs string Google Play install range
minInstalls integer Google Play minimum installs
contentRating string Age rating
version string Current version
releasedAt string First release
updatedAt string Last update
sizeBytes integer App size (App Store)
icon string Icon URL
screenshots array Screenshot URLs
description string Store description
releaseNotes string What’s new
languages array Languages (App Store)
url string Store page
reviewId string Review ID
text string Review text
appVersion string App version reviewed
date string Review date
thumbsUp integer Helpful votes
developerReply object Developer reply (Google Play)

Export as JSON, CSV, Excel, XML or HTML, or read it through the API.


💰 Pricing — two fair prices

Item Free plan Bronze Silver Gold+
App (details, search rank or chart rank) $0.003 $0.0025 $0.002 $0.0015
Review $0.0003 $0.00025 $0.0002 $0.00015

Examples: 10 keywords × 2 stores × top 10 = 200 apps ≈ $0.60. 1,000 reviews ≈ $0.30. Platform usage and proxies are included. Set a maximum cost per run and the Actor stops cleanly when it is reached. Apps not found are never charged.


🔌 API & integrations

Python

from apify_client import ApifyClient  # pip install "apify-client>=3"

client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("victorrodi/app-store-google-play-scraper").call(
    run_input={"searchTerms": ["habit tracker"], "countries": ["us"], "maxResultsPerSearch": 10}
)
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item["store"], item["searchRank"], item["title"], item["rating"])

JavaScript / Node.js

import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('victorrodi/app-store-google-play-scraper').call({
  appIds: ['com.instagram.android'], maxReviewsPerApp: 200, searchTerms: [],
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items.filter((i) => i.type === 'review').length, 'reviews');

cURL

curl -X POST "https://api.apify.com/v2/acts/victorrodi~app-store-google-play-scraper/run-sync-get-dataset-items" \
  -H "Authorization: Bearer $APIFY_TOKEN" -H "Content-Type: application/json" \
  -d '{"searchTerms": ["budget app"], "stores": ["appStore"], "maxResultsPerSearch": 5}'

Works with Google Sheets, Make, Zapier, n8n, Slack and MCP / AI agents: “Rank the top 10 habit tracker apps on both stores and summarize their 1-star reviews.”


🤖 Use it from AI agents (Claude, ChatGPT, Cursor…)

This Actor is available to AI assistants through the Apify MCP server. Add the server to Claude Desktop, Claude Code, Cursor or any MCP client, then simply ask:

“Compare the ratings and installs of the top 10 habit tracker apps on both stores.”

“Get the 100 latest Google Play and App Store reviews of Spotify and summarize the complaints.”

The clean, flat output is designed to be read directly by LLMs.


🛡️ Reliability

More examples and docs for all our Actors: Vicshock/trendpulse-scrapers.


📌 Tips

❓ FAQ

Do I need a developer account or API key? No.

Why are reviewer names missing? On purpose: reviews are anonymized so your dataset stays GDPR-friendly. Text, rating, date, version and votes are all there.

Can I track my own app’s rank? Yes: add your keywords; each app found has searchRank. Filter on your app ID.

Is it legal? The Actor reads public store pages and Apple’s official feeds — no personal data. Respect the stores’ terms and the laws that apply to you.

💬 Support

Missing a field or found an issue? Open an issue in the Issues tab — it is answered fast.