~ / endpoints / Android App Data API

Android App Data Scraper API

Our Android app data scraper turns any keyword into the ranked Google Play results: package id, title, developer, category, install count, and listing URL per app, returned as structured JSON from one request.

Get a free API keyEndpoint catalog
1,000
free requests / mo
2.6s
median response
50
max results / call
JSON
structured output

Why it is hard

Google Play search results live inside an obfuscated data blob in the page, so the package ids and titles you want sit behind nested arrays that shift with every layout change. Hit the search page from a datacenter IP and Google is quick to answer with a consent redirect or a captcha instead of results.

Quickstart

cURL
curl "https://api.appstorescraperapi.com/api/v1/googleplay/search?q=spotify&limit=20&api_key=$API_KEY"
Python
import requests

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

# One keyword in, the ranked Google Play results out as JSON.
data = requests.get(
    f"{BASE}/api/v1/googleplay/search",
    params={
        "q": "spotify",   # the search query
        "hl": "en",       # content language
        "gl": "us",       # storefront country
        "limit": 20,       # up to 50 results
        "api_key": API_KEY,
    },
    timeout=30,
).json()

print(data["query"], "-", data["total_results"], "results")
for app in data["results"]:
    print(app["position"], app["package_id"], app["title"], app["installs"])

Response

200 OK
{
  "query": "spotify",
  "page": 1,
  "total_results": 20,
  "results": [
    {
      "position": 1,
      "id": "com.spotify.music",
      "package_id": "com.spotify.music",
      "title": "Spotify: Music and Podcasts",
      "category": null,
      "developer": null,
      "installs": null,
      "url": "https://play.google.com/store/apps/details?id=com.spotify.music"
    },
    {
      "position": 2,
      "id": "com.spotify.tv.android",
      "package_id": "com.spotify.tv.android",
      "title": "Spotify: Music & Podcasts",
      "category": "Music & Audio",
      "developer": "Spotify AB",
      "installs": "100,000,000+",
      "url": "https://play.google.com/store/apps/details?id=com.spotify.tv.android"
    }
  ]
}
FieldTypeDescription
querystringThe search query echoed back from your request.
pageintegerThe result page number for this response, starting at 1.
total_resultsintegerNumber of results returned in this response.
resultsarrayRanked app results, each an object with the fields below.
positionintegerThe app's rank in the results, starting at 1.
idstringThe Android package id for the result. package_id mirrors it.
titlestringThe app's display name.
categorystringThe app's Google Play category when present in the result cluster, e.g. Music & Audio.

Use it for

>

Keyword rank tracking

Run target keywords on a schedule and store each app's position to chart how your listing rises or falls in Google Play search.
>

Competitor discovery

Search a category term to see which Android apps rank for it, then feed their package ids to the product endpoint for full detail.
>

Install-band benchmarking

Read the installs field across the top results to gauge how big the leading apps in a niche are before you enter it.
>

App discovery tools

Power an internal search feature by querying the endpoint and rendering the ranked package ids, titles, and developers.

Under the hood

Pricing

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 an Android app data scraper?

An Android app data scraper is a tool that reads Google Play and returns app data as structured output. Our Android app data scraper API takes a search query and returns the ranked results, each with the package id, title, and, where available, developer, category, and install band, as JSON. Pass any result's package id to the product endpoint for the app's full listing, ratings, and price.

How do I scrape Google Play search results?

Send one GET request to our googleplay/search endpoint with q set to your query and your API key. Optionally add hl for language, gl for storefront country, and limit for how many results you want, up to 50. We handle proxies, consent walls, and retries and return the ranked results as clean JSON.

Where are rating and price on search rows?

Google Play does not put rating or price in the search result cluster; those fields live only on each app's detail page. The search endpoint omits them from search rows so the response carries only what the cluster actually provides, and every row includes the package id, so you call googleplay/product with that id to get the rating, review count, and price for the apps you care about.

How many results can I get per search?

Up to 50 per call. A Google Play search page holds about 20 apps, and the limit parameter defaults to 20 with a hard cap of 50. Each result includes the package id and listing URL, so you can enrich the ones you need through the product endpoint.

Do I need a Google account to scrape Android app data?

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 Google Play's public search results, and the free tier includes 1,000 requests per month.

How fast is the Android app data scraper API?

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

Get android app data api as JSON
Free plan, 1,000 requests. No credit card required.
Get a free API key All endpoints