App Store Scraper
Scrape Apple App Store apps and reviews with no API key. Search by keyword or look up by ID for ratings, price, version, and full metadata.
How it works
- 1Open it on Apify
Hit Run on Apify — it opens the tool in the cloud, no install.
- 2Set the inputs
Adjust
searchTerm,appIds,includeReviews(sensible defaults are pre-filled). - 3Click Run
The tool runs on Apify’s cloud and collects the data for you.
- 4Export the results
Download as JSON, CSV or Excel, or pipe straight into your app, Google Sheets, or an AI agent.
Inputs
| Field | What it does | Type |
|---|---|---|
searchTerm | Keyword to search the App Store for (e.g. "notion", "habit tracker"). Returns matching apps with full metadata. Leave empty if you are looking up specific apps by ID instead. | string |
appIds | Look up specific apps by numeric trackId (e.g. "1232780281") or bundleId (e.g. "net.shinyfrog.bear"). Each app is returned with full metadata; enable "Include reviews" to also fetch its customer reviews. Used instead of Search term. Note: individual metadata fields (e.g. averageUserRating, releaseNotes, sellerUrl, price) can be null when Apple does not provide them for an app. | array |
includeReviews | When looking up apps by ID, also fetch each app's customer reviews (author, rating, title, body, version, date) from Apple's public reviews feed. Ignored in Search mode. | boolean |
maxReviews | Maximum number of customer reviews to fetch per app when "Include reviews" is on. Apple's feed serves roughly 50 reviews per page across up to 10 pages (~500 max). | integer |
reviewsSort | Order in which to fetch reviews: most recent first, or most helpful first. | string |
country | Two-letter App Store storefront code, e.g. us, gb, ca, de, fr, jp, in. Affects which apps, prices, and reviews are returned. Use a valid ISO storefront code: an invalid code (e.g. "us-uk") is rejected by Apple's API and the actor returns a diagnostic row with no results instead of charging. | string |
maxItems | Maximum number of apps to return when using Search term. Apple's search caps at 200 results per query. | integer |
notionConnector | Optional. Write each app as a page into your Notion when the run finishes. Authorize a Notion connector once in Settings → API & Integrations → MCP connectors, then pick it here. Leave empty to skip (default) — results are always saved to the dataset regardless. | string |
notionParentId | Optional. The Notion data source ID of the database to write into (only used if a Notion connector is set). Leave empty to create the pages privately in your workspace instead. | string |
What you get
A structured dataset — each result includes fields like:
advisoriesappNameappStoreUrlartworkUrlaverageUserRatingaverageUserRatingCurrentVersionbundleIdcontentAdvisoryRatingcurrencycurrentVersionReleaseDatedescriptiondeveloperdeveloperIdfileSizeBytesExport every run as JSON, CSV or Excel, or send it to your app, a database, Google Sheets, or an AI agent.
21 ready-to-run use cases
Scrape Instagram App Store Reviews for Bug Reports
Pull Instagram's newest iOS reviews to catch crash reports, login failures, and bug complaints fast. A QA and product feedback feed from the App Store.
Notion App Store Reviews: Feature Request Mining
Read Notion's most-helpful iOS reviews to surface recurring feature requests and roadmap ideas before your next product planning sprint.
ChatGPT App Store Reviews: 1-Star Spike Monitor
Catch it early when ChatGPT's newest iOS reviews spike with 1-star ratings and complaint keywords after each App Store update. An alert for release teams.
CapCut vs InShot: Compare App Store Reviews
Compare CapCut and InShot iOS reviews side by side to see what users love and hate about each video editor. Competitor analysis for product teams.
Validate a Meditation App Idea by App Store Search
Search meditation and sleep apps to pull ratings, review counts, and developers, so founders can market-size the category before building.
Robinhood App Store Reviews: Trust Complaints
Track recent Robinhood iOS reviews flagging withdrawal, fee, and account-lock complaints. A monitoring feed for fintech CX, trust, and risk teams.
Track Temu App Store Reviews by Country
Temu's German storefront reviews reveal country-specific shipping, payment, and localization complaints. Run one storefront per market on iOS.
App Review Dataset for Sentiment & NLP Training
Collect thousands of star-rated banking app reviews across many iOS apps to build a labeled corpus for training sentiment analysis and NLP models.
Audit Calm App Reviews for ASO Keywords
Calm's most-helpful iOS reviews reveal the real words users use, fueling ASO keywords, subtitles, and positioning for competing meditation apps.
Top Budgeting App Reviews for Roundup Content
Search budgeting apps and pull their top iOS reviews, ratings, and quotes for a 'best apps' roundup. Made for affiliate and content writers.
Mobile Game Review Trends for App Due Diligence
Read Candy Crush iOS reviews and store metadata to gauge rating trend and review velocity during mobile game investment due diligence.
Monitor Bank of America Reviews for Outages
Watch the newest Bank of America iOS reviews for login-down and transfer-failed reports during outages. An out-of-band signal for ops teams.
Uber vs Lyft App Store Reviews by Country
Pull UK reviews for Uber and Lyft together to compare pricing, wait-time, and driver complaints in one market. Regional rideshare benchmarking.
WhatsApp Reviews from Brazil or India Storefronts
Read WhatsApp iOS reviews from the Brazil or India storefront, one market per run, to surface region-specific complaints US-only teams miss.
Pull-Quotes from 5-Star Canva App Reviews
Mine Canva's most-helpful 5-star iOS reviews for testimonials and pull-quotes you can drop into ads, landing pages, and App Store screenshots.
Top AI Chatbot Apps: Ratings & Rankings Snapshot
Search the App Store for AI chatbot and assistant apps to get a ranked snapshot of ratings, review counts, and developers across a hot category.
Threads App Reviews by Version After Updates
Threads iOS reviews tagged by app version let product teams measure how each update landed and catch new complaints right after release.
Scrape Recent Duolingo App Store Reviews
Grab Duolingo's newest iOS reviews with author, star rating, title, body, and date. Handy for spotting complaints right after a release ships.
Compare Telegram vs Signal App Store Metadata
Pass several App Store IDs to fetch iOS app metadata in a single run, like comparing Telegram against Signal head to head on ratings.
ASO Keyword Research for VPN Apps on iOS
See every app Apple returns for 'vpn' with genres and rating counts, the raw material for App Store Optimization keyword research.
Monitor Spotify App Store Metadata & Ratings
Snapshot Spotify's rating average, total rating count, and latest version number. Schedule it to watch the App Store numbers move over time.
App Store Scraper
Scrape the Apple App Store with no API key and no anti-bot headaches. This actor talks directly to Apple's public iTunes / App Store JSON endpoints, so results are fast, clean, and structured — app metadata and customer reviews, ready for analysis.
What it does
Two modes:
1. Search — give a searchTerm (e.g. notion) and get back matching apps with full metadata: name, developer, average rating, rating count, price, genre(s), version, release dates, description, App Store URL, artwork, screenshots, minimum OS, content rating, file size. 2. Look up by ID — give appIds (numeric trackIds like 1232780281, or bundleIds like net.shinyfrog.bear) to fetch those exact apps. Turn on Include reviews to also pull each app's customer reviews (author, rating 1–5, title, body, app version, date).
Input
| Field | Type | Default | Notes |
|---|---|---|---|
searchTerm | string | — | Keyword search. Use this or appIds. |
appIds | array | [] | trackIds and/or bundleIds to look up. |
includeReviews | bool | false | Fetch reviews for each app (ID mode only). |
maxReviews | int | 100 | Up to ~500 (Apple serves ~50/page, 10 pages). |
reviewsSort | enum | mostrecent | mostrecent or mosthelpful. |
country | string | us | Storefront code: us, gb, de, jp, … |
maxItems | int | 50 | Max apps in search mode (Apple caps at 200). |
Output
One dataset item per app (ok: true), with all metadata fields. In ID mode with includeReviews, each app item also carries a reviews array and a reviewsCount.
Each review: reviewId, author, rating, title, body, version, voteSum, voteCount, updated.
Nullable fields: the row always contains every documented field, but individual values can be null when Apple doesn't provide them for an app — e.g. averageUserRating, userRatingCount, releaseNotes, sellerUrl, price/formattedPrice, version. Treat any field as possibly null rather than assuming completeness.
Reviews are best-effort. reviewsCount is the number actually fetched. Apple's reviews feed serves ~50 reviews per page over up to 10 pages, and many apps simply have fewer reviews than your maxReviews. If the feed ends early or a page errors, the actor logs a warning, keeps what it collected, and still returns the app — so reviewsCount may be lower than maxReviews. That is not an error; it usually means there were no more reviews available.
If something goes wrong (bad input, rate limit, network, no results) the actor pushes a single diagnostic row with ok: false and an errorCode instead of failing silently — and never charges for it.
Sample output row
{
"ok": true,
"trackId": 1232780281,
"bundleId": "net.shinyfrog.bear",
"appName": "Bear - Markdown Notes",
"developer": "Shiny Frog Ltd.",
"averageUserRating": 4.6,
"userRatingCount": 18342,
"price": 0,
"formattedPrice": "Free",
"primaryGenre": "Productivity",
"version": "2.1",
"appStoreUrl": "https://apps.apple.com/us/app/bear-markdown-notes/id1232780281",
"reviewsCount": 100,
"reviews": [ { "author": "...", "rating": 5, "title": "...", "body": "..." } ]
}
Pricing
Pay-per-result: charged per app row returned (search results or looked-up apps). Diagnostic and empty rows are never charged.
Notes
- Apple's legacy customer-reviews RSS feed is occasionally empty for short periods or for apps
with few recent reviews; the actor handles this gracefully and still returns the app metadata.
- The iTunes APIs are public and unauthenticated, so **no proxy is needed and none is used by
default**. Only enable a proxy if you hit per-IP rate limits at high volume — routing this public API through Apify Proxy otherwise just spends proxy credits for no benefit.
Troubleshooting
chargedcount lower than apps returned? Every successful app row is charged once; if a
charge failed: ... warning appears in the log, that row was pushed but the billing call failed (you were not billed for it). The numbers in the final Done. log line (apps, charged) are authoritative.
- Got a diagnostic row (
ok: false) instead of apps? Read itserrorCode/error:BAD_INPUT
means no searchTerm/appIds (or an invalid country code) — fix the input and rerun. RATE_LIMITED means lower the volume or enable a proxy. NO_RESULTS means the query matched nothing. Diagnostic rows are never charged.
- Fewer reviews than
maxReviews? The app simply has fewer reviews available; see "Reviews are
best-effort" above.