DEV Community

voiddo
voiddo

Posted on Originally published at voidd0.github.io

App Store Top Charts Scraper: how to get Ranks by Country and Genre as JSON or CSV (Python, API, no code)

Pull all three Apple App Store top charts (paid, grossing, and apps at no cost) for any country and genre.

This tutorial shows what the Actor v0iddo/app-store-top-charts returns, how to run it on the Apify Store without code, and how to call it from Python and cURL.

What data you get

One row per result. Every row can be downloaded as JSON, CSV, Excel or HTML, or read through the API.

Field Label Type Example
snapshotAt Snapshot At date 2026-10-26T04:24:43+00:00
chart Chart text topfreeapplications
country Country text us
genreId Genre Id text 0
rank Rank number 1
appId App Id text 632064380
trackName Track Name text Vinted: Pre-loved marketplace
artistName Artist Name text
artistUrl Artist Url URL
category Category text Shopping
categoryId Category Id text 6024
releaseDate Release Date date 2013-04-11T10:12:20-07:00
price price text 0.00
currency currency text USD
priceLabel priceLabel text Get
contentType contentType text Application
rights rights text © 2024 Vinted
summary summary text The idea is simple: you sell your pre-loved stuff to other members ...
title title text Vinted: Pre-loved marketplace - Vinted Limited
appUrl appUrl text https://apps.apple.com/us/app/vinted-pre-loved-marketplace/id632064...
artworkUrl artworkUrl text https://is1-ssl.mzstatic.com/image/thumb/Purple221/v4/d3/cd/83/d3cd...

Real rows from a run of the Actor (fields that name people are left out):

[
  {
    "snapshotAt": "2026-10-26T04:24:43+00:00",
    "chart": "topfreeapplications",
    "country": "us",
    "genreId": "0",
    "rank": 1,
    "appId": "632064380",
    "trackName": "Vinted: Pre-loved marketplace",
    "category": "Shopping",
    "categoryId": "6024",
    "releaseDate": "2013-04-11T10:12:20-07:00",
    "price": "0.00",
    "currency": "USD",
    "priceLabel": "Get",
    "contentType": "Application",
    "rights": "© 2024 Vinted",
    "summary": "The idea is simple: you sell your pre-loved stuff to other members who’ll love it again. They get the thrill of unboxing a great find, yo...",
    "title": "Vinted: Pre-loved marketplace - Vinted Limited",
    "appUrl": "https://apps.apple.com/us/app/vinted-pre-loved-marketplace/id632064380?uo=2",
    "artworkUrl": "https://is1-ssl.mzstatic.com/image/thumb/Purple221/v4/d3/cd/83/d3cd83d1-4d21-6390-1c53-4e1557fdf70d/VintedAppIcon-0-0-1x_U007epad-0-1-85-..."
  },
  {
    "snapshotAt": "2026-10-26T04:24:43+00:00",
    "chart": "topfreeapplications",
    "country": "us",
    "genreId": "0",
    "rank": 2,
    "appId": "6741796873",
    "trackName": "TikTok Pro - Events",
    "category": "Entertainment",
    "categoryId": "6016",
    "releaseDate": "2026-06-03T00:00:00-07:00",
    "price": "0.00",
    "currency": "USD",
    "priceLabel": "Get",
    "contentType": "Application",
    "rights": "© 2024 TikTok Pte. Ltd.",
    "summary": "TikTok Pro - Events is a global discovery platform for videos where you can discover cool, funny, and educational short videos, as well a...",
    "title": "TikTok Pro - Events - TikTok Ltd.",
    "appUrl": "https://apps.apple.com/us/app/tiktok-pro-events/id6741796873?uo=2",
    "artworkUrl": "https://is1-ssl.mzstatic.com/image/thumb/Purple211/v4/ea/78/45/ea784534-39b0-b4cd-9105-f143cf0703bb/AppIcon_TikTok-0-0-1x_U007emarketing-..."
  }
]
Enter fullscreen mode Exit fullscreen mode

No code: run it on the Apify Store

  1. Open the App Store Top Charts Scraper page on Apify.
  2. Fill in the input form. An example input is already filled in.
  3. Press Start, wait for the run to finish, and download the results as JSON, CSV or Excel from the Output tab.

The input that is pre-filled on the Actor page:

{
  "chartTypes": [
    "topfreeapplications"
  ],
  "countries": [
    "us"
  ],
  "genreIds": [
    "0"
  ],
  "limit": 100
}
Enter fullscreen mode Exit fullscreen mode

Ready-made examples

Saved inputs on Apify: run one as it is, or copy it and change the values.

Python (apify-client)

Get your API token in Apify Console under Settings, then Integrations. The Actor id is v0iddo/app-store-top-charts.

from apify_client import ApifyClient

client = ApifyClient("YOUR_APIFY_TOKEN")

run_input = {'chartTypes': ['topfreeapplications'],
 'countries': ['us'],
 'genreIds': ['0'],
 'limit': 100}

run = client.actor("v0iddo/app-store-top-charts").call(run_input=run_input)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)
Enter fullscreen mode Exit fullscreen mode

cURL

curl -X POST "https://api.apify.com/v2/acts/v0iddo~app-store-top-charts/run-sync-get-dataset-items" \
  -H "Authorization: Bearer YOUR_APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"chartTypes": ["topfreeapplications"], "countries": ["us"], "genreIds": ["0"], "limit": 100}'
Enter fullscreen mode Exit fullscreen mode

Price

$0.10 per 1,000 results. You pay per result row. There is no separate charge per run. Higher Apify plans pay less per result, down to $0.07 per 1,000.

FAQ

What data does the App Store Top Charts Scraper return?

Each result is one row in an Apify dataset. Fields include snapshotAt, chart, country, genreId, rank, appId, trackName, artistName, and more. The table above shows every field with an example value.

Can I use it without writing code?

Yes. Open the Actor page on Apify, fill in the input form (an example is already filled in), press Start, and download the results as JSON, CSV, Excel or HTML. You can also schedule runs there.

How much does it cost?

$0.10 per 1,000 results. You pay per result row. There is no separate charge per run. Higher Apify plans pay less per result, down to $0.07 per 1,000. A new Apify account gets $5 of platform credit every month.

Links

Top comments (0)