Apple App Store Top Charts & Rankings Scraper
Pricing
Pay per event
Apple App Store Top Charts & Rankings Scraper
๐ Track Apple App Store top free and paid rankings by country. Export app ranks, IDs, bundle IDs, ratings, prices, genres, and URLs.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Stas Persiianenko
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Track Apple App Store chart rankings by country, enrich ranked apps with iTunes metadata, and export clean datasets for ASO, competitor monitoring, and market research.
What does Apple App Store Top Charts & Rankings Scraper do?
Apple App Store Top Charts & Rankings Scraper extracts public Apple App Store ranking data from Apple's JSON feeds and iTunes APIs.
It collects top free and top paid app charts by storefront country.
It can enrich each ranked app with bundle ID, ratings, version, screenshots, description, genre, price, and developer details.
It can also run optional iTunes app keyword searches so you can combine chart monitoring with competitor discovery.
Who is it for?
ASO teams use it to monitor which apps are rising or falling in important country charts.
Mobile app marketers use it to spot competitor movements before campaign planning.
App publishers use it to benchmark their own apps against category and market leaders.
Market analysts use it to build repeatable datasets for app economy research.
Investors and product strategists use it to identify fast-moving consumer app categories.
Why use this App Store rankings scraper?
๐ It uses public Apple JSON endpoints instead of brittle browser scraping.
๐ It supports multiple country storefronts in one run.
๐ It keeps chart type and rank fields explicit for monitoring workflows.
๐ It enriches chart records through the iTunes Lookup API.
๐งพ It exports structured rows that are easy to load into BI tools, sheets, warehouses, and alerting systems.
Data sources
The actor uses Apple Marketing Tools RSS JSON feeds for app charts.
It uses the public iTunes Lookup API to enrich app IDs returned by chart feeds.
It uses the public iTunes Search API when you provide optional search terms.
No login is required.
No browser is required.
No proxy is required for normal operation.
Input options
| Field | Type | Description |
|---|---|---|
countries | array | Two-letter App Store country codes such as us, gb, ca, au, de, or jp. |
charts | array | Chart feeds to scrape: top-free and/or top-paid. |
maxItems | integer | Maximum dataset records across all countries, charts, and searches. |
includeDetails | boolean | Enrich chart records with iTunes Lookup details. |
searchTerms | array | Optional iTunes app keywords for competitor discovery. |
searchLimit | integer | Search results per term and country. |
Output data
Each dataset item represents one App Store chart or search result record.
| Field | Description |
|---|---|
country | App Store storefront country code. |
chart | Chart type, or search for keyword results. |
rank | Position in the returned chart/search result list. |
appId | Apple numeric app ID. |
name | App name. |
developerName | Developer or seller name. |
developerUrl | Apple developer page URL when available. |
appStoreUrl | App Store URL. |
bundleId | iOS bundle identifier when available. |
genre | Primary genre. |
genres | All genres returned by Apple. |
price | Price returned by iTunes Lookup. |
currency | Currency code. |
rating | Average user rating. |
ratingCount | User rating count. |
version | Current app version. |
releaseDate | Original release date. |
updatedAt | Current version release date or feed update date. |
iconUrl | App icon artwork URL. |
screenshots | Screenshot URLs. |
description | App description. |
sourceUrl | Apple JSON endpoint used for the record. |
searchTerm | Keyword for search records. |
scrapedAt | ISO timestamp when the actor saved the row. |
Example input
{"countries": ["us", "gb"],"charts": ["top-free", "top-paid"],"maxItems": 200,"includeDetails": true,"searchTerms": ["fitness tracker"],"searchLimit": 20}
Example output
{"country": "us","chart": "top-free","rank": 1,"appId": "6448311069","name": "ChatGPT","developerName": "OpenAI OpCo, LLC","bundleId": "com.openai.chat","genre": "Productivity","rating": 4.9,"ratingCount": 1000000,"appStoreUrl": "https://apps.apple.com/us/app/chatgpt/id6448311069","sourceUrl": "https://rss.applemarketingtools.com/api/v2/us/apps/top-free/100/apps.json","scrapedAt": "2026-06-25T00:00:00.000Z"}
How much does it cost to scrape Apple App Store rankings?
The actor uses pay-per-event pricing.
There is a small run start fee and a per-item fee for each app record saved.
Current formula-derived pricing is configured as a $0.005 start event and tiered per-item pricing with Bronze at about $0.000026 per extracted app record.
Actual platform pricing is shown on the Apify actor page before you run it.
How to scrape App Store top charts
- Choose one or more country storefronts.
- Choose
top-free,top-paid, or both. - Keep
includeDetailsenabled when you need bundle IDs, ratings, screenshots, and descriptions. - Set
maxItemsto the number of app records you need. - Run the actor and export the dataset as JSON, CSV, Excel, or through the Apify API.
ASO monitoring workflow
Run the actor daily for your key countries.
Store the dataset in a warehouse or spreadsheet.
Compare app IDs, rank, and chart fields over time.
Trigger alerts when a competitor enters the top 10 or when your own app changes position.
Competitor discovery workflow
Add search terms such as habit tracker, budget planner, or ai photo editor.
The actor will add iTunes Search API results to the same dataset shape.
Use searchTerm to separate discovery rows from top chart rows.
Tips for best results
Use lowercase two-letter country codes.
Start with one or two countries when testing.
Use maxItems in multiples of 100 when collecting full chart pages.
Disable includeDetails only when you need the lowest possible runtime and can work with feed-level data.
Use search terms for discovery, not for historical rank tracking.
Limits and caveats
Apple public chart feeds usually return up to 100 apps per country and chart.
Some chart types are not available in Apple's public feed for all media types, so this actor supports the stable top-free and top-paid app feeds.
Ratings, screenshots, descriptions, and bundle IDs depend on iTunes Lookup API availability.
Apple can change public feed structures; the actor is designed to fail one country/chart gracefully and continue with the rest.
Integrations
Send results to Google Sheets for ASO dashboards.
Load results into BigQuery, Snowflake, or PostgreSQL for time-series ranking analysis.
Use Apify webhooks to trigger Slack alerts after scheduled runs.
Use Make, Zapier, or n8n to route new top-chart entries into reporting systems.
API usage with Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('automation-lab/apple-app-store-top-charts-scraper').call({countries: ['us'],charts: ['top-free'],maxItems: 100,includeDetails: true,});console.log(run.defaultDatasetId);
API usage with Python
from apify_client import ApifyClientclient = ApifyClient('YOUR_APIFY_TOKEN')run = client.actor('automation-lab/apple-app-store-top-charts-scraper').call(run_input={'countries': ['us'],'charts': ['top-free'],'maxItems': 100,'includeDetails': True,})print(run['defaultDatasetId'])
API usage with cURL
curl -X POST 'https://api.apify.com/v2/acts/automation-lab~apple-app-store-top-charts-scraper/runs?token=YOUR_APIFY_TOKEN' \-H 'Content-Type: application/json' \-d '{"countries":["us"],"charts":["top-free"],"maxItems":100,"includeDetails":true}'
MCP usage
Use Apify MCP when you want Claude Desktop, Claude Code, or another MCP client to run the scraper as a tool.
Add the actor to Claude Code:
$claude mcp add apify-apple-app-store-rankings https://mcp.apify.com/?tools=automation-lab/apple-app-store-top-charts-scraper
MCP server URL:
https://mcp.apify.com/?tools=automation-lab/apple-app-store-top-charts-scraper
Claude Desktop JSON configuration:
{"mcpServers": {"apify-apple-app-store-rankings": {"url": "https://mcp.apify.com/?tools=automation-lab/apple-app-store-top-charts-scraper"}}}
Example prompts:
- "Run the Apple App Store top charts scraper for US top free apps and summarize the top 20 productivity apps."
- "Compare paid app rankings in US and GB and return apps with rating count above 10,000."
- "Find fitness tracker competitors from App Store search and list their bundle IDs."
Legality and responsible use
This actor uses public Apple JSON endpoints.
You are responsible for using exported data in line with applicable laws, platform terms, and privacy rules.
Do not use the dataset for spam, abusive automation, or prohibited profiling.
Related scrapers
Explore other automation-lab actors for mobile app intelligence, app reviews, website monitoring, and market research workflows.
Related actor pages use the https://apify.com/automation-lab/ namespace.
Troubleshooting
If a country returns no records, verify that the country code is a valid Apple storefront code.
If a chart returns no records, try top-free or top-paid for the same country.
If enriched fields are missing, keep includeDetails enabled and check whether iTunes Lookup returns those fields for the app.
If a run stops earlier than expected, increase maxItems and verify how many country/chart/search combinations you requested.
FAQ
Can I scrape App Store rankings by country?
Yes. Provide one or more country codes in countries.
Can I get bundle IDs?
Yes. Keep includeDetails enabled so the actor calls iTunes Lookup.
Does it scrape reviews?
No. This actor focuses on top charts, rankings, and app metadata. Use a review-specific actor for review text.
Does it need proxies?
No. The MVP uses public Apple JSON APIs and normally does not require proxies.
Can I schedule it?
Yes. Use Apify schedules to run it daily or hourly and compare datasets over time.
Changelog
Initial version supports Apple top free and top paid app charts, multi-country runs, iTunes Lookup enrichment, and optional iTunes Search discovery.