
Google Play Store Scraper API
The Play Store Catalog
in Three API Calls
The Play Store Catalog in Three API Calls
Pull Android app search results, full product detail pages, and paginated user reviews as clean JSON. One endpoint per surface, consistent schema across all three. Localize by country and language, browse by category or top chart, and walk every review with token-based pagination.
Start scraping today with 1000 free credits. No Credit Card Required

Search, Product, Reviews in One Schema Family
Three endpoints, one consistent schema. Search returns app cards with title, rating, price, package id, and feature image. Product returns the full detail page with description, screenshots, downloads, version, release notes, and developer info. Reviews returns paginated reviews with star ratings, dates, app version, and developer responses.
Find apps by keyword, category, or top chart. Top free, top paid, top grossing, the `MEDICAL` catalog, the `GAME_PUZZLE` shelf. Match what the Play Store user sees when they browse on any device, in any country, in any language.
Localized to Any Country, Any Device
Pass `gl=de&hl=de` for the German store, `gl=jp&hl=ja` for Japanese, `gl=tr&hl=tr` for Turkish. Prices come back in the local currency, ratings reflect the local user base, and the same call works across all regions.
Restrict search results to one device type with `store_device`: `phone`, `tablet`, `tv`, `chromebook`, `watch`, or `car`. Browse the kids' catalog by age bucket with the `FAMILY` category and the `age` parameter.
How It Works
Select a Target

Send API Request
import requests
import json
token = "<SDO-token>"
url = f"https://api.scrape.do/plugin/google/play-store?token={token}&q=weather"
response = requests.request("GET", url)
print(json.dumps(response.json(), indent=2))Get Structured JSON
{
"search_parameters": {
"q": "coffee",
"hl": "en",
"gl": "us",
"store": "apps"
},
"organic_results": [
{
"items": [
{
"title": "Good Coffee, Great Coffee",
"link": "https://play.google.com/store/apps/details?id=com.tapblaze.coffeebusiness",
"product_id": "com.tapblaze.coffeebusiness",
"rating": 4.4,
"author": "TapBlaze",
"video": "https://www.youtube.com/embed/RFUNyVrGCzE",
"thumbnail": "https://play-lh.googleusercontent.com/..."
},
{
"title": "Coffee Roaster",
"link": "https://play.google.com/store/apps/details?id=de.brettspielwelt.coffee_roaster",
"product_id": "de.brettspielwelt.coffee_roaster",
"rating": 3.8,
"author": "Brettspielwelt GmbH",
"price": "$3.99",
"extracted_price": 3.99,
"thumbnail": "https://play-lh.googleusercontent.com/..."
}
]
}
],
"pagination": {
"next_page_token": "eyJvIjoyMH0"
}
}
How many Google Play Store Scraper API calls per plan?
Every Google Play Store Scraper API call costs 10 credits. Here's what each plan buys you.
All plans include automatic anti-bot bypass, residential proxies, and a 99.98% success rate. See full plan details.
Scrape.do has been a game-changer with powerful scraping tools, but what truly sets them apart is their excellent customer support.

CTO
Average Response Time
No tickets connect with expert engineers.
Success rate
Proxies
Faster gateway than the closest competitor.
Reliable, Scalable,Unstoppable Web Scraping
Frequently Asked Questions
The Play Store ships its data as deeply nested protobuf-style JavaScript blobs that change shape constantly. Direct scraping means tracking selector drift across dozens of fields and rebuilding parsers every time the Play Store team ships a layout change. This plugin handles the parsing server-side and returns a stable, documented JSON schema that doesn't change when the Play Store UI does.
Yes. Pass apps_category=GAME_PUZZLE (or any category id) to browse a category. Pass chart=topselling_free (or topselling_paid, topgrossing) to fetch the top chart. Both work with localization, so chart=topselling_free&gl=de&hl=de returns the top free apps for the German Play Store.
The product_id field returned on search results. It's the Android package name (e.g., com.discord, com.tapblaze.coffeebusiness, com.whatsapp). Pass it as product_id to either /product or /reviews. The same id works across all three endpoints.
20 per page, unlimited pagination depth. Each response includes pagination.next_page_token until you hit the end. Sort order is fixed to "most relevant" today, which mirrors the default Play Store experience.
Yes. When the developer has replied, reviews[].response contains the reply text, the developer name, and both human-readable and ISO 8601 dates. The field is absent when the developer hasn't replied.
Yes. hl controls the language and gl controls the country. Prices come back in the local currency, ratings reflect the local user base, screenshots may differ by region, and the developer description is localized when the developer has shipped translations.
store_device (phone, tablet, tv, chromebook, watch, car) to restrict results to one device type. age (AGE_RANGE1 up to 5, AGE_RANGE2 6–8, AGE_RANGE3 9–12) when browsing the FAMILY category. num (1–50) to control page size.
One: apps_category=MEDICAL currently returns a parser error. Other categories (GAME_PUZZLE, FAMILY, COMMUNICATION, etc.) work normally, and q=medical returns medical apps via keyword search. We're tracking it.
The Google Play Store API documentation covers all three endpoints (search, product, reviews), every supported parameter, the full response schema for each, and pagination patterns.


