Imported from fetcher-sh/fetcher-skills (
skills/app-store/SKILL.md) via skills.sh. Install upstream withnpx skills add fetcher-sh/fetcher-skills --skill app-store. Copyright stays with the author.
Apple App Store API
App Store app and bundle search, details, reviews, similar-apps, and developer catalogs across any country storefront — one plain HTTP GET per call, paid as you go. No Apple Developer Program membership, no App Store Connect access, no scraping the storefront HTML.
Base URL: https://appstore.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://appstore.fetcher.sh/api/apps?term=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 (9 — all GET, $0.003/call)
| Endpoint | What it returns |
|---|---|
/api/apps |
Apps matching a keyword; page and country storefront 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/bundles |
App bundles matching a keyword |
/api/bundles/{bundleId} |
A bundle's full details |
/api/bundles/{bundleId}/reviews |
A bundle's reviews |
/api/bundles/{bundleId}/similar |
Bundles similar to a given bundle |
/api/developers/{developerId} |
A developer's full app catalog |
Required on /api/apps and /api/bundles: term. Optional everywhere:
country (storefront, e.g. us, jp, de), lang, page. Reviews
support sort (recent, helpful).
Scenarios
US storefront search:
curl -H "Authorization: Bearer $FETCHER_API_KEY" \
--data-urlencode "term=habit tracker" -G \
--data-urlencode "country=us" \
"https://appstore.fetcher.sh/api/apps"
Japanese storefront search:
curl -H "Authorization: Bearer $FETCHER_API_KEY" \
--data-urlencode "term=camera" -G \
--data-urlencode "country=jp" \
"https://appstore.fetcher.sh/api/apps"
An app's full details, then reviews sorted by helpfulness:
curl -H "Authorization: Bearer $FETCHER_API_KEY" \
--data-urlencode "country=us" -G \
"https://appstore.fetcher.sh/api/apps/324684580"
curl -H "Authorization: Bearer $FETCHER_API_KEY" \
--data-urlencode "country=us" -G \
--data-urlencode "sort=helpful" \
"https://appstore.fetcher.sh/api/apps/324684580/reviews"
Apps similar to a given app:
curl -H "Authorization: Bearer $FETCHER_API_KEY" \
--data-urlencode "country=us" -G \
"https://appstore.fetcher.sh/api/apps/324684580/similar"
Search and fetch app bundles:
curl -H "Authorization: Bearer $FETCHER_API_KEY" \
--data-urlencode "term=photo editing suite" -G \
"https://appstore.fetcher.sh/api/bundles"
curl -H "Authorization: Bearer $FETCHER_API_KEY" \
--data-urlencode "country=us" -G \
"https://appstore.fetcher.sh/api/bundles/1234567890"
A developer's full app catalog:
curl -H "Authorization: Bearer $FETCHER_API_KEY" \
"https://appstore.fetcher.sh/api/developers/284882218"
MCP
{
"mcpServers": {
"app-store": {
"url": "https://appstore.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
appstore_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://appstore.fetcher.sh/skill.md
- OpenAPI 3.1 contract: https://appstore.fetcher.sh/openapi.json
- Condensed catalog: https://appstore.fetcher.sh/llms.txt
- Payment, credits, and MCP deep dive:
fetcherskill - Site: https://appstore.fetcher.sh