Skip to main content
GET
Google Play App Search
Send a query to retrieve ranked app listings. Every item is { app } on the shared App shape, with package ID, title, icon, developer, ratings, price and store URL. Detail-only fields are null; use app-info for those. depth defaults to 30, rounds upward by 30, and caps at 200, the source maximum. This differs from the reference’s 300. Google Play commonly exposes only 30 ranked rows; a live depth=200 check returned 30. requested_depth and effective_depth disclose the request and clamp. No continuation cursor is available. Duplicate IDs retain their first source rank; source_items and deduplicated preserve the difference. total is the returned unique count. source_reported_results may be zero for a nonempty page and is not a global result count. Country accepts one of 211 DataForSEO country locations by ISO code, country name or numeric location code (US, United Kingdom, 2840). UK aliases GB. Language accepts one of 127 source locale codes and defaults to en. US and GB English are the live acceptance fixtures; other configured locales are not individually certified. Unsupported inputs fail before task submission. Nonempty uncached responses cost 5 credits. Empty search results, errors, cache and replay are free. Use X-Max-Credits: 5 and allow a 60-second client timeout. A task that remains pending returns an uncharged UPSTREAM_TASK_PENDING; retrying the same parameters reuses durable task state for one hour instead of submitting another task.
The existing DataForSEO key and free balance are reused. New Google Play tasks share a non-resetting 140-unit verification ceiling: one unit per detail or per 30 requested search rows (at most seven for a search). Missing or exhausted budget state fails closed. No top-up or paid plan is enabled; sustained capacity remains unconfigured.

Authorizations

x-api-key
string
header
required

Headers

Cache-Control
string
Idempotency-Key
string
X-Max-Credits
integer

Optional nonnegative integer cap on the maximum request hold. A live request whose hold exceeds this cap returns 422 CREDIT_BUDGET_EXCEEDED before spending. Metered holds use the requested limit; cache hits and successful idempotent replays cost zero.

Required range: x >= 0

Query Parameters

query
string
required
country
string

One of 211 source countries by ISO code, full country name or numeric location code. UK aliases GB. Default US; only US and GB live-tested.

language
string

One of 127 source language codes. Default en; only English live-tested.

depth
integer

Positive requested depth, default 30; rounds upward by 30 and caps at 200, the documented source maximum. Organic keyword search usually returns only about 30 rows. No continuation cursor.

Response

Canonical Google Play search rows wrapped as {app}. Requested depth defaults to 30, rounds up by 30, and caps at 200 (source maximum, lower than the reference 300). Google Play often supplies only 30 ranked rows. Detail-only fields are null. Country accepts one of 211 source country codes, full names or numeric location codes; language accepts 127 source codes. Nonempty fresh responses cost five credits. Empty search, failures, cache and replay cost zero. New tasks share a finite persistent trial allowance; pending tasks are reused on retry for one hour. Only US/GB English were live-tested.

success
boolean
required
platform
string
required
endpoint
string
required
credits_used
integer
required
Required range: x >= 0
credits_remaining
integer | null
required
request_id
string
required
cached
boolean
required
data
object
required

The selected operation determines the resource fields in this object. Source data can omit a metric or report it as null.