App Store and Google Play Scraper icon

App Store and Google Play Scraper: Search, Charts, Details

This Actor returns app data from Google Play and the Apple App Store in one run: keyword search rankings, top free, paid and grossing charts, full app details, similar apps and a developer's apps. It is for ASO specialists, app marketers and analysts who track rankings, ratings and installs by country.

Main price: $1.10 to $2.50 per 1,000 apps, depending on your Apify plan.

What you can do with it

  • Track where apps rank for your keywords in each country, every day.
  • Watch competitors' ratings, installs, versions and release notes.
  • See what climbs the top grossing charts in a country or category.
  • Find developers in a category for outreach, with company websites.

What you get

Results come as rows in an Apify dataset, which you can export as JSON, CSV or Excel or read over the API. These are the main fields:

FieldExampleMeaning
storegooglePlaygooglePlay or appStore
query, rankmeditation, 1Search term and position
title, developerInsight TimerApp and developer
score, ratings4.7, 263175Rating and number of ratings
installs10,000,000+Install range (Google Play)
price, free0, truePrice
version, updated20.37.0Latest version and update date

Pricing

This Actor is pay per event. Apify plan tiers set the price: the column for your Apify plan is what you pay, and higher plans pay less per result. Prices are per 1,000 events.

EventWhat is chargedFreeStarterScaleBusiness
AppOne app record saved (search result, chart position or app details).$2.50$1.50$1.30$1.10

Run start fee: $0.05 per 1,000 runs. Charged when the Actor starts running. Number of events charged depends on Actor memory (one event per GB, minimum one event). Prices come from the Apify Store and can change; the Actor's Apify page always shows the current ones. Platform usage is billed through your Apify account.

Run it from code

Create an API token in Apify Console (Settings, API and Integrations) and replace YOUR_APIFY_TOKEN. This call starts a run with a small input and returns the rows when it finishes. Synchronous calls suit small inputs; for big jobs, start a run and read the dataset later.

curl

curl -X POST "https://api.apify.com/v2/acts/apisamurai~app-store-google-play-scraper/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "searchTerms": [
    "meditation"
  ]
}'

Python (pip install apify-client)

from apify_client import ApifyClient

client = ApifyClient("YOUR_APIFY_TOKEN")
run_input = {
    "searchTerms": ["meditation"],
}

# Start the Actor and wait for it to finish.
run = client.actor("apisamurai/app-store-google-play-scraper").call(run_input=run_input)

# Read the results from the run's default dataset.
items = client.dataset(run.default_dataset_id).list_items().items
for item in items:
    print(item)

JavaScript (npm install apify-client)

import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const input = {
    searchTerms: ['meditation'],
};

// Start the Actor and wait for it to finish.
const run = await client.actor('apisamurai/app-store-google-play-scraper').call(input);

// Read the results from the run's default dataset.
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Client calls follow the Python and JavaScript client docs. The full input reference is on the Actor's Apify page.

FAQ

Which modes are there?
Keyword search, top charts, app details, similar apps and a developer's apps.
Can I pick a country and language?
Yes. Set the country (for example us, in, gb) and language for store-specific results.
How do I make rank tracking faster?
Turn off Full details when you only need positions.
Is the price the same with full details?
Yes. The price per app includes full details.
Where do I report a problem?
Email hello@apisamurai.com, or open an issue on the Actor's Apify page.