App Store Scraper - Apple Apps and Reviews, No Key avatar

App Store Scraper - Apple Apps and Reviews, No Key

Pricing

from $0.09 / 1,000 app returneds

Go to Apify Store
App Store Scraper - Apple Apps and Reviews, No Key

App Store Scraper - Apple Apps and Reviews, No Key

Scrape Apple App Store apps and reviews. Get name, developer, rating, review count, price, genre, version and dates. Apple's public review feed stops at page 10. So you get 500 reviews per app at most. No API key needed. $0.09 per 1,000 apps.

Pricing

from $0.09 / 1,000 app returneds

Rating

0.0

(0)

Developer

Dami's Studio

Dami's Studio

Maintained by Community

Actor stats

0

Bookmarked

4

Total users

0

Monthly active users

14 hours ago

Last modified

Share

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.