TidyTools

Google Play app details

POST https://tools.yukai.uk/api/v1/appstore/play/app

Get Google Play app details. Details of one Google Play app in one language and country: title, developer, rating, ratings and reviews count, star histogram, installs range, price and currency, in-app purchases, ads, genre and categories, release and last-update dates, version, minimum Android version, content rating, description, release notes, icon, screenshots and video.

Cost

Credits: 9 ($0.0009) per successful call. Failed calls are free. Source price: apple-app-store-reviews/app-details.

Input

Send a JSON body (POST) or the same fields as a query string (GET).

Required: app.

FieldTypeDefaultDescription
app requiredstringGoogle Play package name (com.spotify.music) or a Play Store app URL (https://play.google.com/store/apps/details?id=com.spotify.music&hl=en&gl=us; its hl / gl are used when lang / country are not given). Aliases: appId, id, url.
langstring"en"Language of the store text and of the reviews (en, ja, pt-BR, zh-TW...). Alias: hl.
countrystring"us"Two-letter Google Play country (prices, currency, availability). Alias: gl.

Examples

Replace tt_live_XXXX with your key from the pricing page.

curl

curl -i -X POST "https://tools.yukai.uk/api/v1/appstore/play/app" \
  -H "Authorization: Bearer tt_live_XXXX" \
  -H "Content-Type: application/json" \
  -d '{"app":"com.spotify.music"}'

JavaScript (fetch)

const res = await fetch("https://tools.yukai.uk/api/v1/appstore/play/app", {
  method: "POST",
  headers: { "Authorization": "Bearer tt_live_XXXX", "Content-Type": "application/json" },
  body: JSON.stringify({"app":"com.spotify.music"}),
});
console.log(res.status, res.headers.get("x-credits-charged"), res.headers.get("x-credits-balance"));
console.log(await res.json());

Python (requests)

import requests

r = requests.post(
    "https://tools.yukai.uk/api/v1/appstore/play/app",
    headers={"Authorization": "Bearer tt_live_XXXX"},
    json={"app": "com.spotify.music"},
    timeout=120,
)
print(r.status_code, r.headers.get("x-credits-charged"), r.headers.get("x-credits-balance"))
print(r.json())

Response

JSON with "success": true and the result fields; on failure {"success": false, "error": {"code", "message", "retryable"}} and no credits are used. Every answer carries x-credits-charged (credits used) and x-credits-balance (balance after the call); check the balance any time with GET https://tools.yukai.uk/v1/billing/balance.

Full field list and response schema: OpenAPI spec app-store (its servers entry is the marketplace gateway; call https://tools.yukai.uk with your key).

← All routes · Pricing