Skip to main content

Overview

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, rating and rating_count (plus current-version ratings), genres and genre_ids, minimum_os_version, file_size_bytes, content_rating, advisories, language_codes, supported_devices and every artwork URL.
  • extras enrichment — the storefront page adds what the API omits: the 1–5 star rating_histogram, the in_app_purchases price 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, mostRecent or mostHelpful, 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

Search is capped at 200 results per query, with no deep paging. Apple’s Search API rejects its own offset parameter, so offset here is a slice of one 200-result response and offset + limit is capped at 200.
  • Reviews stop at page 10 (500 reviews per storefront per sort). Apple hard-rejects page 11+, so the ceiling is enforced with a clear 400 rather than a confusing upstream error.
  • Charts return up to 200 entries; rank is the app’s position in the feed.

Other notes

  • Reviews are per-storefront, not translations: the us and de feeds 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 its app_id.
  • extras is 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. Set include_extras=false to skip the second fetch entirely.

Errors

Search results carry the same ~40 fields as the detail endpoint, so a search hit rarely needs a follow-up lookup unless you want extras.