Dedicated ScrapersApple App Store Scraper API
Apple App Store logoDedicated App Store API

Apple App Store Scraper API — Apps, Reviews & Charts

The fastest way to start scraping the Apple App Store at scale. Structured JSON for app search, full listing detail with both lifetime and current-version ratings, customer reviews, developer portfolios and Top Free / Top Paid / Top Grossing charts — on every storefront. No Apple Developer account.

7Endpoints
150+Storefronts
3Chart types
1–5★Version-level ratings

No credit card required · PAYG credits never expire

GET /v1/app-store/apps/324684580
# Full listing for one App Store app
import scrapebadger

client = scrapebadger.ScrapeBadger("sb_live_...")

app = client.app_store.app(
    app_id="324684580",
    country="us",
)
200 OK1.4s · 5 credits
{
  "app_id": "324684580",
  "bundle_id": "com.spotify.client",
  "title": "Spotify: Music and Podcasts",
  "developer": "Spotify",
  "score": 4.8,
  "current_version_score": 4.6,
  "reviews": 29184112,
  "price": 0
}
API Reference

App Store API — 7 Dedicated Endpoints

Structured JSON responses with normalized data models. No HTML parsing. No proxy management. No Apple Developer account.

GET
/v1/app-store/search
Keyword search per storefront with entity, limit, offset and language — apps, or any other App Store entity
5 cr / req
GET
/v1/app-store/apps/{app_id}
Full listing for one numeric track id — price, size, ratings, screenshots, release notes and version history
5 cr / req
GET
/v1/app-store/apps/{app_id}/reviews
Customer reviews, pages 1–10, sorted by most recent or most helpful
5 cr / req
GET
/v1/app-store/developers/{developer_id}
Every app a developer publishes on the storefront, in one call
5 cr / req
GET
/v1/app-store/charts
Top Free, Top Paid and Top Grossing rankings, optionally narrowed to a genre
5 cr / req
GET
/v1/app-store/genres
Every App Store genre id you can filter charts by — free, costs no credits
0 cr / req
GET
/v1/app-store/markets
Supported two-letter storefront country codes — free, costs no credits
0 cr / req
Response Schema

Every Field You Need, Ready to Use

All fields are normalized from Apple's own listing data — no HTML for you to parse. App detail carries the current-version rating alongside the lifetime average, which is where a bad release shows up first.

App

app_id / bundle_idstringNumeric track id and the reverse-DNS bundle identifier
title / subtitlestringListing title and the short subtitle beneath it
descriptionstringFull store description as Apple serves it
developerobjectDeveloper name, numeric id, website and store URL
price / currencyfloat / stringPrice in the storefront’s own currency, 0 for free apps
score / reviewsfloat / integerAverage star rating and the number of ratings behind it
current_version_scorefloatRating for the current version only — often very different from lifetime
version / updatedstringCurrent version string and last-update timestamp
release_notesstringThe “what’s new” notes for the current release
sizeintegerDownload size in bytes
content_ratingstringAge rating and the advisories behind it
genres / genre_idsarrayPrimary and secondary genres with their chart-filter ids
screenshots / ipad_screenshotsarrayFull-resolution store media per device class
supported_devices / languagesarrayDevice compatibility and localisations Apple lists

Review

review_idstringStable review identifier for deduplication
user_namestringReviewer display name
scoreintegerStars this reviewer gave, 1–5
title / textstringReview headline and body
versionstringThe app version the review was left against
updatedstringSubmission timestamp, ISO 8601 UTC
urlstringCanonical link back to the review on the storefront
Coverage

Every storefront, by country code

The App Store is one store per country. Pass a two-letter country code — us by default — and price, currency, availability, ranking and the review pool all resolve against that storefront.

🇺🇸us
🇬🇧gb
🇩🇪de
🇫🇷fr
🇪🇸es
🇮🇹it
🇳🇱nl
🇸🇪se
🇵🇱pl
🇧🇷br
🇲🇽mx
🇨🇦ca
🇯🇵jp
🇰🇷kr
🇨🇳cn
🇮🇳in
🇦🇺au
🇹🇷tr
One app, many stores: the same numeric app id can be priced differently, ranked differently, or missing entirely from storefront to storefront. Call /markets — it is free — for the authoritative country-code list, and /genres for the ids that narrow a chart.
Use Cases

What Developers Build with App Store Data

Scraping the App Store gives you real mobile-market signals — where an app ranks on each storefront, how the current release is being received, and what a competitor's whole portfolio looks like.

Chart & rank tracking

Poll Top Free, Top Paid and Top Grossing per country and genre to see exactly where an app sits and how fast it is climbing — the ranking Apple actually publishes.

Review mining & sentiment

Pull reviews per storefront and version, then split complaints by release. Apple exposes a current-version rating separately, so a bad update is visible immediately.

Competitor & portfolio tracking

Pull a developer’s whole catalogue in one call, then watch pricing, versions and ratings across every app they publish.

ASO & keyword research

Run the same keyword against different storefronts and languages to see which titles, subtitles and metadata win in each market.

