Request a tool
All toolsAutomationsGuidesMCP serverRequest a toolPlatformsCategories
App Store Scraper icon

App Store Scraper

Scrape the Apple App Store: app name, developer, rating, review count, price, genre and artwork, plus reviews. $0.09 per 1,000 apps.

180 runs on Apify $0.00009 per app ($0.09 / 1,000)
Run this in the cloudRun on Apify →

App Store Data

How it works

  1. 1
    Open it on Apify

    Hit Run on Apify — it opens the tool in the cloud, no install.

  2. 2
    Set the inputs

    Adjust searchTerm, appIds, startUrls (sensible defaults are pre-filled).

  3. 3
    Click Run

    The tool runs on Apify’s cloud and collects the data for you.

  4. 4
    Export the results

    Download as JSON, CSV or Excel, or pipe straight into your app, Google Sheets, or an AI agent.

Pricing

$0.00009 per app = $0.09 per 1,000

You are charged forWhenPrice
App returnedCharged per app/result returned.$0.00009

Pay-per-event pricing: you are billed per result, not per subscription. Billing is handled by Apify on your own account. These are the live Apify store prices, in effect since 2026-08-04, and they are what you are actually charged.

Inputs

FieldWhat it doesType
searchTermKeyword 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
appIdsLook 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
startUrlsLinks to apps' App Store pages, as you copy them from the browser, e.g. https://apps.apple.com/us/app/notion-notes-tasks-ai/id1232780281. The id is read out of each link and looked up just like an App ID, so "Include reviews" works here too. Country still decides the storefront: a link from another one (the two letters after apps.apple.com/) is skipped with a note rather than read from the wrong store, and so is anything that is not an app page, such as a developer page.array
reviewsSortOrder in which to fetch reviews: most recent first, or most helpful first.string
countryTwo-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
maxReviewsMaximum 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
maxItemsMaximum number of apps to return when using Search term. Apple's search caps at 200 results per query.integer
includeReviewsWhen 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
notionConnectorOptional. 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
notionParentIdOptional. 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:

advisoriesappNameappStoreUrlartworkUrlaverageUserRatingaverageUserRatingCurrentVersionbundleIdcontentAdvisoryRatingcurrencycurrentVersionReleaseDatedescriptiondeveloperdeveloperIdfileSizeBytesuserRatingCountformattedPrice

Export 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

Instagram App Reviews: Find Crash and Bug Reports

The newest Instagram iOS reviews in full, with the app version each was written against. It hands you every review, it does not classify them for you.

Notion App Reviews: What Users Keep Asking For

Notion's 500 most-helpful App Store reviews as full text. Read them for the requests that come up again and again before your next planning round.

ChatGPT App Reviews and Complaints on iOS

The 200 newest ChatGPT App Store reviews with star ratings, dates and versions. It returns rows for you to compare between runs. It sends no alerts.

CapCut vs InShot: Read Both Apps' iOS Reviews

Recent App Store reviews for CapCut and InShot in one dataset, each row tagged with its app, so you can read what editors complain about in either.

Top Meditation Apps: Ratings and Review Counts

40 meditation and sleep apps as Apple ranks them, with developer, rating average and review count. Handy for sizing a category before you build in it.

Robinhood App Reviews from the App Store

400 of the newest Robinhood iOS reviews with star rating, date and app version. Withdrawal, fee and account-lock complaints in the users' own words.

Temu App Reviews from the German App Store

Temu's German storefront reviews with star rating, date and app version. One country per run, so swap the code to read another market.

App Store Review Dataset for Sentiment Training

Thousands of banking app reviews across 20 iOS apps, every row carrying its star rating as a ready-made label. Built to train sentiment and NLP models.

Calm App Reviews: the Words Users Actually Type

Calm's most-helpful iOS reviews as full searchable text. Real phrasing from real users, which is where App Store keyword and subtitle ideas come from.

Best Budgeting Apps: Ratings and Top Reviews

Search the App Store for budgeting apps and pull each one's rating, review count and most-helpful reviews. Source material for a roundup post.

