Google Play Search
Search for apps, games, and other content on Google Play based on keywords.
If you already know that you want to use Google Play Search, this page is the one you should read. It shows the required input, the filters you can apply, how pagination works, and what localization controls are available.
At a Glance
| Field | Value |
|---|---|
| Name | Google Play Search |
| Scraper | google_play_search |
| Engine | google_play_search |
| Website | Google Play |
| Website URL | googleplay.com |
| Output Format | json |
| Version | 1.0.0 |
| Parameter Count | 5 |
| Parameter Groups | Search Query (1), Localization (2), Advanced Parameters (1), Request Controls (1) |
Request Example
This is the real request body used to validate google_play_search during this docs refresh. For /v1/serp, the engine field should be the engine's scraper value.
curl -X POST "https://run.xcrawl.com/v1/serp" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"engine":"google_play_search","q":"browser"}'Response Example
The JSON below comes from the same live response. Long strings, data URLs, and large arrays were shortened so the example stays readable.
{
"search_metadata": {
"cached": true,
"created_at": "2026-03-26 08:22:04 UTC",
"id": "01KMMKRPKQP615TBSERJ5GJM43",
"json_endpoint": "https://serp.xcrawl.com/01KMMKRPKQP615TBSERJ5GJM43.json",
"processed_at": "2026-03-26 08:22:04 UTC",
"raw_html_file": "https://serp.xcrawl.com/01KMMKRPKQP615TBSERJ5GJM43.html",
"status": "completed",
"total_time_taken": 9
},
"search_parameters": {
"engine": "google_play_search",
"q": "browser"
},
"total_credits_used": 1,
"organic_results": [
{
"items": [
{
"author": "Brave Software",
"category": "Communication",
"description": "<b>Browse 3X faster on Brave Browser.</b> Get a lightning fast, safe and private web browser with AI, Adblock, and VPN. <br><br>Loved by over 100 million users, Brave has AI assistant Brave Leo, Firewall + VPN, Brave Sea... [truncated, 3145 chars]",
"downloads": "100,000,000+",
"feature_image": "https://play-lh.googleusercontent.com/45reN4o-43FSN0uIEOdg2L6USFIMXLUiJKgIfGcc5rIDjtqO2KYa9I67z3BQuozQ2YWK",
"link": "https://play.google.com/store/apps/details?id=com.brave.browser",
"_note": "4 more fields omitted"
},
{
"_note": "24 more items omitted"
}
]
}
]
}Required Parameters
If you are sending your first request with this engine, start here. Requiredness is based on properties.<field>.must, not the top-level required array.
| Field | Type | Group | Description |
|---|---|---|---|
q | string | Search Query | The keyword or phrase you want this search engine to look up. |
Available Parameters
The sections below follow the same parameter groups as the backend, but the field descriptions have been rewritten into shorter, user-facing wording so they are easier to scan.
Search Query
| Field | Type | Required | Description |
|---|---|---|---|
q | string | Yes | The keyword or phrase you want this search engine to look up. |
Localization
| Field | Type | Required | Description |
|---|---|---|---|
gl | string | No | Country or region code used to localize the results. |
hl | string | No | Interface language used for the search and returned SERP labels. |
Additional Constraints
gl:Default:us;Options: 244 options. Examples:af,al,dz,as,adhl:Options: 157 options. Examples:af,ak,sq,ws,am
Advanced Parameters
| Field | Type | Required | Description |
|---|---|---|---|
age | string | No | Filter family-app results by child age range. |
Additional Constraints
age:Options: 3 options. Examples:AGE_RANGE1,AGE_RANGE2,AGE_RANGE3
Request Controls
| Field | Type | Required | Description |
|---|---|---|---|
no_cache | boolean | No | Skip cached results and force a fresh fetch. |
Additional Constraints
no_cache:Default:false
