Apple App Store: Reviews, Apps, Charts & IAPs Scraper
Pricing
$2.00 / 1,000 results
Apple App Store: Reviews, Apps, Charts & IAPs Scraper
Apple App Store data in 10 modes: app reviews (thousands per app per country), app details with ratings histogram, top charts, In-App Purchases, App Store events, similar apps, country availability matrix, developer portfolio, in-Store editorial, and search. 50+ countries. $2 per 1,000 rows, flat.
Pricing
$2.00 / 1,000 results
Rating
0.0
(0)
Developer
Sourabh Kumar
Maintained by CommunityActor stats
0
Bookmarked
66
Total users
27
Monthly active users
3 days ago
Last modified
Categories
Share
Apple App Store scraper: apps, reviews, charts & in-app purchases
One actor for the whole App Store: app details, deep review pulls, top charts, in-app purchases, App Store events, and more, across 50+ countries.
$2 per 1,000 results. Flat for every mode. No per-run fee.
The headline: reviews go far past the 500-row cap. Most App Store scrapers stop at 500 reviews per app, and some describe that as a hard Apple limit. It isn't. This one paginates Apple's catalog directly and returns a few hundred to a few thousand reviews per app per country before Apple's CDN soft-throttles. Multi-country fan-out keeps going where one country slows down.
Why use Apple App Store Scraper
- π¦ Reviews go past the 500-cap that stops most scrapers. Measured pulls of 1,840 and 2,720 reviews for a single app in one country, for sentiment analysis or backfilling history.
- πΈ In-app purchase catalog with prices. Subscription tiers, free trials, and renewal cadence, in local currency for every country.
- π App Store events. Calendared in-app events from PokΓ©mon GO, Genshin, Roblox, and most major games, with start/end dates and deep links.
- π’ Developer contact details. On European storefronts Apple publishes the trader's email, phone, and registered address, and this actor returns them.
- π The full app record, not a stub. Description, price, current version, release dates, subtitle, icon, supported languages, and the developer's own website and support links.
- π Privacy Nutrition Labels. The full "Data Used to Track You / Linked to You / Not Linked to You" breakdown, opt-in.
- π Version history. Up to 25 past releases with full release notes. Most "version history" scrapers only return the current one.
- β 5-star breakdown on every app. Know whether a 4.5 average is "lots of 5s with a few 1s" or "barely-3s averaged up by old 5s."
- π 50+ storefronts. Probe app availability across countries, find apps removed from CN/RU stores, or compare ratings between markets.
- π Built-in fallback. If Apple's catalog hiccups, the actor automatically retries via the iTunes API.
- π« No empty-input footgun. Send
{}and you get a clean error, not surprise charges from a default search.
What data can you extract?
| π± App name + bundle ID | π€ Developer | π° Price + currency | π 5-star breakdown |
| β Rating + review count | π Live chart position | π Full review text | π¬ Developer responses |
| πΈ IAP catalog + free trials | π App Store events | π Similar apps | π Country availability |
| π Privacy labels | π Version history | π¦ File size by device | π° Editorial features |
| π’ Developer contact (EU) | π Website + support links | π£οΈ Supported languages | π Full description |
How it compares
| Apple's free API | Other store scrapers | Apple App Store Scraper | |
|---|---|---|---|
| Reviews per app | 500 hard cap | 500 hard cap | Past the 500-cap, into the thousands |
| 5-star breakdown | β | β | β on every app |
| Live chart position per app | β | β | β |
| In-app purchase catalog | β | β | β |
| App Store events | β | β | β |
| Privacy labels | β | Sold as a separate actor | β Included |
| Developer contact details (EU) | β | β | β |
| Version history (25 deep) | β | Sold as a separate actor | β Included |
| Billing model | Free, rate-limited | Varies; some add a per-run start fee | One event, no start fee, same price every mode |
| Coverage | Search + lookup only | Usually one or two modes per actor | 10 modes in one actor |
Scraping modes
π search: find apps by keyword
{"mode": "search","countries": ["us", "gb", "de"],"searchConfig": {"searchTerms": ["fitness tracker", "language learning"],"maxResultsPerSearch": 50}}
Up to 200 results per query. Fans out across countries Γ terms automatically.
π± app-details: full record for one or more apps
{"mode": "app-details","countries": ["us"],"appDetailsConfig": {"appIds": ["570060128", "https://apps.apple.com/us/app/whatsapp-messenger/id310633997"],"includePrivacyLabels": true,"includeVersionHistory": true,"includeFileSizeByDevice": true,"includeSellerInfo": true}}
appIds accepts numeric IDs or full App Store URLs. One row per app per country, with more than 35 fields: the full description, price, current version and release dates, subtitle, icon, supported languages, and the developer's website, privacy policy and support links. The 5-star breakdown is on by default. Privacy labels, version history, file size, and developer contact are opt-in toggles that enrich the row at no extra charge.
β reviews: past the 500-cap
{"mode": "reviews","countries": ["us", "gb"],"reviewsConfig": {"appIds": ["570060128"],"maxReviewsPerApp": 5000,"sortBy": "mostRecent","sinceDate": null}}
The headline mode. sinceDate (ISO 8601) returns only reviews posted on or after that date. Apple serves reviews in its own relevance order rather than by date, so the actor scans past older ones to find recent matches: expect fewer rows than maxReviewsPerApp, and the run log tells you when coverage is partial.
π charts: top free / paid / grossing / new
{"mode": "charts","countries": ["us", "gb", "jp"],"chartsConfig": {"chartTypes": ["topfreeapplications", "toppaidapplications", "topgrossingapplications", "newapplications"],"genreIds": [null, 6014, 6017],"limit": 100}}
null = overall chart. Otherwise pass genre IDs (Games 6014, Education 6017, Health & Fitness 6013, Finance 6015, Social Networking 6005, etc.).
πΈ iap-catalogue: in-app purchases
{"mode": "iap-catalogue","countries": ["us", "gb", "in"],"iapCatalogueConfig": { "appIds": ["570060128"] }}
Returns up to 10 IAPs per app per country with subscription tiers, prices in local currency, free trials, and intro pricing.
π app-events: calendared App Store events
{"mode": "app-events","countries": ["us"],"appEventsConfig": { "appIds": ["1094591345"] }}
Returns the live-ops events shown on an app's App Store page. PokΓ©mon GO, Genshin Impact, and Roblox keep this populated; non-gaming apps usually have none.
π similar-apps: apps customers also bought
{"mode": "similar-apps","countries": ["us"],"similarAppsConfig": { "appIds": ["570060128"], "maxSimilarPerApp": 40 }}
Returns related app IDs and their rank. Re-feed into app-details for full data.
π availability-matrix: probe N apps Γ M countries
{"mode": "availability-matrix","countries": ["us", "gb", "in", "de", "jp", "cn", "ru"],"availabilityMatrixConfig": { "appIds": ["570060128"] }}
For each app Γ country pair, returns one row with available: true/false. Useful for tracking app removals (CN/RU) or market-entry gaps.
π¨βπ» developer-portfolio: full catalog by developer
{"mode": "developer-portfolio","countries": ["us"],"developerPortfolioConfig": { "developerIds": ["570060151"] }}
Pass the numeric developer ID (visible in /developer/<slug>/id<NNNNNNNNN> URLs) and get the developer's app catalog, up to 200 apps.
π° editorial: fetch a story or collection
{"mode": "editorial","countries": ["us"],"editorialConfig": { "editorialIds": ["1748181882"], "editorialKind": "story" }}
editorialKind is story (single article) or collection (curated list). IDs come from the "Featured In" links on app pages.
How to scrape the App Store: step by step
- Create a free Apify account. 30 seconds, no card.
- Open Apple App Store Scraper in the Console.
- Pick a mode and paste the matching input.
- Click Start. Most runs finish in seconds; a 2,000-row review pull takes about 4 minutes.
- Export as JSON, CSV, or Excel, or fetch via the Apify API.
How much does Apple App Store Scraper cost?
- Per 1,000 results: $2.00
- Free-plan yield: about 2,500 results
- Starter-plan yield: about 14,500 results per month
Same flat price for every mode: reviews, app details, IAPs, charts, events, everything. No per-run fee. You pay only for rows you actually receive, and rows that fail to fetch are returned as unbilled error records. A run that stops early still bills the rows it already delivered.
Input
{"mode": "reviews","countries": ["us"],"reviewsConfig": {"appIds": ["570060128"],"maxReviewsPerApp": 1500,"sortBy": "mostRecent","sinceDate": null}}
| Field | Type | Default | Notes |
|---|---|---|---|
mode | enum | required | search, app-details, reviews, charts, iap-catalogue, app-events, similar-apps, availability-matrix, developer-portfolio, editorial |
countries | string[] | ["us"] | Two-letter codes, lowercase. 50+ supported |
searchConfig.searchTerms | string[] | n/a | Required for search |
searchConfig.maxResultsPerSearch | int | 50 | 1β200 |
appDetailsConfig.appIds | string[] | n/a | Required for app-details. IDs or URLs |
appDetailsConfig.includePrivacyLabels | bool | false | Adds Privacy Nutrition Labels |
appDetailsConfig.includeVersionHistory | bool | false | Adds 25 past releases |
appDetailsConfig.includeFileSizeByDevice | bool | false | Adds per-device file size |
appDetailsConfig.includeSellerInfo | bool | false | Adds the developer's published contact details. EU storefronts only |
reviewsConfig.appIds | string[] | n/a | Required for reviews |
reviewsConfig.maxReviewsPerApp | int | 500 | 1β100,000 |
reviewsConfig.sortBy | enum | mostRecent | mostRecent or mostHelpful |
reviewsConfig.sinceDate | string | null | ISO 8601, year first (2026-08-01). Ambiguous formats are rejected |
chartsConfig.chartTypes | string[] | ["topfreeapplications"] | One or more chart types |
chartsConfig.genreIds | (int|null)[] | [null] | null = overall |
chartsConfig.limit | int | 100 | 1β200 |
iapCatalogueConfig.appIds | string[] | n/a | Required for iap-catalogue |
appEventsConfig.appIds | string[] | n/a | Required for app-events |
similarAppsConfig.appIds | string[] | n/a | Required for similar-apps |
similarAppsConfig.maxSimilarPerApp | int | 40 | 1β1,000 |
availabilityMatrixConfig.appIds | string[] | n/a | Required. countries.length >= 2 |
developerPortfolioConfig.developerIds | string[] | n/a | Required for developer-portfolio |
editorialConfig.editorialIds | string[] | n/a | Required for editorial |
editorialConfig.editorialKind | enum | story | story or collection |
Output
App detail
{"_recordType": "app-detail","appId": "570060128","bundleId": "com.duolingo.DuolingoMobile","name": "Duolingo: Language Lessons","subtitle": "Languages, Math, Music & Chess","artistName": "Duolingo","sellerName": "Duolingo, Inc","description": "Learn a new language, chess & more with the world's most downloaded ...","primaryGenreName": "Education","averageUserRating": 4.7,"userRatingCount": 5384757,"ratingsHistogram": {"one": 135072, "two": 45138, "three": 131449, "four": 544816, "five": 4528282},"price": 0,"currency": "USD","formattedPrice": "$0.00","version": "7.135.2","releaseDate": "2012-11-13","currentVersionReleaseDate": "2026-08-14","minimumOsVersion": "17.0","requirementsString": "Requires iOS 17.0 or later. Compatible with iPhone, iPad, and iPod touch.","contentAdvisoryRating": "4+","chartPosition": { "chart": "top-free", "genreName": "Education", "position": 2 },"appUrl": "https://apps.apple.com/us/app/duolingo-language-lessons/id570060128","iconUrl": "https://is1-ssl.mzstatic.com/image/thumb/Purple211/v4/4d/ae/c2/4daec21d-a3e0-965c-d83d-1717694c0865/AppIcon-0-0-1x_U007epad-0-1-85-220.png/512x512bb.jpg","websiteUrl": "https://www.duolingo.com","privacyPolicyUrl": "https://www.duolingo.com/privacy","supportUrl": "https://www.duolingo.com/info","copyright": "Β© 2026 Duolingo, Inc.","languageList": ["English", "Arabic", "French", "German", "Japanese", "Spanish"],"deviceFamilies": ["iphone", "ipad"],"hasInAppPurchases": true,"isGameCenterEnabled": false,"isAppleWatchSupported": false,"country": "us","language": "en-US","scrapedAt": "2026-08-16T10:45:35.398Z"}
Note artistName and sellerName are different fields: the first is the developer's display name, the second is the legal entity behind the listing. They often match, but not always. Minecraft lists Mojang as the developer and Mojang AB as the seller.
Opt-in toggles add four more blocks to the same row at no extra charge: versionHistory (up to 25 past releases with notes), fileSizeByDevice, privacyDetails, and sellerInfo.
Review
{"_recordType": "review","reviewId": "11301765602","appId": "570060128","rating": 5,"title": "Great app!","review": "I wanted to download Duolingo because I am going to fly to Paris France soon β¦","userName": "yhgchggchht","date": "2024-05-24T13:18:58Z","isEdited": false,"developerResponse": null,"country": "us","scrapedAt": "2026-05-07T18:18:45.221Z"}
Chart ranking
{"_recordType": "chart-ranking","appId": "6448311069","rank": 1,"chartType": "topfreeapplications","genreId": null,"name": "ChatGPT","artistName": "OpenAI OpCo, LLC","country": "us","scrapedAt": "2026-05-07T18:21:09.880Z"}
In-app purchase
{"_recordType": "iap-item","iapId": "1365793322","appId": "570060128","name": "Super Duolingo","isSubscription": true,"subscriptionFamilyName": "Super Duolingo","offers": [{"type": "buy","currencyCode": "USD","price": 9.99,"priceFormatted": "$9.99","discounts": [{"modeType": "FreeTrial","numOfPeriods": 1,"recurringSubscriptionPeriod": "P7D","type": "IntroOffer"}]}],"country": "us","scrapedAt": "2026-05-07T18:24:11.512Z"}
App Store event
{"_recordType": "app-event","eventId": "6762316582","appId": "1094591345","name": "Spring Marathon","subtitle": "Flittle and Espathra make their debuts!","eventKind": "specialEvent","startDate": "2026-05-12T17:00:00Z","endDate": "2026-05-19T03:00:00Z","deepLink": "https://pokemon-go.onelink.me/nBRb/jm7xy3xh","country": "us","scrapedAt": "2026-05-07T18:25:43.118Z"}
Other modes (similar-app, availability-probe, developer-portfolio-app, app-search-hit, editorial-item) follow the same flat shape. See _recordType to filter.
Use cases
- π App Store Optimization (ASO). Pull the 5-star breakdown to see whether a 4.5-star rating is healthy or front-loaded with old reviews.
- π Competitor reputation watch. Schedule weekly review pulls, diff the new ones, route negatives into Slack.
- π° Subscription benchmarking. Compare IAP prices, free trials, and tiers across competitors and countries.
- π Market entry research. Search and chart data across storefronts to find apps with US traction missing localization elsewhere.
- π‘οΈ Brand & IP monitoring. Surface clones and look-alikes before the official "Report a Concern" cycle catches them.
- π Live-ops tracking. Watch competitor in-app events for gaming roadmap intel.
- π Research & journalism. Track app removals from CN/RU stores for digital-rights and platform-governance reporting.
Limitations
- Reviews are soft-throttled by Apple's CDN at depth. Per-run volume per app per country is stochastic: typically a few hundred to a few thousand rows before Apple's catalog slows pagination. Apify's residential proxies (built in) help, and multi-country fan-out keeps going where one country stalls. There's no fixed ceiling; different runs return different numbers.
- App events return zero rows for apps without active events. That's normal. Most non-gaming apps don't use this surface.
- In-app purchases cap at 10 per app per country (Apple's limit, sorted by tier rank).
- Review sort isn't honored. Apple returns reviews in its own relevance order, not by date, whichever sort you pick. The actor warns once and continues.
sinceDateis a filter, not a date-range query. Because Apple orders by relevance, the actor scans through older reviews to find recent ones and stops at a sensible bound. A narrow window can return only a handful of rows even for a busy app. Widen the window or raisemaxReviewsPerAppfor deeper coverage.- Developer contact details are European storefronts only. Apple publishes them where trader disclosure is required, so
de,fr,it,es, andnlreturn them whileus,gb,ca,jp, andbrreturn nothing. They are the contact the developer registered with Apple, often a company switchboard rather than a person, and the actor does not check whether they still work. chartPositionis null unless the app is currently charting. Most apps are not in a top chart, so expect this on long-tail apps.genresis not populated yet. The field exists in the schema and is always null; useprimaryGenreName.- Developer responses are rare. Apple returns one on roughly 0.1% of reviews, because most developers never reply publicly.
- Charts are a snapshot, not a trend. Apple has no historical chart endpoint. Schedule daily runs to build your own.
- Editorial discovery isn't included. You supply the story or collection ID (from "Featured In" links); the actor doesn't crawl for them.
FAQ
How much does Apple App Store Scraper cost?
You pay $2.00 per 1,000 results for any mode: reviews, app details, IAPs, charts, events, all the same. The Apify Free plan includes $5/month in credits, about 2,500 results. The $29/month Starter plan covers around 14,500 results.
No subscription lock-in. Pause whenever.
Is it legal to scrape the App Store?
Scraping public data is generally allowed in the US and most of the EU, as long as you don't collect personal data covered by GDPR or CCPA without a lawful basis. This actor only touches publicly accessible App Store pages, but how you use the output is on you. Review text and reviewer usernames are user-generated; treat them accordingly.
Apify's full breakdown: Is web scraping legal?.
Can I integrate Apple App Store Scraper with other tools?
Push results into Make, Zapier, Slack, Airbyte, GitHub, Google Sheets, Google Drive, and more. Apify treats every actor as a webhook source, so anything that consumes webhooks or pulls from an API works.
Full list: Apify integrations.
Can I use Apple App Store Scraper with the Apify API?
Yes. Every run is available via the Apify REST API:
curl -X POST "https://api.apify.com/v2/acts/sourabhbgp~apple-app-store-scraper/runs?token=APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"mode":"reviews","countries":["us"],"reviewsConfig":{"appIds":["570060128"],"maxReviewsPerApp":1000}}'
Docs: Apify API reference.
Can I use Apple App Store Scraper through an MCP Server?
Yes. Apify ships an MCP server that exposes every actor as a tool, so Claude Desktop, Cursor, and any other MCP-capable client can call this scraper. Setup: Apify MCP docs.
Your feedback
Bug, missing field, or odd behavior? Drop a note in the Issues tab. Reports go to a human and fixes usually ship the same week.