~ / endpoints / Google Play Store API

Google Play Store Scraper API

Our Google Play Store scraper takes any Android package id or play.google.com URL and returns the app's listing as JSON: title, developer, rating, review count, category, price, content rating, icon, and screenshots in a single request.

Get a free API keyEndpoint catalog
1,000
free requests / mo
2.6s
median response
JSON
structured output
1
call per app
the hurdle

The hard part of Google Play Store data

Google Play has no public app data API, so the only source is the store HTML, where the numbers you need sit inside late-loading script blobs that shift position and break brittle scrapers. A datacenter IP hitting the page repeatedly also trips a consent or captcha interstitial instead of the listing.

step one

Send one request to the Google Play Store Scraper API

cURL
curl "https://api.appstorescraperapi.com/api/v1/googleplay/product?id=com.spotify.music&api_key=$API_KEY"
Python
import requests

BASE = "https://api.appstorescraperapi.com"
API_KEY = "YOUR_API_KEY"

# Pass an Android package id or a play.google.com URL.
data = requests.get(
    f"{BASE}/api/v1/googleplay/product",
    params={
        "id": "com.spotify.music",   # package id or full Play URL
        "hl": "en",                   # content language
        "gl": "us",                   # storefront country
        "api_key": API_KEY,
    },
    timeout=30,
).json()

print(data["title"], "by", data["developer"])
print(data["rating"], "stars across", data["reviews_count"], "reviews")
print(data["category"], "-", "free" if data["is_free"] else data["price"])
parameters list

Parameters

ParameterRequiredDefaultNotes
idrequired-The Android package id, e.g. com.spotify.music. Accepts a bare package or a play.google.com/store/apps/details?id=... URL, from which we extract the package id.
urloptional-A play.google.com app URL. Pass it as the id value and we read the package id from the id= query segment server side.
hloptionalenUI and content language (Google Play hl). Defaults to en. Sets the language of the description and localized fields.
gloptionalusStorefront country (Google Play gl). Defaults to us. Sets the region for price and availability.
api_keyrequired-Your API key, passed as a query parameter. Get one free at signup.
data back

Reading the Google Play Store Scraper API response

200 OK
{
  "id": "com.spotify.music",
  "package_id": "com.spotify.music",
  "title": "Spotify: Music and Podcasts",
  "developer": "Spotify AB",
  "developer_url": "https://www.spotify.com",
  "description": "Listen to songs, play podcasts, create playlists and discover music you'll love",
  "category": "MUSIC_AND_AUDIO",
  "operating_system": "ANDROID",
  "content_rating": "Teen",
  "price": 0,
  "currency": "USD",
  "is_free": true,
  "rating": 4.334629058837891,
  "reviews_count": 35848654,
  "icon": "https://play-lh.googleusercontent.com/IzQgYCcnCFCD08GR-3bdtcT8xzOvrNkC84avGT5CwTX2VIqmTmKKJcP_Cd4JoBOdmCMlTndlOzV6hrthg2fOWA",
  "thumbnail": "https://play-lh.googleusercontent.com/IzQgYCcnCFCD08GR-3bdtcT8xzOvrNkC84avGT5CwTX2VIqmTmKKJcP_Cd4JoBOdmCMlTndlOzV6hrthg2fOWA",
  "screenshots": [
    "https://play-lh.googleusercontent.com/xl04GurQer374yogi24hRkvUcXtMStMOcOo86Sprmrid9j6wQHF0d9xMh73CwUEg57lbsGIwpOXgrJ927Q",
    "https://play-lh.googleusercontent.com/c1jnjL-9CIFlwlTMX3xNyeo8aEH39sNuC5zpTHhfW8keGxQE3TBMRX9Rm3VqM3E03Cyl9AqtnxuKvxJpcW0WCA"
  ],
  "url": "https://play.google.com/store/apps/details/Spotify_Music_and_Podcasts?id=com.spotify.music&hl=en"
}
FieldTypeDescription
idstringThe Android package id. package_id mirrors it.
titlestringThe app's display name as shown on its Google Play page.
developerstringThe developer name from the listing. developer_url points to their site.
descriptionstringThe app description text from the store page.
categorystringThe Google Play application category, e.g. MUSIC_AND_AUDIO.
operating_systemstringThe platform for the listing, e.g. ANDROID.
content_ratingstringThe app's content rating, e.g. Teen.
pricenumberNumeric price in the storefront currency. is_free is true when the price is 0.
is_freebooleanTrue when the listed price is zero, false when the app is paid, null when no offer is present.
ratingnumberAverage user rating parsed from the listing's aggregate rating, as a full decimal.
reviews_countintegerTotal number of ratings from the listing's aggregate rating.
iconstringURL of the app icon. thumbnail mirrors it.
screenshotsarrayScreenshot URLs harvested from the Play CDN, de-duped and in document order.
urlstringThe canonical play.google.com listing URL for the app.
common builds

