Playstore Scraper avatar

Playstore Scraper

Pricing

Pay per usage

Go to Apify Store
Playstore Scraper

Playstore Scraper

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Ricardo Akiyoshi

Ricardo Akiyoshi

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Categories

Share

Google Play Store Scraper

Scrape Google Play Store data at scale. Extract app names, prices, ratings, download counts, screenshots, developer info, reviews, and more. Export to JSON, CSV, Excel, or connect directly via API.

Key Features

  • Comprehensive App Data -- Extract 30+ fields per app including name, ID, developer, price, rating, installs, description, screenshots, category, content rating, version, and more.
  • User Reviews Scraping -- Optionally extract the most recent user reviews with author, rating, text, date, and helpful count.
  • 4 Extraction Strategies -- Cascading fallback extraction (AF_initDataCallback, DOM parsing, JSON-LD, Meta tags) ensures maximum data reliability even when Google updates their page structure.
  • Multi-Region Support -- Scrape Play Store data for any country and language. Pricing, rankings, and availability vary by region.
  • Smart Filtering -- Filter by category, country, language, and free/paid status. Get exactly the data you need.
  • Anti-Detection -- 12 rotating user agents, randomized delays, proxy support, and header rotation to avoid blocks.
  • Pay-Per-Event Billing -- Only pay $0.004 per app scraped. No minimum charges, no subscriptions.

Use Cases

  • App Market Research -- Analyze competitors in your app category. Track ratings, download counts, and pricing strategies.
  • App Store Optimization (ASO) -- Research top-ranking apps for your target keywords. Study descriptions, screenshots, and metadata patterns.
  • Competitor Analysis -- Monitor competitor app updates, version history, release notes, and user reviews.
  • Investment & Due Diligence -- Evaluate app companies by analyzing download trends, ratings, and market positioning.
  • Academic Research -- Study the Android app ecosystem, pricing models, and category distributions at scale.
  • Lead Generation -- Find app developers and their contact information (email, website, address) for B2B outreach.
  • Review Monitoring -- Track user sentiment by scraping and analyzing app reviews over time.
  • Market Intelligence -- Identify trending categories, emerging apps, and market gaps.

Input Parameters

ParameterTypeRequiredDefaultDescription
searchTermStringYes--Keyword to search for on Google Play Store (e.g., "fitness tracker", "VPN", "photo editor")
categoryEnumNoAllFilter by Play Store category (e.g., HEALTH_AND_FITNESS, GAME, PRODUCTIVITY)
countryStringNousTwo-letter country code for regional Play Store (e.g., us, gb, de, jp, br)
languageStringNoenTwo-letter language code (e.g., en, es, fr, de, ja)
maxResultsIntegerNo50Maximum number of apps to scrape (1-500)
includeReviewsBooleanNofalseAlso scrape user reviews for each app (increases run time)
freeOnlyBooleanNofalseOnly scrape free apps, skip paid apps
proxyConfigurationObjectNoApify ProxyProxy settings for scraping. Datacenter proxies usually work fine.

Output Data Fields

Each scraped app produces a JSON object with these fields:

FieldTypeDescription
appNameStringName of the app
appIdStringPackage name / app ID (e.g., com.example.app)
developerStringDeveloper or company name
developerUrlStringLink to the developer's Play Store page
developerEmailStringDeveloper contact email (if available)
developerWebsiteStringDeveloper website URL (if available)
developerAddressStringDeveloper physical address (if available)
priceStringDisplay price ("Free" or "$4.99")
priceNumericNumberNumeric price value (0 for free apps)
currencyStringCurrency code (USD, EUR, GBP, etc.)
isFreeBooleanWhether the app is free
ratingNumberAverage star rating (0-5)
ratingsCountNumberTotal number of ratings
reviewsCountNumberTotal number of reviews
installsStringDownload count (e.g., "10,000,000+")
descriptionStringFull app description
shortDescriptionStringTruncated description (first 200 chars)
releaseNotesStringLatest "What's New" content
versionStringCurrent app version
sizeStringApp download size
categoryStringPlay Store category
contentRatingStringContent rating (Everyone, Teen, Mature 17+, etc.)
screenshotsArrayList of screenshot image URLs
iconUrlStringApp icon image URL
headerImageStringFeature graphic / header image URL
appUrlStringFull Play Store URL
privacyUrlStringPrivacy policy URL
releaseDateStringInitial release date
lastUpdatedStringDate of last update
minimumAndroidStringMinimum Android version required
containsAdsBooleanWhether the app contains ads
inAppPurchasesBooleanWhether the app has in-app purchases
reviewsArrayUser reviews (only when includeReviews=true)
scrapedAtStringISO timestamp of when the data was scraped

Review Object Fields (when includeReviews is enabled)

FieldTypeDescription
authorStringReviewer's display name
ratingNumberStar rating given (1-5)
textStringFull review text
dateStringDate the review was posted
helpfulCountNumberNumber of "helpful" votes

Example Output

