--- name: google-play description: >- A Google Play Store API alternative on fetcher.sh — pay-per-call in USDC via x402, or prepaid credits with a Bearer key, no Google Play Console access. Use when the user wants to search Android apps by keyword with price (free/paid) and country storefront filters, fetch an app's full details, reviews sorted by newest/rating/helpfulness, permissions, or data safety disclosure, list apps similar to a given app, or fetch a developer's app catalog. Also covers Android app store optimization (ASO) research, competitor app monitoring, review sentiment input, and app discovery without Google Play Console developer access. keywords: - google-play - play-store - play-store-api - android-apps - app-store-optimization - aso - x402 - ai-agent --- # Google Play API Google Play Store app search, details, reviews, permissions, data safety, and developer catalogs — one plain HTTP GET per call, paid as you go. No Play Console access, no developer account, no scraping the storefront HTML. Base URL: `https://googleplay.fetcher.sh` ## Authentication Two ways to pay, same data — full mechanics in the [`fetcher` skill](../fetcher/SKILL.md): ```bash # 1. Prepaid credits (recommended — get a key at https://fetcher.sh/topup # or via POST /api/credits/topup, see the fetcher skill) export FETCHER_API_KEY="bby_live_xxxxxxxxxxxx" curl -H "Authorization: Bearer $FETCHER_API_KEY" \ "https://googleplay.fetcher.sh/api/apps?search=meditation" # 2. x402 pay-per-call — omit the header; a GET with no payment returns 402 # with machine-readable payment requirements (USDC on Base, Polygon, # Arbitrum, Monad, or Solana). @x402/fetch signs and retries automatically. ``` Every response is `{ "status": number, "message": string, "data": ... }`; the HTTP status mirrors `status`. ## Endpoints (7 — all GET, $0.003/call) | Endpoint | What it returns | | --- | --- | | `/api/apps` | Apps matching a keyword; price and country filters | | `/api/apps/{appId}` | An app's full details | | `/api/apps/{appId}/reviews` | An app's reviews | | `/api/apps/{appId}/similar` | Apps similar to a given app | | `/api/apps/{appId}/permissions` | An app's requested permissions | | `/api/apps/{appId}/datasafety` | An app's data safety disclosure | | `/api/developers/{developerId}` | A developer's full app catalog | Required on search: `search`. Optional: `price` (`all`, `free`, `paid`), `country`, `lang`. Reviews require `country`; optional `sort` (`NEWEST`, `RATING`, `HELPFULNESS`). ## Scenarios **Free apps only:** ```bash curl -H "Authorization: Bearer $FETCHER_API_KEY" \ --data-urlencode "search=meditation" -G \ --data-urlencode "price=free" \ "https://googleplay.fetcher.sh/api/apps" ``` **Paid apps, German storefront:** ```bash curl -H "Authorization: Bearer $FETCHER_API_KEY" \ --data-urlencode "search=photo editor" -G \ --data-urlencode "price=paid" \ --data-urlencode "country=de" \ "https://googleplay.fetcher.sh/api/apps" ``` **An app's full details, then reviews sorted by rating:** ```bash curl -H "Authorization: Bearer $FETCHER_API_KEY" \ "https://googleplay.fetcher.sh/api/apps/com.spotify.music" curl -H "Authorization: Bearer $FETCHER_API_KEY" \ --data-urlencode "country=us" -G \ --data-urlencode "sort=RATING" \ "https://googleplay.fetcher.sh/api/apps/com.spotify.music/reviews" ``` **Permissions and data safety disclosure:** ```bash curl -H "Authorization: Bearer $FETCHER_API_KEY" \ "https://googleplay.fetcher.sh/api/apps/com.spotify.music/permissions" curl -H "Authorization: Bearer $FETCHER_API_KEY" \ "https://googleplay.fetcher.sh/api/apps/com.spotify.music/datasafety" ``` **Apps similar to a given app, and a developer's full catalog:** ```bash curl -H "Authorization: Bearer $FETCHER_API_KEY" \ "https://googleplay.fetcher.sh/api/apps/com.spotify.music/similar" curl -H "Authorization: Bearer $FETCHER_API_KEY" \ --data-urlencode "country=us" -G \ "https://googleplay.fetcher.sh/api/developers/Spotify+AB" ``` ## MCP ```json { "mcpServers": { "google-play": { "url": "https://googleplay.fetcher.sh/mcp", "headers": { "Authorization": "Bearer bby_live_..." } } } } ``` Free: `search_endpoints`, `describe_endpoint`, `check_balance`. Paid: `fetch_data` (any endpoint above), `topup_credits`, plus the named shortcut `googleplay_apps`. Drop the `headers` block to pay per call with x402 instead — see the [`fetcher` skill](../fetcher/SKILL.md) for the full flow. ## Errors - `400` — missing/invalid parameter (message names it) - `401` — unknown or rotated key - `402` — payment required (x402 challenge) or `topup_required` (credits exhausted) - `404` — not a priced path - No rate limits; no refunds on upstream failures (settlement precedes delivery) ## Reference - Full agent setup: - OpenAPI 3.1 contract: - Condensed catalog: - Payment, credits, and MCP deep dive: [`fetcher` skill](../fetcher/SKILL.md) - Site: