원본 저장소의 제목, 예시, 코드, 표, 링크, 이미지를 유지해 표시합니다.
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:
# 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:
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:
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:
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:
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:
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
{
"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 for the full flow.
Errors
400— missing/invalid parameter (message names it)401— unknown or rotated key402— payment required (x402 challenge) ortopup_required(credits
exhausted)
404— not a priced path- No rate limits; no refunds on upstream failures (settlement precedes
delivery)
Reference
- Full agent setup: <https://googleplay.fetcher.sh/skill.md>
- OpenAPI 3.1 contract: <https://googleplay.fetcher.sh/openapi.json>
- Condensed catalog: <https://googleplay.fetcher.sh/llms.txt>
- Payment, credits, and MCP deep dive: `fetcher` skill
- Site: <https://googleplay.fetcher.sh>