Candy Crush Reviews and Rating Count on iOS

500 of the newest Candy Crush App Store reviews, plus the live rating average and total. Each review carries its date and app version.

Bank of America App Reviews, Newest First

The freshest Bank of America iOS reviews with dates and app versions. Run it during an incident to read what customers are actually reporting.

Uber vs Lyft App Reviews from the UK Store

UK App Store reviews for both apps together. Apple keeps reviews separate per storefront, so swap the country code to read a different market.

WhatsApp App Reviews from the Brazil App Store

Apple keeps reviews separate per country. This pulls WhatsApp's Brazilian reviews; change the country code for India or any other storefront.

Canva App Reviews: Pull Quotes and Testimonials

Canva's most-helpful App Store reviews with the full body text and star rating, so you can find real sentences worth quoting. No filtering by rating.

Top AI Chatbot Apps and Their App Store Ratings

What Apple returns for 'ai chatbot assistant': 50 apps with developer, genre, rating average and rating count. A ranked snapshot, metadata only.

Threads App Reviews Tagged by App Version

Every Threads iOS review comes back with the version it was written against, so you can split them by release and see how each update landed.

Duolingo App Store Reviews, Newest First

The latest Duolingo iOS reviews with author, star rating, title, body, date and the app version each one was written against. Sorted most recent first.

Telegram vs Signal: App Store Ratings Side by Side

Both listings in one run: rating average, total ratings, current version, size and release notes. This one returns metadata only, no reviews.

App Store Keyword Research: Every VPN App Apple Lists

Search the App Store for 'vpn' and get back every app Apple returns, each with its genre, rating average and rating count. Metadata only, no review text.

App Store Metadata and Rating Count for Spotify

Spotify's live App Store numbers: rating average, total ratings, current version, release notes and file size. Put it on a schedule to watch them move.

Related tools in App Store Data

Other ready-to-run tools in the same category — all pay-per-use on the Apify cloud.

App Review Triage Monitor — App Store & Google Play Alerts iconApp Store Data

App Review Triage Monitor — App Store & Google Play Alerts

Sort new App Store and Google Play reviews into bugs, billing and feature requests. Get alerts on rating drops in Slack. $0.40 per 1,000 reviews.

4 use cases

Google Play Reviews Scraper iconApp Store Data

Google Play Reviews Scraper

Google Play reviews by app ID or URL: score, text, reviewer, date, developer reply. Any country. Up to 5,000 per app. $0.09 per 1,000.

Ready to run — no setup

See all App Store Data →

App Store Scraper: Apple App Store apps and their reviews, no key needed

Search the App Store by keyword, or look up apps by their ID, and you get one row per app. Name, developer, rating and rating count, price, genres, version, release notes, artwork, screenshots, supported devices and the store link.

Reviews come attached to the app row rather than as rows of their own, and they only work in ID mode. A keyword search returns app metadata and ignores the reviews setting, because Apple's review feed is keyed on an app id.

Two limits worth knowing up front. Apple's public review feed stops after ten pages, so about 500 reviews per app is the most anyone gets. And a search stops at 200 apps, which is Apple's number too.

InputA search term, or App Store IDs or links
OutputOne row per app, with its reviews attached when you ask for them
Ceiling200 apps per search, about 500 reviews per app
Account neededNone
Price$0.09 per 1,000 apps, which is $0.00009 each, flat on every plan

📱 What App Store Scraper does

Two ways to use it, and they do different jobs.

Search. Give it habit tracker and you get the matching apps with their full metadata, up to 200 of them. This is the mode for finding apps you do not already know about.

Look up by ID. Give it numeric track ids (1232780281) or bundle ids (net.shinyfrog.bear) and you get those exact apps, with their customer reviews attached when includeReviews is on. This is the mode for watching apps you already care about. Links copied from the store work too: put them in startUrls and the id is read out of each one.

If you fill in both, the ids and links win and the search term is ignored.

Everything comes from Apple's own public endpoints, which is why there is no key to get and nothing to sign in to. The storefront is a run-level setting: one country per run, and it changes which apps you see, what they cost and which reviews come back.

