Apple App Store Scraper - Rankings, Reviews & Apps
Pricing
from $1.50 / 1,000 results
Apple App Store Scraper - Rankings, Reviews & Apps
Apple App Store scraper & data API: export top-chart rankings (Top Free, Paid, Grossing, New) by category & country, scrape app reviews & ratings, full app details, metadata and ASO keyword search. iOS app market intelligence & competitor tracking โ fast, no login. Pairs with a Google Play scraper.
Apple App Store Scraper ๐ โ Rankings, Reviews, App Details & Keyword Search
The Apple App Store scraper that turns apps.apple.com into clean, structured market intelligence. Export top-chart rankings (Top Free, Top Paid, Top Grossing, New) for any category and country, scrape App Store reviews and star ratings at scale, extract complete app details and metadata, and run ASO keyword discovery searches โ all from a single no-code actor with 1,000+ results pagination and bulk export to JSON, CSV, Excel, or API.
๐ก Built for ASO specialists, mobile growth and product teams, app-market analysts, B2B intelligence researchers, venture investors, and AI/data teams building iOS app catalogs and review-sentiment pipelines.
โก At a glance
| Feature | Details |
|---|---|
| ๐ฏ Primary Modes | rankings (Top Charts), reviews (Customer Reviews), appDetails (Full Metadata), search (ASO Keywords) |
| ๐ Storefront Coverage | 47+ country storefronts (us, gb, de, fr, jp, kr, ca, au, br, in, tr, and more) |
| ๐ Ranking Charts | Top Free, Top Paid, Top Grossing, New Apps, New Free, New Paid (iPhone & iPad) across 40+ categories |
| ๐ฌ Review Depth | Sorted by RECENT or HELPFUL, automatic multi-page & multi-storefront expansion for 1,000+ reviews |
| ๐ข Pagination & Scale | Unlocked 1,000+ results pagination with automatic cross-category / cross-keyword / cross-country expansion |
| ๐ก๏ธ Deduplication | 100% deduplicated by unique appId or reviewId across charts, keywords, and storefronts |
| โก Typical Speed | ~5โ15 seconds for 100 ranked apps with full details; ~20โ60 seconds for 1,000+ records |
| ๐ค Export Formats | JSON, CSV, Excel (XLSX), XML, HTML Table, RSS, and live REST API |
๐ Table of contents
- Why scrape the Apple App Store?
- What this App Store scraper does
- Use cases
- Input parameters
- Output schema & field reference
- Pagination & 1,000+ scale
- How to use
- Integrations & automation
- Tips for best results
- FAQ
- Related scrapers
- Changelog
๐ Why scrape the Apple App Store?
The Apple App Store is the richest public indicator of consumer and B2B mobile software demand: millions of iOS and iPadOS apps, live top-chart rankings that shift daily, millions of user reviews and star ratings, localized pricing, developer portfolios, version histories, and release notes across 47+ regional storefronts.
Collecting this intelligence manually is slow and fragmented: web pages paginate slowly, review lists hide historical feedback behind endless scrolling, pricing and rankings vary by country storefront, and there is no native bulk export. An Apple App Store scraper automates the entire workflow โ select a mode, press Start, and receive a clean, deduplicated dataset ready for spreadsheets, BI dashboards, CRM enrichment, or AI pipelines.
Common reasons teams use this App Store data extractor:
- ๐ ASO & App Store Optimization โ monitor keyword rankings, category chart positions, title/subtitle patterns, and metadata updates across storefronts.
- ๐ App Market Intelligence โ build an automated feed of top-chart rankings by category and country without expensive enterprise subscriptions.
- ๐ฌ Voice-of-Customer & Review Mining โ extract thousands of user reviews to uncover bug reports after a release, churn drivers, and high-priority feature requests.
- ๐ฅ Competitor Monitoring โ track rival apps' star ratings, review velocity, version cadence, pricing changes, and release notes.
- ๐ฐ VC, PE & M&A Deal Sourcing โ spot breakout apps climbing the Top Grossing and Top Free charts across global markets.
- ๐ค AI & LLM Training Datasets โ feed structured app descriptions and verified user reviews into sentiment models, RAG pipelines, and classification engines.
- ๐ Global Pricing & Localization Audits โ compare app pricing, currencies, and language support across 47+ country storefronts.
โจ What this App Store scraper does
This is a four-in-one App Store data extractor designed for both quick 100-item snapshots and deep 1,000+ results pagination:
- โ
๐ Top-chart rankings (
rankings) โ export Top Free, Top Paid, Top Grossing, or New charts for iPhone and iPad across 40+ categories and 47+ countries, each tagged with its exactrank,collection, andrankCategory. - โ
๐ฌ App reviews & ratings (
reviews) โ collect reviews per app sorted by Most recent (RECENT) or Most helpful (HELPFUL), complete with star score, headline, full review body, reviewed app version, reviewer name, profile link, and timestamp. - โ
๐ Full app details (
appDetails) โ pull complete metadata for any list of apps: overall rating, total review count, current-version rating, 5-star rating histogram, price, currency, developer details, genres, content advisory rating, byte size, minimum iOS version, release notes, and high-res screenshots. - โ
๐ Keyword search (
search) โ run ASO keyword queries for any topic, brand, or feature set and capture matching apps in rank order with full metadata. - โ
๐ Unlocked 1,000+ scaling โ when you set
maxItems: 1000(or higher), the actor automatically expands across categories/collections in Rankings mode, across discovery keywords in Search mode, and across country storefronts in Reviews mode so your run never hits a 100- or 200-item ceiling. - โ
๐ Flexible app identifiers โ pass numeric App IDs (
389801252), bundle IDs (com.spotify.client), or full App Store URLs (https://apps.apple.com/us/app/instagram/id389801252) โ mix all three formats in one run. - โ ๐ฆ Bulk export anywhere โ download clean data in JSON, CSV, Excel, XML, HTML, or RSS, or stream directly via the Apify API.
๐ฏ Use cases
| Persona | How they use this Apple App Store Scraper |
|---|---|
| ๐ ASO & Growth Marketers | Schedule daily runs in search and rankings modes to track keyword share-of-voice, chart movement, and seasonal category shifts across tier-1 markets (us, gb, de, jp). |
| ๐ฌ Product & QA Managers | Run reviews mode sorted by RECENT after every app update to catch version-specific crash reports, UI complaints, and rating drops within hours of release. |
| ๐ข B2B Lead Generation Teams | Extract developer, developerUrl, and developerWebsite across thousands of ranked apps in BUSINESS, FINANCE, PRODUCTIVITY, and SHOPPING categories to build targeted publisher outreach lists. |
| ๐ฐ Venture Capital & Market Analysts | Pull TOP_GROSSING_IOS and NEW_FREE_IOS across all categories weekly to identify fast-rising consumer subscription apps and mobile games. |
| ๐ International Expansion Teams | Compare price, currency, languages, and localized score across 47 storefronts before launching in Europe, LATAM, or APAC. |
| ๐ค Data Scientists & AI Engineers | Harvest 1,000+ labeled 1-to-5 star reviews per vertical to fine-tune sentiment classifiers, topic-modeling pipelines, and automated customer-support agents. |
๐ฅ Input parameters
Configure everything in the visual Apify Console form or pass JSON via the API. Every field is optional โ running with default settings immediately exports the current US Top Free chart.
| Field | Type | Default | Description |
|---|---|---|---|
mode | string | "rankings" | Task mode: "rankings" (Top-chart rankings), "reviews" (App reviews & ratings), "appDetails" (Full app details), or "search" (Keyword search). |
collection | string | "TOP_FREE_IOS" | Used in rankings mode. Chart to export: TOP_FREE_IOS, TOP_PAID_IOS, TOP_GROSSING_IOS, NEW_IOS, NEW_FREE_IOS, NEW_PAID_IOS, TOP_FREE_IPAD, TOP_PAID_IPAD, TOP_GROSSING_IPAD. |
category | string | "" | Used in rankings mode. Narrow to a specific App Store category (GAMES, BUSINESS, FINANCE, PRODUCTIVITY, HEALTH_AND_FITNESS, SOCIAL_NETWORKING, etc.) or leave empty for Overall. |
country | string | "us" | Two-letter App Store country storefront (us, gb, ca, au, de, fr, jp, kr, br, in, tr, etc. โ 47 storefronts supported). |
searchTerms | array | ["fitness tracker", "budget planner"] | Used in search mode. One or more keywords, brands, or topics. Leave empty for a built-in diverse sample. |
appIds | array | ["389801252"] | Used in reviews and appDetails modes. Paste App Store URLs, numeric App IDs (389801252), or bundle IDs (com.burbn.instagram). |
maxReviewsPerApp | integer | 0 | Used in reviews mode. Maximum reviews to pull per app (0 = unlimited, governed by maxItems). Automatically expands across storefronts when >500 reviews are requested. |
reviewsSort | string | "RECENT" | Used in reviews mode. Sort order: "RECENT" (Most recent) or "HELPFUL" (Most helpful). |
fullDetail | boolean | true | In rankings & search modes, enrich every app with full metadata (rating, review count, description, size, version, release notes). Turn off for a faster lightweight list. |
maxItems | integer | 0 (prefill 100) | Maximum total records (apps or reviews) to return. Set 0 for unlimited or 1000+ for deep multi-category / multi-keyword / multi-storefront extraction. |
maxConcurrency | integer | 4 | Number of apps processed in parallel (1โ15). |
proxyConfiguration | object | useApifyProxy: false | Optional Apify Proxy configuration. Works out of the box on direct connections; enable proxy rotation for massive recurring runs. |
Input examples
1. Top Free iPhone apps in the US (fast snapshot):
{"mode": "rankings","collection": "TOP_FREE_IOS","category": "","country": "us","fullDetail": true,"maxItems": 100}
2. Deep 1,000+ app ranking sweep across categories:
{"mode": "rankings","collection": "TOP_GROSSING_IOS","country": "us","fullDetail": true,"maxItems": 1000}
๐ค Output schema & field reference
Every record is returned as a clean flat JSON object. App records (rankings, appDetails, search) and review records (reviews) carry an explicit recordType field so downstream pipelines can route them effortlessly.
Ranked app / App detail example (recordType: "rankedApp" or "app")
{"recordType": "rankedApp","rank": 1,"collection": "TOP_FREE_IOS","rankCategory": "overall","country": "us","appId": 310633997,"bundleId": "net.whatsapp.WhatsApp","title": "WhatsApp Messenger","url": "https://apps.apple.com/us/app/whatsapp-messenger/id310633997?uo=4","description": "WhatsApp from Meta is a FREE messaging and video calling app...","developer": "WhatsApp Inc.","developerId": 310634000,"developerUrl": "https://apps.apple.com/us/developer/whatsapp-inc/id310634000?uo=4","developerWebsite": "https://www.whatsapp.com/","score": 4.71891,"reviews": 20325663,"currentVersionScore": 4.71891,"currentVersionReviews": 20325663,"histogram": { "1": 612040, "2": 215400, "3": 489120, "4": 1490100, "5": 17519003 },"price": 0,"free": true,"currency": "USD","genre": "Social Networking","genreId": 6005,"genres": ["Social Networking", "Utilities"],"genreIds": ["6005", "6002"],"contentRating": "12+","languages": ["EN", "ES", "FR", "DE", "PT"],"size": "398458880","requiredOsVersion": "15.0","released": "2009-05-03T04:10:02Z","updated": "2026-10-28T18:03:11Z","version": "26.42.77","releaseNotes": "Bug fixes and performance improvements.","icon": "https://is1-ssl.mzstatic.com/.../512x512bb.jpg","screenshots": ["https://is1-ssl.mzstatic.com/.../1.jpg"],"ipadScreenshots": ["https://is1-ssl.mzstatic.com/.../ipad1.jpg"],"supportedDevices": ["iPhone13", "iPadPro"],"scrapedAt": "2026-11-10T02:00:00.000Z"}
Customer review example (recordType: "review")
{"recordType": "review","appId": 310633997,"bundleId": null,"reviewId": "14735005849","userName": "iOSPowerUser","userUrl": "https://itunes.apple.com/us/reviews/id1986068692","version": "26.42.77","score": 5,"title": "Reliable daily messenger","text": "100% excellent โ works seamlessly across iPhone and CarPlay.","url": "https://itunes.apple.com/us/review?id=310633997&type=Purple%20Software","updated": "2026-10-31T12:55:54-07:00","country": "us","scrapedAt": "2026-11-10T02:00:00.000Z"}
๐ฑ App & Ranking fields
| Field | Type | Coverage | Description |
|---|---|---|---|
๐ท๏ธ recordType | string | ๐ข High (100%) | "rankedApp" (rankings mode) or "app" (appDetails & search modes). |
๐ rank | integer | ๐ข High (Rankings) | Exact chart position (1..N) within the category/collection chart. |
๐ collection / rankCategory | string | ๐ข High (Rankings) | Chart identifier (e.g. TOP_FREE_IOS) and category (overall, GAMES, etc.). |
๐ searchTerm | string | ๐ข High (Search) | The keyword query that surfaced this app in search mode. |
๐ appId / bundleId | number / string | ๐ข High (100%) | Numeric Apple track ID and reverse-DNS bundle identifier (net.whatsapp.WhatsApp). |
๐ฑ title / url | string | ๐ข High (100%) | Official App Store title and canonical listing URL. |
๐ description | string | ๐ข High (100%) | Full App Store description text (when fullDetail: true). |
๐ข developer / developerId | string / number | ๐ข High (100%) | Publisher name and numeric Apple artist ID. |
๐ developerUrl | string | ๐ข High (100%) | Link to the publisher's full App Store portfolio page. |
๐ developerWebsite | string | ๐ก Conditional (~90%) | Publisher's external website URL (great for B2B lead enrichment). |
โญ score / reviews | number / integer | ๐ข High (100%) | Overall average star rating (0โ5) and total ratings count. |
๐ currentVersionScore / currentVersionReviews | number / integer | ๐ข High (~98%) | Star rating and count for the currently live version. |
๐ histogram | object | ๐ก Conditional (appDetails) | Breakdown of 1-star through 5-star rating counts ({1, 2, 3, 4, 5}). |
๐ต price / free / currency | number / boolean / string | ๐ข High (100%) | Localized price, boolean free flag, and ISO currency code (USD, GBP, EUR, JPY). |
๐๏ธ genre / genreId / genres / genreIds | string / array | ๐ข High (100%) | Primary category name/ID and complete list of assigned genres. |
๐ contentRating | string | ๐ข High (100%) | Age advisory rating (4+, 9+, 12+, 17+). |
๐ languages | array<string> | ๐ข High (~99%) | Supported ISO-2 language codes (["EN", "ES", "DE"]). |
๐ฆ size / requiredOsVersion | string | ๐ข High (~99%) | App download size in bytes and minimum required iOS version. |
๐๏ธ released / updated / version | string | ๐ข High (100%) | Initial release timestamp, latest update timestamp, and current version string. |
๐ releaseNotes | string | ๐ก Conditional (~95%) | "What's New" changelog notes for the latest version. |
๐ผ๏ธ icon / screenshots / ipadScreenshots | string / array | ๐ข High / ๐ก Conditional | High-resolution app icon URL, iPhone screenshots, and iPad screenshots (~73%). |
๐ฒ supportedDevices | array<string> | ๐ข High (~98%) | Compatible Apple hardware identifiers. |
๐ country / scrapedAt | string | ๐ข High (100%) | Two-letter storefront code and ISO-8601 extraction timestamp. |
๐ฌ Customer review fields
| Field | Type | Coverage | Description |
|---|---|---|---|
๐ท๏ธ recordType | string | ๐ข High (100%) | Always "review". |
๐ reviewId | string | ๐ข High (100%) | Unique review identifier (used for automatic deduplication). |
๐ฑ appId / bundleId | number / string | ๐ข High (100%) | Target app identifier matching your input list. |
๐ค userName / userUrl | string | ๐ข High (100%) | Reviewer display name and public reviewer profile link. |
โญ score | integer | ๐ข High (100%) | Star rating (1 to 5). |
๐ฐ title / text | string | ๐ข High (100%) | Review headline and full review body text. |
๐ท๏ธ version | string | ๐ข High (~99%) | App version the reviewer was using when submitting feedback. |
๐ url / updated | string | ๐ข High (100%) | Direct review link and ISO-8601 submission/update timestamp. |
๐ country / scrapedAt | string | ๐ข High (100%) | Storefront country where the review was posted and scrape timestamp. |
๐ Pagination & 1,000+ scale
Apple's individual storefront feeds return up to 200 apps per single chart or keyword query and up to 500 reviews (10 pages ร 50 reviews) per app per country storefront. This actor unlocks seamless 1,000+ results pagination across all modes:
- Rankings mode (
1,000+apps): When you setmaxItemsabove 200 (or0for unlimited), the actor automatically steps through additional categories (GAMES,BUSINESS,PRODUCTIVITY,FINANCE,SOCIAL_NETWORKING, etc.) and chart collections while deduplicating byappId, delivering up to 2,000+ unique ranked apps in a single run. - Search mode (
1,000+apps): Each keyword fetches up to 200 matching apps. When yourmaxItemstarget exceeds what a single term provides, the actor automatically fans out across yoursearchTermslist (and built-in high-volume discovery keywords if needed) with strictappIddeduplication. - Reviews mode (
1,000+reviews): The actor paginates through all 10 review pages per app (50reviews/page). WhenmaxItemsormaxReviewsPerAppexceeds a single storefront's 500-review ceiling, it automatically expands across major English and international storefronts (us,gb,ca,au,de,fr,es,it, etc.) and deduplicates byreviewId.
โ๏ธ How to use
- Open Apple App Store Scraper in the Apify Console.
- Select your Mode:
- Top-chart rankings โ choose a
collection(e.g.,TOP_FREE_IOS),category, andcountry. - App reviews & ratings โ paste one or more App IDs, bundle IDs, or URLs into
appIds. - Full app details โ paste target apps into
appIdsto get complete metadata + rating histograms. - Keyword search โ enter your target keywords in
searchTerms.
- Top-chart rankings โ choose a
- Set Max results (
maxItems) โ leave at100for a quick test or set1000+ for a deep harvest. - Click Start and export your dataset in JSON, CSV, Excel, or via API.
๐ Integrations & automation
Connect this App Store scraper directly to your analytics and growth stack:
- Google Sheets & Excel โ sync daily top-chart rankings or new 1-star review alerts directly to a spreadsheet.
- Slack, Microsoft Teams & Discord โ trigger instant notifications via Make, Zapier, or n8n whenever a negative review (
score <= 2) is posted on your app. - BigQuery, Snowflake & Postgres โ stream historical ranking and rating time-series into your warehouse keyed on
appIdandscrapedAt. - LangChain, LlamaIndex & OpenAI โ feed
recordType: "review"items into an LLM pipeline to summarize weekly user feedback by app version.
๐ก Tips for best results
- ๐ Track daily chart velocity: Schedule a daily run on your target category (
FINANCE,HEALTH_AND_FITNESS,GAMES) to spot apps jumping 20+ positions week over week. - โก Speed up lightweight ranking lists: Set
fullDetail: falsewhen you only needrank,appId,bundleId,title,url, anddeveloperโ runs finish in 1โ2 seconds per chart. - ๐ฌ Combine
RECENTandHELPFULreviews: Run once withreviewsSort: "RECENT"to monitor the latest release, and once withreviewsSort: "HELPFUL"to capture the most upvoted long-term user feedback. - ๐ Mix identifier formats freely: You can paste
389801252,com.spotify.client, andhttps://apps.apple.com/us/app/whatsapp-messenger/id310633997in the sameappIdsarray.
โ FAQ
How many apps or reviews can I extract in a single run?
You can extract 1,000 to 10,000+ records in a single run. Single charts return up to 200 apps and single-country review feeds return up to 500 reviews per app, and the actor automatically expands across categories, keywords, and storefronts when you request higher maxItems.
Do I need proxies or an Apple login?
No login is ever required. The scraper works out of the box without proxies for typical runs; for very large multi-thousand-record runs you can optionally enable Apify Proxy in proxyConfiguration.
Why is histogram only populated in appDetails mode?
Apple only serves the 1-to-5 star breakdown histogram on individual app detail lookups. Use mode: "appDetails" when you need exact star counts per tier.
Can I scrape localized prices and reviews for non-US markets?
Yes โ pick any of the 47 supported country storefronts in country (gb, de, fr, jp, kr, br, in, tr, au, ca, etc.) and all rankings, currencies, prices, and reviews will reflect that regional store.
How do I schedule daily App Store ranking snapshots?
In the Apify Console, open the Schedules tab, attach this actor with mode: "rankings", and choose a daily cron (e.g., 0 8 * * *). Combine with Google Sheets, Webhook, or BigQuery integrations to build an automated historical ranking database.
Can I use this actor via Python or Node.js API?
Yes โ call haketa/app-store-scraper via the official apify-client in Python or Node.js, or trigger synchronous/asynchronous runs via REST API (POST /v2/acts/haketa~app-store-scraper/runs) and stream dataset items in JSON, CSV, or XLSX.
API Quickstart (Python & Node.js)
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")run = client.actor("haketa/app-store-scraper").call(run_input={"mode": "rankings","collection": "TOP_FREE_IOS","country": "us","maxItems": 200})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["rank"], item["title"], item["score"], item["developer"])
๐ Related scrapers
- Google Play Scraper โ the Android counterpart for Google Play rankings, reviews, app details, and keyword search.
- Google Trends Scraper โ benchmark search interest in mobile apps, brands, and keywords over time.
- ProductHunt Launches & Makers Scraper โ daily software launches, maker contacts, votes, and reviews.
- Bulk Metadata Extractor โ enrich developer websites (
developerWebsite) with titles, social links, and contact metadata.
๐ Changelog
| Version | Date | Updates |
|---|---|---|
| v1.2 | 2026-11 | Unlocked 1,000+ deep pagination across all modes: automatic cross-category/collection expansion in rankings mode, automatic multi-storefront expansion in reviews mode (maxReviewsPerApp default 0 = unlimited), and removed the 100/200-item clamps in search and rankings modes with strict appId/reviewId deduplication. |
| v1.1 | 2026-11 | Added developerUrl and developerWebsite enrichment, improved bundle ID + URL resolution in appIds, and verified 0% duplicate rate across multi-app review runs. |
| v1.0 | 2026-05 | Initial release supporting 4 modes (rankings, reviews, appDetails, search) across 47 Apple App Store country storefronts. |