AI training datasets

Collect structured app metadata — descriptions, genres, ratings, sizes, device support and review text — for classification and recommendation models.

Cross-storefront comparison

Compare price, availability, rating and rank for the same bundle id across storefronts to find where an app is under-priced or missing entirely.

Pricing

Pay Per Request. Credits Never Expire.

You only pay for successful responses — failed requests are always free. PAYG credits never expire; volume subscription tiers reduce per-credit cost further.

EndpointCredits / requestPAYGSubscription
Search Apps /search5 credits
App Detail /apps/{app_id}5 credits
App Reviews /apps/{app_id}/reviews5 credits
Developer Portfolio /developers/{developer_id}5 credits
Charts /charts5 credits
Genres /genresFree
Markets /marketsFree

See the full plan comparison on the pricing page — subscription tiers step down per-credit cost beyond the cheapest column shown above.

Free trial
1,000 credits free
= 200 search requests
Credits expire
Never
Buy once, use anytime
Failed requests
Always free
Pay for success only
Live cost estimator
Credits per request5
Total credits needed5,000
Loading plans…
Why ScrapeBadger

Built for Reliability at Scale

ScrapeBadger's App Store Scraper API handles everything Apple throws at automated requests — so your pipeline keeps running.

Charts are a first-class endpoint

Top Free, Top Paid and Top Grossing come back as real ranked lists, optionally narrowed to a genre — no scraping a chart page and hoping the layout holds.

Current-version rating, not just lifetime

Apple publishes a separate rating for the current version. A lifetime 4.7 hiding a 2.1 on the latest build is one of the most useful signals on the store, and it is in every app response.

Storefront is explicit

Every call takes a two-letter country code. Price, availability, rank and review pool all resolve against that storefront, so a comparison is never accidentally mixed.

Search beyond apps

The entity parameter lets you search other App Store entity types from the same endpoint, so one integration covers more than software listings.

No Apple Developer account

No App Store Connect access, no Apple ID, no upstream quota. One ScrapeBadger API key covers every endpoint on this page.

Pay per success only

Credits are deducted for successful responses. Blocks and timeouts return a 422 and cost nothing, so you never pay for a retry.

Code Examples

Simple Integration. Any Language.

Get started in minutes with Python, Node.js, or plain HTTP requests.

The scrapebadger Node.js library wraps the App Store API with typed methods. Install with npm install scrapebadger, then start scraping the App Store in a few lines of code.

Node.js — Search + Detail
import ScrapeBadger from 'scrapebadger'

const client = new ScrapeBadger({ apiKey: 'sb_live_...' })

// Meditation apps on the German storefront
const { apps } = await client.appStore.search({
  query: 'meditation',
  country: 'de',
  limit: 25,
})

// Full listing for the top three
for (const a of apps.slice(0, 3)) {
  const app = await client.appStore.app({ appId: a.app_id })
  console.log(app.title, app.score, app.current_version_score)
}
Node.js — Charts + reviews
import ScrapeBadger from 'scrapebadger'

const client = new ScrapeBadger({ apiKey: 'sb_live_...' })

// Who is top-grossing in Health & Fitness in the US?
const { apps } = await client.appStore.charts({
  type: 'top-grossing',
  genre: '6013',
  country: 'us',
})

// Read what the current release is getting complained about
const res = await client.appStore.reviews({
  appId: apps[0].app_id,
  sort: 'recent',
  page: 1,
})

for (const r of res.reviews) {
  console.log(r.score, r.version, r.title)
}
FAQ

Frequently Asked Questions

Common questions about scraping the App Store with the API — Python, Node.js, or REST.

Do I need an Apple Developer account or App Store Connect access?

No. You only need a ScrapeBadger API key. There is no Apple ID, no App Store Connect and no upstream quota involved.

What is an app_id?

It is the numeric track id in an App Store URL — the digits after /id, for example 324684580 for Spotify. Search, chart and developer responses all return it on every app, so you can go straight from a result to full detail or reviews.

How deep can I page through reviews?

Apple exposes ten pages of customer reviews per app per storefront, so pages 1 to 10 are the hard ceiling. To go wider rather than deeper, fetch the same app across several storefronts — each has its own review pool.

Which countries are covered?

The storefront is a two-letter country code, defaulting to us. Call the free /markets endpoint for the authoritative list. Price, ranking, availability and reviews are all storefront-specific, so pin the country whenever you compare markets.

Can I get Top Charts?

Yes. The charts endpoint returns top-free, top-paid or top-grossing as a real ranked list, and you can narrow it to a genre with an id from the free /genres endpoint.

Plans & subscriptions

Bigger volume? Save up to 64%

Per-request credit costs are listed above. For higher monthly volume, subscription tiers reduce the per-credit rate substantially. All App Store endpoints — search, app detail, reviews, developers and charts — are included on every plan.

Get started

Start Scraping the App Store Today

1,000 free credits. No credit card. Get your API key in under a minute.

PAYG credits never expire · Pay only for successful requests · Every storefront