📥 What you give it

{
  "appIds": ["1232780281", "net.shinyfrog.bear"],
  "includeReviews": true,
  "maxReviews": 200,
  "reviewsSort": "mostrecent",
  "country": "us"
}
FieldDefaultWhat it is
searchTermnoneA keyword, as you would type it into the store. The form arrives with an example in it.
appIdsemptyNumeric track ids or bundle ids, mixed freely. Used instead of a search term.
startUrlsnoneApp Store links, like https://apps.apple.com/us/app/notion-notes-tasks-ai/id1232780281. Each is looked up like an id. A link from a storefront other than country, or one that is not an app page, gets a note instead.
includeReviewsfalseFetch each app's reviews and attach them to its row. ID mode only.
maxReviews100Reviews per app, 1 to 500. Apple serves roughly 50 per page over ten pages.
reviewsSortmostrecentmostrecent or mosthelpful.
maxItems50Apps per search, 1 to 200. Search mode only.
countryusTwo-letter storefront: us, gb, de, jp, in and the rest. One per run. A code Apple does not recognise comes back as a note rather than as results.
notionConnector, notionParentIdnoneOptional. Also write each app into your connected Notion workspace.
proxyConfigurationoffOff, and best left off. Apple's public endpoints answer without it.

📤 What you get back

A real row from a real run. The description, the screenshot lists and the device list are cut short here so the block stays readable:

{
  "ok": true,
  "trackId": 1232780281,
  "bundleId": "notion.id",
  "appName": "Notion: Notes, Tasks, AI",
  "developer": "Notion Labs, Incorporated",
  "developerId": 1232780280,
  "price": 0,
  "formattedPrice": "Free",
  "currency": "USD",
  "isFree": true,
  "averageUserRating": 4.7765,
  "userRatingCount": 90085,
  "averageUserRatingCurrentVersion": 4.7765,
  "userRatingCountCurrentVersion": 90085,
  "primaryGenre": "Productivity",
  "genres": ["Productivity", "Business"],
  "version": "1.7.336",
  "releaseDate": "2017-09-14T19:07:31Z",
  "currentVersionReleaseDate": "2026-09-13T19:26:57Z",
  "releaseNotes": "Bug fixes and performance improvements.",
  "description": "Notion is an AI-powered all-in-one workspace that helps individuals and teams write notes, manage tasks, organize projects, and collaborate in one place...",
  "sellerUrl": "https://www.notion.so",
  "appStoreUrl": "https://apps.apple.com/us/app/notion-notes-tasks-ai/id1232780281?uo=4",
  "artworkUrl": "https://is1-ssl.mzstatic.com/image/thumb/Purple221/v4/36/c1/9a/...512x512bb.jpg",
  "screenshotUrls": ["https://is1-ssl.mzstatic.com/image/thumb/PurpleSource221/v4/94/dd/d8/...", "..."],
  "ipadScreenshotUrls": ["https://is1-ssl.mzstatic.com/image/thumb/PurpleSource211/v4/33/b0/de/...", "..."],
  "minimumOsVersion": "18.0",
  "contentAdvisoryRating": "4+",
  "fileSizeBytes": 617444352,
  "languageCodes": ["AR", "DA", "NL", "EN", "FI", "FR", "DE", "..."],
  "supportedDevices": ["iPhone5s-iPhone5s", "iPadAir-iPadAir", "..."]
}
FieldWhat it is
trackId, bundleIdApple's numeric id and the developer's bundle id. Either works as input next time.
averageUserRating, userRatingCountAll versions. The two CurrentVersion fields are the same figures for the release that is live now, which is how you spot a rating that fell after an update.
price, formattedPrice, currency, isFreeThe number, the way the store prints it, and a flag. Storefront-dependent.
version, releaseNotes, currentVersionReleaseDateWhat shipped last and when. Good for tracking release cadence.
fileSizeBytes, minimumOsVersion, supportedDevices, languageCodesThe technical side, as Apple publishes it.
artworkUrl, screenshotUrls, ipadScreenshotUrlsDirect image URLs, iPhone and iPad kept apart.
reviews, reviewsCountOnly with includeReviews on, in ID mode. Each review has reviewId, author, rating, title, body, version, voteSum, voteCount and updated.
Null fieldsApple leaves plenty out per app. releaseNotes, sellerUrl and the rating fields are all commonly null on smaller apps.