What you can ship with it

>

Cross-store app tracking

Pair a package id here with its App Store id to watch one app's rating, reviews, and price move on both Google Play and Apple at once.
>

Competitor monitoring

Resolve a list of rival package ids into rating, review count, category, and price so you can track how competing Android apps perform.
>

App catalogs and directories

Enrich a spreadsheet of package ids into clean rows: title, developer, icon, category, and screenshots for a searchable app database.
>

Rating and price alerts

Poll an app daily and store rating, reviews_count, and price to fire an alert when the score dips or the price changes.
>

Market research

Pull category, price, content rating, and review volume across a set of Android apps to size a market segment before you build.
>

Store listing sync

Read the live Google Play listing to keep your own site's app cards, descriptions, and screenshots current with the store.
why it works

Why our Google Play Store Scraper API earns its keep

Pass a package id or a play.google.com URL and we return the parsed listing, with no store API to wait on and no proxy pool of your own to run. Every request rotates proxies, handles anti-bot checks, and retries across tiers, returning validated JSON with a stable schema in about 2.6 seconds.

*

Package id or URL input

Look an app up by its Android package id or a full play.google.com URL, both resolved server side to the same listing.
*

Resilient parsing

We read the stable JSON-LD block plus meta tags and the Play CDN, so the response holds up when Google shifts its internal data offsets.
*

Anti-bot and proxy rotation

Rotating residential and datacenter proxies with anti-bot handling get past the consent and captcha walls that block datacenter IPs.
*

Auto-retry across pools

A consent shell or blocked fetch retries through paid-residential, datacenter, and free proxy tiers before a response is returned.
*

Language and region control

The hl and gl parameters set the listing language and storefront country, so you can read a listing as a given locale sees it.
*

Screenshots included

Screenshot URLs are harvested from the Play CDN and de-duped, so image assets come back alongside the listing text.
comparison table

Google Play Store Scraper API vs official and roll-your-own

Our APIDIY (requests / headless)Official Google Play API
App data accessParsed JSON from one callParse the store HTML yourselfNo public app-data API exists
SetupAPI key onlyProxies, headless browser, parsersNot available
Consent and captcha wallsHandled by proxy rotationYou solve them per requestNot applicable
Language and regionhl and gl parametersYou set them per requestNot applicable
Anti-bot and proxiesBuilt inYou build and maintain itNot applicable
OutputValidated JSON, stable schemaWhatever you parseNot applicable
what you pay

From free to high volume

PlanPriceBest for
Free1,000 requestsTesting and small jobs
Pro$0.60 / 1kProduction workloads
Pay-as-you-go$0.90 / 1kSpiky or one-off volume

Median response 2.6s. You only pay for successful requests.

FAQ

What is a Google Play Store scraper?

A Google Play Store scraper is a tool that reads a public app listing on Google Play and returns it as structured data. Our Google Play Store scraper API takes an Android package id or a play.google.com URL and returns the title, developer, rating, review count, category, content rating, price, icon, and screenshots as JSON from a single request.

Is there an official Google Play API for app data?

No. Google Play has no public API that returns app listing data such as ratings, reviews, or descriptions. The Google Play Developer API covers publishing and managing your own apps, not reading arbitrary listings. That is why a scraper that parses the public store page is the practical way to get Google Play app data, which is what this endpoint does.

How do I get Google Play data by package id?

Send one GET request to our googleplay/product endpoint with id set to the package id, for example com.spotify.music, or a full play.google.com URL, which we parse for the package id. Add hl for language and gl for storefront country. We handle proxies, consent walls, and retries and return the listing as clean JSON.

Can I read a listing in another language or country?

Yes. The hl parameter sets the content language (default en) and the gl parameter sets the storefront country (default us). The description, price, and availability reflect the locale you request, so you can compare a listing across regions and languages.

Do I need a Google account or API key?

No. You only need an appstorescraperapi key passed as the api_key query parameter. There is no Google account, no Play Console access, and no OAuth. The endpoint reads the public listing any visitor can see, and the free tier includes 1,000 requests per month.

How fast is the Google Play Store scraper API?

Median end-to-end response is about 2.6 seconds, including proxy routing, anti-bot handling, retries, and parsing. Because Google Play serves a consent or captcha interstitial to repeat datacenter traffic, the proxy rotation and retries behind the endpoint are what keep listing requests returning the real page instead of a block.

Stream google play store api as JSON
Spin up free with 1,000 requests.
Get a free API key Endpoint catalog