---
title: "Google Play Store API"
description: "Use SerpApi's Google Play Apps Store API to scrape Google Play Store."
url: https://serpapi.com/google-play-api
site: "SerpApi – Real-time search engine results API"
signup: https://serpapi.com/users/sign_up
engine: "google_play"
docs:
  pricing: https://serpapi.com/pricing.md
  integrations: https://serpapi.com/integrations.md
---

# Google Play Store API

Use SerpApi's Google Play Apps Store API to scrape Google Play Store.

## Example Request

```
GET https://serpapi.com/search?api_key=YOUR_API_KEY&engine=google_play&q=QUERY
```

## API parameters

### Search Query

| Parameter | Required | Description |
|-----------|----------|-------------|
| `q` | No | Parameter defines the query you want to search in Google Play Apps Store. |

### Localization

| Parameter | Required | Description |
|-----------|----------|-------------|
| `gl` | No | Parameter defines the country to use for the Google Play search. It's a two-letter country code. (e.g., `us` (default) for the United States, `uk` for United Kingdom, or `fr` for France). You can find the full list of Google Play country availability here: [Google Play Countries](https://support.google.com/googleplay/answer/143779?sjid=7472676443743088438-EU). Afterwards, head to the [Google countries page](https://serpapi.com/google-countries) page for a two-letter country code. |
| `hl` | No | Parameter defines the language to use for the Google Play search. It's a two or three-letter language code. (e.g., `en` for English, `es` for Spanish, or `fr` for French), optionally followed by a two-letter or three-digit region code (e.g., `en-gb` for British English, or `es-419` for Latin American Spanish). Head to the [Google languages page](https://serpapi.com/google-languages) for a full list of supported Google languages. |

### Play Store categories

| Parameter | Required | Description |
|-----------|----------|-------------|
| `apps_category` | No | Parameter defines the apps store category. Head to the Google Play store [Apps Categories](https://serpapi.com/google-play-apps-categories) for a full list of supported Google Play Apps store categories. |

### Advanced parameters

| Parameter | Required | Description |
|-----------|----------|-------------|
| `store_device` | No | Parameter defines the device for sorting results. This parameter cannot be used with&nbsp;`apps_category` or&nbsp;`q` parameters. Available options: `phone` - Phone device (default) `tablet` - Tablet device `tv` - TV device `chromebook` - Chromebook device `watch` - Watch device `car` - Car device |
| `age` | No | Parameter defines age subcategory.&nbsp;`age` works, and should only be used with  `apps_category=FAMILY`(Kids Apps)  It can be set to: `AGE_RANGE1` - Ages up to 5 `AGE_RANGE2` - Ages 6-8 `AGE_RANGE3` - Ages 9-12   The default value for&nbsp;`age` is: - All ages up to 12 |

### Pagination

| Parameter | Required | Description |
|-----------|----------|-------------|
| `next_page_token` | No | Parameter defines the next page token. It is used for retrieving the next page results. It shouldn't be used with the&nbsp;`section_page_token`,&nbsp;`see_more_token`, and&nbsp;`chart` parameters. |
| `section_page_token` | No | Parameter defines the section page token used for retrieving the pagination results from individual sections. This parameter is a safer version of `see_more_token`, and is found in every row you can paginate into. It shouldn't be used with the&nbsp;`next_page_token`,&nbsp;`see_more_token`, and&nbsp;`chart` parameters |
| `chart` | No | Parameter is used for showing top charts. It can return up to `50` results. Each store contains different charts which require different values for retrieving results. To get the value of a specific chart you can use our Google Play Apps Store API JSON output: `chart_options[index].value` (e.g. `chart=topselling_free`). It shouldn't be used with the&nbsp;`section_page_token`,&nbsp;`see_more_token`, and&nbsp;`next_page_token` parameters |
| `see_more_token` | No | Parameter defines the see more token used for retrieving the pagination results from individual sections It is usually found in next page results. It shouldn't be used with the&nbsp;`section_page_token`,&nbsp;`next_page_token`, and&nbsp;`chart`, parameters |

### SerpApi parameters

| Parameter | Required | Description |
|-----------|----------|-------------|
| `engine` | **Yes** | Set parameter to `google_play` to use the Google Play API engine. |
| `no_cache` | No | Parameter will force SerpApi to fetch the Google Play results even if a cached version is already present. A cache is served only if the query and all parameters are exactly the same. Cache expires after 1h. Cached searches are free, and are not counted towards your searches per month. It can be set to `false` (default) to allow results from the cache, or `true` to disallow results from the cache. `no_cache` and `async` parameters should not be used together. |
| `async` | No | Parameter defines the way you want to submit your search to SerpApi. It can be set to `false` (default) to open an HTTP connection and keep it open until you got your search results, or `true` to just submit your search to SerpApi and retrieve them later. In this case, you'll need to use our [Searches Archive API](https://serpapi.com/search-archive-api) to retrieve your results. `async` and `no_cache` parameters should not be used together. `async` should not be used on accounts with [Ludicrous Speed](https://serpapi.com/plan) enabled. |
| `zero_trace` | No | Enterprise only. Parameter enables [ZeroTrace mode](https://serpapi.com/zero-trace-mode). It can be set to `false` (default) or `true`. Enable this mode to skip storing search parameters, search files, and search metadata on our servers. This may make debugging more difficult. |
| `api_key` | **Yes** | Parameter defines the SerpApi private key to use. |
| `output` | No | Parameter defines the format of the result. It can be set to `json` (default) to get a structured JSON of the results, `html` to get the raw HTML retrieved, or `md` to get a Markdown-formatted version optimized for LLMs and AI agents. |
| `json_restrictor` | No | Parameter defines the fields you want to include in the output, reducing payload size for faster response. See the [JSON Restrictor documentation](https://serpapi.com/json-restrictor) for more details. |

## Response Example

Truncated sample response. URLs are illustrative and not accessible.

```json
{
  "organic_results": [
    {
      "items": [
        {
          "title": "Extreme Car Driving Simulator",
          "link": "https://play.google.com/store/apps/details?id=com.aim.racing",
          "product_id": "com.aim.racing",
          "serpapi_link": "https://serpapi.com/search.json?engine=google_play_product&gl=us&hl=en&platform=phone&product_id=...",
          "rating": 4.3,
          "author": "AxesInMotion Racing",
          "category": "Racing",
          "downloads": "500,000,000+",
          "video": "https://www.youtube.com/embed/mX74p4OBFN0?ps=play&vq=large&rel=0&autohide=1&showinfo=0",
          "thumbnail": "https://play-lh.googleusercontent.com/6NEtpPjWbslnt7WzHb4A1sYM6GiX_VdIhA6O9gAvJcf-GlmnEkfMQwPzAD7...",
          "description": "Extreme Car Driving Simulator is the open world car simulator since 2014, thanks to its advanced ..."
        }
      ]
    }
  ],
  "serpapi_pagination": {
    "next": "https://serpapi.com/search.json?engine=google_play&gl=us&hl=en&next_page_token=SECT_YpcBSkAKPggUE...",
    "next_page_token": "..."
  }
}
```