🧾 Reading the output

App rows carry ok: true. Notes carry ok: false and an errorCode, and they are never charged.

RowHow to spot itCharged
An appok is true and trackId is setyes
A diagnosticok is false, and errorCode says what happenedno
CodeWhat it means
BAD_INPUTNo search term and no app ids. There is no demo row, so nothing is fetched. Also one per link that is not an app page or comes from another storefront, with the link on the row.
NO_RESULTSApple returned nothing. A storefront code it does not recognise lands here too.
NOT_FOUNDThat id is not in this storefront. Try another country.
BLOCKEDApple refused the request. Usually short-lived, so re-run it.

The default table view shows app columns, so the review fields do not appear in it. Export the dataset, or open a row, to read them.

▶️ How to run it

1. Open App Store Scraper and click Try for free. 2. Either put a keyword into Search term, or put ids into App IDs or links into App Store links. Not both. 3. For reviews, use ids, tick Include reviews and set Max reviews per app. 4. Set Country / storefront if you want something other than us. 5. Click Start, then download the dataset as JSON, CSV or Excel, or read it from the API.

💰 How much does it cost?

$0.09 per 1,000 apps, which is $0.00009 each. Flat on every Apify plan, no volume tiers.

You pay per app row. The reviews attached to a row are part of it, so pulling 500 reviews for an app costs the same as pulling none. Diagnostics are not charged.

Two hundred apps, which is the most a single search returns, is under two cents.

💡 What people use it for

  • Watching a competitor's rating, version and release notes week to week, keyed on trackId.
  • Pulling the most recent reviews for your own app into a spreadsheet or Notion, with the version

each reviewer was on.

  • Sizing a category: search the keyword, sort the rows by userRatingCount, see who owns it.
  • Checking the same app across storefronts, one run per country, to compare price and reception.
  • Collecting screenshots and artwork for a competitive teardown.

🚧 What it does not do

  • Reviews only in ID mode. A keyword search ignores the reviews setting.
  • About 500 reviews per app. Apple's feed stops after ten pages, and no setting lifts it.
  • 200 apps per search. Narrow the keyword and run it again for more.
  • One storefront per run. Comparing countries means one run each.
  • No ranking or chart position. Apple does not publish it here.
  • No download or revenue figures. Nobody outside Apple has those.
  • A zero review count is ambiguous. It means the run got no reviews back, which is usually

because the app has none, but a feed that did not answer looks the same on the row.

  • Fields are missing where Apple leaves them out, which is often on smaller apps.
  • No Google Play. The triage monitor linked below covers both stores.

🧭 Which app or review scraper do you need?

If you wantUse
App Store metadata, or an app's reviews by idThis one
New reviews from both stores, triaged and alerted onApp Review Triage
Business reviews from TrustpilotTrustpilot Scraper
Book metadata instead of appsBooks Scraper

❓ Questions people ask

Do I need an Apple developer account or a key? No. These are Apple's public endpoints.

Why did includeReviews do nothing? It was a search run. Reviews need app ids or links.

Can I use a bundle id? Yes, in the same field as numeric ids. The row comes back with both.

How do I get reviews from another country? Set country and run it again. Reviews are per storefront.

Can I schedule it? Yes. A daily run on a handful of ids, deduped on reviewId, gives you a review stream without the app store.

Is scraping the App Store legal? This reads Apple's public endpoints. Reviews carry author names, which are personal data under GDPR and similar laws, so have a reason for holding them. Apify's write-up on the legality of web scraping is a good starting point, and we are not lawyers.

🆘 If something breaks

Open the Issues tab on the actor page. Send the search term or the app ids, the storefront, and the run ID. If a diagnostic row landed, its errorCode usually names the reason already.