Google Play
Google Play Search API
Search the Google Play store and get back ranked apps as JSON: package name, title, developer, star rating, install count, price and in-app-purchase range, content rating, icon, header image and screenshots. A branded query returns the store's hero card as result 1, projected down to the same row shape as the list below it. One shelf of results, no pagination. Costs 2 credits.
Authorizations
AuthorizationstringheaderrequiredBearer authentication header of the form Bearer <token>, where <token> is your Scavio API key (e.g. Bearer sk_live_your_key).
Body
application/jsonquerystringrequiredWhat to search the store for, 1-200 characters: an app name, a publisher, or a category phrase. Apps only — games are folded into the apps vertical, but books and films use a different card shape and are not covered.
Example: spotify
hlstringdefault:enInterface language, 2-20 characters (en, pt-BR, ja). This changes the STOREFRONT, not only the strings: at hl=pt-BR the title, description, install formatting and content rating all move with it. Play silently falls back to English on a value it does not serve — you get a 200 with US data, not an error.
Example: pt-BR
glstringdefault:usCountry code, 2-10 characters, deciding which storefront's price, currency and availability are returned. Play silently falls back to the US storefront on a country it does not serve.
Example: de
Request
from scavio import ScavioClient
client = ScavioClient(api_key="sk_live_your_key")
# One shelf of apps - there is no page or cursor param.
results = client.google_play.search("spotify", hl="en", gl="us")
for app in results["data"]["results"]:
print(app["pos"], app["app_id"], app["title"], app["score"], app["installs"])
# The package name is what every other Google Play endpoint takes.
detail = client.google_play.app(results["data"]["results"][0]["app_id"])Response