{
"appName": "Spotify: Music and Podcasts",
"appId": "com.spotify.music",
"developer": "Spotify AB",
"developerUrl": "https://play.google.com/store/apps/developer?id=Spotify+AB",
"developerEmail": "android-support@spotify.com",
"developerWebsite": "https://www.spotify.com",
"developerAddress": "Regeringsgatan 19, SE-111 53 Stockholm, Sweden",
"price": "Free",
"priceNumeric": 0,
"currency": "USD",
"isFree": true,
"rating": 4.3,
"ratingsCount": 29584612,
"reviewsCount": 29584612,
"installs": "1,000,000,000+",
"description": "With Spotify, you can listen to music and play millions of songs and podcasts for free...",
"shortDescription": "With Spotify, you can listen to music and play millions of songs and podcasts for free...",
"releaseNotes": "Bug fixes and improvements.",
"version": "8.9.12.345",
"size": "Varies with device",
"category": "Music & Audio",
"contentRating": "Teen",
"screenshots": [
"https://play-lh.googleusercontent.com/...=w720-h1280",
"https://play-lh.googleusercontent.com/...=w720-h1280"
],
"iconUrl": "https://play-lh.googleusercontent.com/...=w240-h240",
"headerImage": "",
"appUrl": "https://play.google.com/store/apps/details?id=com.spotify.music&gl=us&hl=en",
"privacyUrl": "https://www.spotify.com/legal/privacy-policy/",
"releaseDate": "May 29, 2014",
"lastUpdated": "Feb 28, 2026",
"minimumAndroid": "8.0 and up",
"containsAds": true,
"inAppPurchases": true,
"scrapedAt": "2026-03-02T12:00:00.000Z"
}

Code Examples

Python

from apify_client import ApifyClient
client = ApifyClient("YOUR_API_TOKEN")
run_input = {
"searchTerm": "fitness tracker",
"category": "HEALTH_AND_FITNESS",
"country": "us",
"language": "en",
"maxResults": 100,
"includeReviews": True,
"freeOnly": False,
"proxyConfiguration": {"useApifyProxy": True},
}
run = client.actor("sovereigntaylor/playstore-scraper").call(run_input=run_input)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(f"{item['appName']} | Rating: {item['rating']} | Installs: {item['installs']}")

JavaScript / Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });
const input = {
searchTerm: 'photo editor',
country: 'us',
language: 'en',
maxResults: 50,
includeReviews: false,
freeOnly: true,
proxyConfiguration: { useApifyProxy: true },
};
const run = await client.actor('sovereigntaylor/playstore-scraper').call(input);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
console.log(`${item.appName} | ${item.rating} stars | ${item.installs} downloads`);
});

cURL (Direct API Call)

curl -X POST "https://api.apify.com/v2/acts/sovereigntaylor~playstore-scraper/runs?token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"searchTerm": "VPN",
"maxResults": 25,
"freeOnly": true
}'

Supported Categories

The actor supports all Google Play Store categories including:

Apps: Art & Design, Auto & Vehicles, Beauty, Books & Reference, Business, Communication, Dating, Education, Entertainment, Events, Finance, Food & Drink, Health & Fitness, House & Home, Lifestyle, Maps & Navigation, Medical, Music & Audio, News & Magazines, Parenting, Personalization, Photography, Productivity, Shopping, Social, Sports, Tools, Travel & Local, Video Players, Weather

Games: Action, Adventure, Arcade, Board, Card, Casino, Casual, Educational, Music, Puzzle, Racing, Role Playing, Simulation, Sports, Strategy, Trivia, Word

Frequently Asked Questions

How many apps can I scrape per run?

Up to 500 apps per run. For larger datasets, run the actor multiple times with different search terms or categories.

What proxies should I use?

Datacenter proxies (the default Apify proxy) usually work fine for Google Play Store. Residential proxies are recommended if you encounter blocks.

Does it work for all countries?

Yes. Set the country parameter to any two-letter country code (ISO 3166-1 alpha-2). Pricing, rankings, and app availability vary by region.

How is pricing calculated?

The actor uses Pay-Per-Event (PPE) pricing at $0.004 per app scraped. You only pay for successfully extracted data. Platform compute costs are separate.

Can I scrape a specific app by ID?

Currently the actor searches by keyword. To scrape a specific app, use its exact name as the search term with maxResults: 1.

How often does Google Play update its page structure?

Google frequently updates the Play Store frontend. This actor uses 4 independent extraction strategies with dozens of fallback selectors to remain resilient against changes.

What data is NOT available?

The actor cannot extract: exact daily download counts (Google only provides ranges), A/B test variants, internal analytics, or data that requires a developer account login.

Tips for Best Results

  1. Use specific search terms -- "fitness step counter" yields more targeted results than just "fitness".
  2. Combine category filters -- Narrow results by setting both a search term and category.
  3. Start small -- Test with maxResults: 10 before running large scrapes.
  4. Enable reviews sparingly -- Review scraping increases run time significantly.
  5. Use different regions -- Some apps rank differently across countries.

Integration — Python

from apify_client import ApifyClient
client = ApifyClient("YOUR_API_TOKEN")
run = client.actor("sovereigntaylor/playstore-scraper").call(run_input={
"searchTerm": "playstore",
"maxResults": 50
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(f"{item.get('title', item.get('name', 'N/A'))}")

Integration — JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });
const run = await client.actor('sovereigntaylor/playstore-scraper').call({
searchTerm: 'playstore',
maxResults: 50
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach(item => console.log(item.title || item.name || 'N/A'));

Changelog

v1.0.0 (2026-03-02)

  • Initial release
  • 4 extraction strategies with cascading fallbacks
  • Full app metadata extraction (30+ fields)
  • User review scraping
  • Multi-region and multi-language support
  • PPE billing integration
  • Anti-detection measures

Support

For bugs, feature requests, or questions, open an issue on the actor page or contact the developer.

This actor is intended for lawful data collection purposes only. Users are responsible for complying with Google Play Store's Terms of Service and all applicable laws. The scraped data should be used in accordance with data protection regulations.