App Store Scraper: iOS App Data, Ratings & In-App Purchases
Pricing
from $2.00 / 1,000 app with product page details
App Store Scraper: iOS App Data, Ratings & In-App Purchases
Scrape Apple App Store app data by link, app id, bundle id or developer, in 174 countries: subtitle, price, rating and 1–5 star breakdown, version history, in-app purchases, App Privacy labels, chart rank, similar apps, EU developer contact. Export to JSON, CSV or Excel, or via API.
Pricing
from $2.00 / 1,000 app with product page details
Rating
0.0
(0)
Developer
Steady Scrape
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
App Store Scraper reads full Apple App Store listings of iPhone and iPad apps — by App Store link, app id, bundle id or developer — in any of 174 countries. Every app comes with Apple's own catalogue data (name, description, price, rating, version, size, languages, release and update dates, developer and seller) and, from the app's product page on apps.apple.com, what no lookup API gives: the subtitle, the 1–5 star ratings breakdown, the version history with release notes, in-app purchases with their prices, App Privacy labels, the top chart rank, Editors' Choice, age rating notes, app events, the apps shown under "You Might Also Like" and the developer's contact details in EU storefronts. Export the App Store data to JSON, CSV or Excel, or get it through the Apify API.
No login, no browser: plain requests to Apple's public pages at a polite pace.
What you can do with this App Store scraper
- App Store Optimization (ASO): compare titles, subtitles, descriptions, screenshots and release notes of your app and its competitors, country by country.
- Competitor research: track competitors' prices, in-app purchase prices and subscription tiers, update cadence (version history), ratings breakdown and chart rank.
- Market maps: start from one app and add the apps the App Store lists as similar, or list every app of a developer.
- Privacy audits: collect the App Privacy labels (data used to track you, linked to you, not linked) of a whole category of apps.
- Lead generation: EU storefronts show each developer's trader address, phone and e-mail (required by the Digital Services Act); the "Developer contacts" view lists them.
Input
| field | what it does |
|---|---|
| Apps | App Store links (https://apps.apple.com/us/app/duolingo-learn-languages/id570060128), app ids (570060128) or bundle ids (com.duolingo.DuolingoMobile). |
| Developers | Developer links (https://apps.apple.com/us/developer/duolingo/id570060151) or ids (570060151): every iPhone and iPad app of each one, up to the 200 Apple lists. |
| Countries | App Store countries, default us. Each app is scraped once per country: texts, prices, currency, ratings and chart rank change by country. |
| Include product page details | On by default. Reads each app's App Store page for the details object below. Off: only the catalogue data, at the lower price. |
| Include similar apps | Also scrapes the up to 10 apps each of your listed apps shows under "You Might Also Like" (one level deep). Needs product page details. |
{"apps": ["https://apps.apple.com/us/app/duolingo-learn-languages/id570060128", "com.openai.chat"],"developers": ["570060151"],"countries": ["us", "de"],"includeDetails": true,"includeSimilarApps": false}
Output: App Store data, one row per app and country
{"appId": "570060128","bundleId": "com.duolingo.DuolingoMobile","url": "https://apps.apple.com/us/app/duolingo-learn-languages/id570060128","country": "us","countryName": "United States","language": "en-US","languageName": "English (US)","scrapedAt": "2026-10-29T13:53:25.855Z","foundVia": "input","name": "Duolingo: Learn Languages","description": "Learn a new language, chess & more with the world's most downloaded education app! Duoling…","releaseNotes": "Our mascot owl, Duo, is trading in his usual diet of mice fo…","icon": "https://is1-ssl.mzstatic.com/image/thumb/Purple221/v4/e9/99/8b/e9998b23-eef1-33e5-5817-2729377b2bc5/AppIcon-0-0-1x_U007epad-0-1-85-220.png/512x512bb.jpg","screenshots": ["https://is1-ssl.mzstatic.com/image/thumb/PurpleSource211/v4/6e/ef/30/6eef3023-de04-3b29-21f8-a993245b9abd/iPhone6.5_-_Default_-_first_screen_adapt_Var_2_01.jpg/320x480bb.jpg","…"],"developer": "Duolingo","developerId": "570060151","developerUrl": "https://apps.apple.com/us/developer/duolingo/id570060151","developerWebsite": "https://www.duolingo.com","seller": "Duolingo, Inc","price": 0,"formattedPrice": "Free","currency": "USD","free": true,"rating": 4.7225,"ratingCount": 5542365,"genre": "Education","genreId": "6017","genres": ["Education","Social Networking"],"contentRating": "4+","advisories": [],"version": "7.146.1","minOsVersion": "17.0","sizeBytes": 514102272,"supportedLanguages": ["AR","BN","CS","NL","…"],"gameCenterEnabled": false,"releasedAt": "2012-11-13T08:00:00Z","updatedAt": "2026-10-28T16:01:08Z","details": {"subtitle": "Spanish, French, Chess & Math","ratingHistogram": {"1": 140930,"2": 46892,"3": 136015,"4": 561557,"5": 4656971},"editorsChoice": true,"editorsNotes": "With its friendly approach and awesome updates, Duolingo’s long been o…","chartRank": {"position": 1,"chart": "top-free","genre": "Education","genreId": "6017"},"versionHistory": [{"version": "7.146.1","releasedAt": "2026-10-28T16:01:08Z","releaseNotes": "Our mascot owl, Duo, is trading in his usual diet …"},"…"],"inAppPurchases": [{"name": "Barrel of Gems (1200)","price": "$4.99","priceValue": 4.99},{"name": "Super Duolingo","price": "$9.99","priceValue": 9.99},"…"],"privacyLabels": [{"type": "DATA_USED_TO_TRACK_YOU","title": "Data Used to Track You","categories": ["PURCHASES","LOCATION","CONTACT_INFO","…"],"categoryTitles": ["Purchases","Location","Contact Info","…"]}],"ageRatingDetails": ["Contains: Advertising, Messaging and Chat"],"privacyPolicyUrl": "https://www.duolingo.com/privacy","euTrader": null,"appEvents": [{"id": "6815503919","title": "Say hello to Shanghainese!","subtitle": "Learn local phrases and get talking.","detail": "Explore Shanghai through 50 units of everyday lang…","kind": "MAJOR UPDATE","startsAt": "2026-10-15T16:00:00.000Z","endsAt": "2026-11-15T16:00:00.000Z"}],"featuredIn": [{"heading": "TRY NOW","title": "5 Tips for Duolingo Domination","url": "https://apps.apple.com/us/iphone/story/id1748181882"}],"similarApps": [{"appId": "379968583","bundleId": "com.busuu.english.app","name": "Busuu: Language Learning App","subtitle": "Learn Spanish, French, English","developer": "Busuu Limited","rating": 4.7},"…"],"moreByDeveloper": [{"appId": "1440502568","bundleId": "com.duolingo.literacy","name": "Learn to Read - Duolingo ABC","subtitle": "Interactive Stories for Kids","developer": "Duolingo","rating": 4.3},"…"]}}
In an EU storefront (de, fr, it, es, nl…) details.euTrader carries the developer's contact:
"euTrader": {"address": "5900 Penn Ave, Pittsburgh Pennsylvania 15206, Vereinigte Staaten","phone": "+1 4125676602","email": "ios@duolingo.com","dunsNumber": null}
App Store fields
| field | meaning |
|---|---|
appId, bundleId, url | The App Store id, the bundle id and the app's App Store page in that country. |
country, countryName, language, languageName | The App Store country the app was read in and that storefront's language. |
scrapedAt | When it was read, ISO 8601 UTC. |
name, description, releaseNotes, icon, screenshots | The listing as shown in that country (iPhone screenshots first, then iPad). |
developer, developerId, developerUrl, developerWebsite, seller | Who makes it and who sells it. |
price, formattedPrice, currency, free | The app's price in the country's currency. |
rating, ratingCount | Average rating and number of ratings in that country. |
genre, genreId, genres, contentRating, advisories | Category, all categories, age rating and its content advisories. |
version, minOsVersion, sizeBytes, supportedLanguages, gameCenterEnabled | Technical details. |
releasedAt, updatedAt | First release and current version's release, ISO 8601 UTC. |
foundVia | input (you listed it), developer (from a developer you listed) or similar (a similar app). |
details.subtitle | The app's subtitle; null when the developer wrote none for that language. |
details.ratingHistogram | Number of 1★ to 5★ ratings. |
details.editorsChoice, details.editorsNotes | Editors' Choice badge and Apple's editorial notes. |
details.chartRank | Position in the top free or top paid chart of its category, when it is in one. |
details.versionHistory | Up to the last 25 versions: version, release date (UTC) and release notes. |
details.inAppPurchases | The top in-app purchases the page shows (up to 10): name, price as shown, and priceValue as a number. |
details.privacyLabels | App Privacy: each label type (DATA_USED_TO_TRACK_YOU, DATA_LINKED_TO_YOU, DATA_NOT_LINKED_TO_YOU, DATA_NOT_COLLECTED) with its data categories. |
details.ageRatingDetails | Age rating notes ("Contains: Advertising, Messaging and Chat"). |
details.privacyPolicyUrl | The app's privacy policy link. |
details.euTrader | EU storefronts only: trader address, phone, e-mail, D-U-N-S number. null elsewhere. |
details.appEvents, details.featuredIn | In-app events on the page, and App Store stories that feature the app. |
details.similarApps, details.moreByDeveloper | Apps shown as "You Might Also Like" and the developer's other apps: id, bundle id, name, subtitle, developer, rating. |
details is null when product page details are off, or when the page could not be read (then the row is charged as a
plain app and SUMMARY says why).
Pricing
Pay per event, only for apps delivered:
| event | price | when |
|---|---|---|
app | US$0.001 | an app in one country, catalogue data only |
app-with-details | US$0.002 | an app in one country with its product page details |
1,000 apps with full product page details cost US$2. Apps not found, Mac apps and refused requests are free; they are
listed in the run's SUMMARY record. Set a maximum cost per run and the scraper stops when it is reached.
Limits
- iPhone and iPad apps. Apps sold only on the Mac App Store, and ids of other iTunes media (albums, podcasts, books),
are reported in
SUMMARYand skipped, free. - No keyword search: Apple's robots.txt forbids crawling its search, so apps come from your links, ids, bundle ids, developers and similar apps. For keyword rankings see App Store & Google Play Keyword Rank Tracker.
- Texts come in each country's main language.
- Apple lists at most 200 apps per developer, and up to 25 versions and 10 in-app purchases per app page.
- About one request per second to each Apple host: 100 apps with product pages take about two minutes.
- Reviews are not included: App Store Reviews Scraper reads them. For Google Play apps use App Store & Google Play App Details Scraper.
Is it legal to scrape the App Store?
This Actor reads only public App Store pages and Apple's public lookup API, without logging in, and follows Apple's robots.txt (no search pages). The EU trader contact is information Apple publishes because the law requires it; if you store or contact developers with it, personal data rules such as the GDPR still apply to you. This Actor is not affiliated with or endorsed by Apple. Check that your use complies with Apple's terms and the laws that apply to you.