App Store Top Charts Scraper · Ratings + Rank Changes avatar

App Store Top Charts Scraper · Ratings + Rank Changes

Pricing

from $1.00 / 1,000 app rows

Go to Apify Store
App Store Top Charts Scraper · Ratings + Rank Changes

App Store Top Charts Scraper · Ratings + Rank Changes

Apple App Store top charts (free, paid, grossing) for any country and category, plus keyword search. Every row carries rating, rating count, bundle ID and release date, and scheduled runs show rank changes and new entries. Official Apple feeds, no login.

Pricing

from $1.00 / 1,000 app rows

Rating

0.0

(0)

Developer

TheQuietStack

TheQuietStack

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Categories

Share

Scrape Apple App Store top charts (top free, top paid, top grossing) for any country and any category, iPhone or iPad, plus App Store keyword search. Every chart position becomes one flat row that already has the rating, rating count, bundle ID, price and release date. When you schedule it, it also shows how each app moved since the last run. Uses Apple's own public feeds and APIs. No login, no API key.

Part of an app data family with the same flat output:

Why this scraper

  • Ratings are in every chart row. Apple's chart feed has no rating and no rating count. This Actor looks up all 100 apps of a chart in one call to Apple's official Lookup API, so every row has rating, ratingCount, bundleId, releaseDate and lastUpdated. You don't need a second actor or a second run.
  • Rank changes built in. With trackRankChanges (on by default), each run saves a small snapshot of each chart in a named key-value store in your account. The next run fills previousRank, rankChange (+3 = moved up three places) and isNewInChart on every row, and the run summary lists the apps that dropped out. Schedule it daily and you get a rank tracker without a spreadsheet.
  • Any country × chart × category in one run. For example, top grossing in Games/Puzzle for US, UK, DE and JP = 4 charts, one dataset. You can give categories by name (games/puzzle, health & fitness) or by Apple genre ID (7012). Unknown categories are rejected up front. (Apple would otherwise silently return the overall chart.)
  • Checked against the App Store. On 24 Sep 2026 the top free chart matched apps.apple.com one for one (US: 15 of 15 positions, UK: 25 of 25, UK Games/Puzzle: 25 of 25), and rating and rating count matched the app pages exactly for 3 of 3 sampled apps.
  • Keyword search with the same fields. searchTerms returns the App Store search results in order (up to 200 per keyword and country). Use it to see who ranks for a keyword and how many ratings they have.
  • No silent empty results. Every feed response is checked. If Apple answers in a shape the Actor does not recognise, the summary says FORMAT_WARNING, and a run that writes nothing fails visibly.

Input example

{
"charts": ["top-free", "top-grossing"],
"categories": ["all", "games/puzzle", "productivity"],
"countries": ["us", "gb", "de"],
"device": "iphone",
"appsPerChart": 100,
"searchTerms": ["habit tracker"],
"resultsPerSearchTerm": 50,
"maxResults": 5000
}

That's 2 charts × 3 categories × 3 countries = 18 charts (up to 1,800 rows), plus 3 searches.

Output example

{
"rank": 1,
"chart": "top-free",
"chartCategory": "Games / Puzzle",
"country": "us",
"device": "iphone",
"appId": "6761760135",
"bundleId": "com.oakever.meowdoku",
"name": "Meowdoku!",
"developer": "Oakever Games",
"category": "Games",
"genres": ["Games", "Casual", "Puzzle"],
"price": 0,
"currency": "USD",
"rating": 4.80949,
"ratingCount": 240470,
"releaseDate": "2026-05-19T07:00:00.000Z",
"lastUpdated": "2026-09-20T10:34:12.000Z",
"version": "1.18.0",
"url": "https://apps.apple.com/us/app/meowdoku/id6761760135",
"previousRank": 1,
"rankChange": 0,
"isNewInChart": false,
"previousSnapshotAt": "2026-09-23T23:24:37.997Z",
"scrapedAt": "2026-09-23T23:27:04.715Z"
}
FieldMeaning
rankPosition in the chart (1 = top). For search rows, the position in the search results
charttop-free, top-paid, top-grossing or search
chartCategoryThe category of the chart (All, Games / Puzzle ...)
category, genresThe app's own primary category and all its categories
rating, ratingCountAverage stars and number of ratings in that country's storefront, as Apple's Lookup API reports them
releaseDate / lastUpdatedFirst release / latest version date, ISO 8601 UTC
previousRank, rankChange, isNewInChartCompared with your previous run of the same chart. Empty on the first run, or when the app sits deeper in the chart than your last snapshot went

A run summary (SUMMARY in the key-value store) lists every chart with the source URL, rows written, apps that dropped out since the last snapshot, and any chart or search that failed.

Honest limits

  • Apple publishes the top 100 per chart. The feeds are capped at 100 (tested with 150 and 200). No positions 101–200 from this source.
  • Apple's overall charts include games. The App Store app shows apps and games in separate charts, so the overall paid chart here has games in between (UK top paid on 24 Sep 2026: Minecraft at #4, which the website's apps-only list leaves out). Filter on category if you want apps only, or ask for a category chart.
  • Top grossing is no longer shown on apps.apple.com, only in Apple's feed. It can't be checked against a web page; it comes straight from Apple's official feed.
  • Top charts are for iPhone and iPad apps. Mac App Store charts are not included (Apple's paid and grossing Mac feeds returned empty in our test).
  • ratingCount is per storefront. The same app has a different count in the US and in Germany.
  • Search results come from Apple's official Search API. The order is close to the App Store app, but Apple does not promise it is identical.
  • The rank snapshot store is kept in your account (a few KB per chart). Delete it in Storage → Key-value stores, or set trackRankChanges to false.

Pricing (pay per event)

  • Actor start: small flat fee per run
  • Per row: charged only for rows written to the dataset (one row = one app in one chart or search result). Failed charts and skipped categories cost nothing, and maxResults caps the bill.