Scraper API for the Apple App Store
The ScrapeBadger App Store API returns Apple’s app catalogue as JSON: full app detail (bundle id, version, pricing, ratings, genres, minimum OS, file size, screenshots, in-app purchases and what’s new), full-text search, per-storefront customer reviews, a developer’s catalogue and the top-free / top-paid / top-grossing charts.All endpoints are
GET, live under https://scrapebadger.com/v1/app-store/*,
and authenticate with the X-API-Key header. Credits are charged per request
(see the table below) and reported on the X-Credits-Used response header.Features
- Two ids, one route —
/apps/{app_id}accepts either the numeric track id (310633997) or the bundle id (com.whatsapp). A value containing a dot is treated as a bundle id. - Rich detail — around 40 core fields per app:
bundle_id,version,price/formatted_price,ratingandrating_count(plus current-version ratings),genresandgenre_ids,minimum_os_version,file_size_bytes,content_rating,advisories,language_codes,supported_devicesand every artwork URL. extrasenrichment — the storefront page adds what the API omits: the 1–5 starrating_histogram, thein_app_purchasesprice list, full-resolution iPhone and iPad screenshots with dimensions,whats_new, chart position, Editors’ Choice and the App Privacy (“nutrition label”) breakdown.- Reviews — 50 per page, pages 1–10,
mostRecentormostHelpful, with Apple’s helpful-vote counts. - Charts — top-free, top-paid and top-grossing for iPhone or iPad, optionally scoped to a genre.
- Dual timestamps — every date ships twice:
*_utc(Unix seconds) and*_at(ISO 8601 UTC).
Storefronts and catalogues
country is Apple’s storefront code (lowercase ISO 3166-1 alpha-2, e.g. us,
de, jp) and governs pricing, availability, review sets and charts.
GET /v1/app-store/markets
(free) lists 170 storefronts; any well-formed 2-letter code is accepted and
Apple arbitrates.
entity on /search picks the catalogue, and the catalogues are separate
rather than filters — software (iPhone), iPadSoftware and macSoftware. A
Mac-only app is absent from software entirely.
Credits
Quickstart
Result depth
- Reviews stop at page 10 (500 reviews per storefront per sort). Apple
hard-rejects page 11+, so the ceiling is enforced with a clear
400rather than a confusing upstream error. - Charts return up to 200 entries;
rankis the app’s position in the feed.
Other notes
- Reviews are per-storefront, not translations: the
usanddefeeds for one app are different review sets. - Reviews need a numeric id. Apple’s review feed has no bundle-id form —
resolve a bundle id through
/apps/{bundle_id}first and use itsapp_id. extrasis best-effort. It comes from Apple’s server-rendered product page, a web-client implementation detail; if that fetch or parse fails the response degrades to the core iTunes fields rather than failing. Setinclude_extras=falseto skip the second fetch entirely.
Errors
ScrapeBadger is an independent tool and is not affiliated with, endorsed by, or sponsored by Apple. “Apple” and “App Store” are trademarks of Apple Inc., used here only to describe the platform this scraper is designed to work with.

