App Store Reviews Scraper avatar

App Store Reviews Scraper

Pricing

Pay per usage

Go to Apify Store
App Store Reviews Scraper

App Store Reviews Scraper

Scrape detailed user reviews from iOS App Store. Extract ratings, author names, timestamps, and sentiment data at scale. Perfect for competitive analysis, market research, and app feedback monitoring. Fast, reliable, and fully customizable.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Shahid Irfan

Shahid Irfan

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Extract Apple App Store reviews at scale using an app list and storefront filters. Collect structured review data including ratings, titles, review text, author info, app version, and timestamps. Built for product research, sentiment analysis, and review monitoring workflows.

Features

  • Flexible app targeting — Use one apps string list with IDs or App Store URLs, including messy formats.
  • Country-aware collection — Pull reviews from one country, custom country lists, or worldwide.
  • Language fallback — Tries your language list first, then safe fallbacks per country.
  • Pagination control — Limit crawl depth with maxPages and cap output with resultsWanted.
  • Clean dataset output — Records are stored without null or empty fields.
  • Review + app context — Includes both review-level and app-level metadata.

Use Cases

Product Feedback Analysis

Track what users like or dislike to guide roadmap decisions and prioritize fixes.

Competitor Monitoring

Collect reviews for competitor apps to benchmark quality, positioning, and user sentiment.

Version Quality Tracking

Measure rating and review patterns across app versions to detect regressions quickly.

Market Research

Compare user feedback by country to understand regional demand and adoption signals.


Input Parameters

ParameterTypeRequiredDefaultDescription
appsStringNoComma-separated app identifiers or URLs.
countriesStringNoComma-separated country list like us,gb,in.
languagesStringNoComma-separated language list like en,es-MX,pt-BR.
sortByStringNomostrecentReview ordering (mostrecent or mosthelpful).
resultsWantedIntegerNo20Maximum reviews to collect.
maxPagesIntegerNo10Maximum pages to check.
proxyConfigurationObjectNo{ "useApifyProxy": false }Optional proxy settings.

Output Data

Each dataset item contains:

FieldTypeDescription
appIdStringApple app ID.
appNameStringApp name.
appUrlStringApp page URL.
countryStringStorefront country code used in collection.
pageIntegerSource page number.
sortByStringSorting mode used.
reviewIdStringUnique review identifier.
reviewTitleStringReview title.
reviewTextStringReview body text.
ratingIntegerStar rating value.
reviewVersionStringApp version reviewed by user.
voteCountIntegerNumber of votes on review.
voteSumIntegerVote score sum.
authorNameStringReviewer name.
authorProfileUrlStringReviewer profile URL.
reviewUrlStringReview page URL.
reviewUpdatedAtStringReview update timestamp.
appDeveloperStringApp developer/publisher name.
appGenreStringPrimary app genre.
appVersionStringCurrent app version.
appAverageRatingNumberOverall app average rating.
appRatingCountIntegerOverall app ratings count.
appCurrentVersionAverageRatingNumberCurrent version average rating.
appRatingCountCurrentVersionIntegerCurrent version ratings count.
scrapedAtStringUTC timestamp when row was stored.

Usage Examples

URL-Based Collection

{
"apps": "https://apps.apple.com/us/app/chatgpt/id6448311069#productRatings",
"resultsWanted": 50,
"maxPages": 5
}

Multi App Collection

{
"apps": "id6448311069, apps.apple.com/us/app/claude-by-anthropic/id6473753684",
"countries": "us",
"resultsWanted": 100,
"maxPages": 10
}

Worldwide Collection

{
"apps": "apps.apple.com/us/app/chatgpt/id6448311069#productRatings",
"countries": "worldwide",
"languages": "en",
"resultsWanted": 800,
"maxPages": 10
}

Sample Output

{
"appId": "6448311069",
"appName": "ChatGPT",
"appUrl": "https://apps.apple.com/us/app/chatgpt/id6448311069?uo=4",
"country": "us",
"page": 1,
"sortBy": "mostrecent",
"reviewId": "14002671847",
"reviewTitle": "Sucks, it’s too dumb",
"reviewText": "It gets nothing right and just says “Ahh! Good catch!” and still gives the wrong answer.",
"rating": 1,
"reviewVersion": "1.2026.104",
"voteCount": 0,
"voteSum": 0,
"authorName": "I love Jesus!124",
"authorProfileUrl": "https://itunes.apple.com/us/reviews/id1702566737",
"reviewUrl": "https://itunes.apple.com/us/review?id=6448311069&type=Purple%20Software",
"reviewUpdatedAt": "2026-04-27T07:55:16-07:00",
"appDeveloper": "OpenAI",
"appGenre": "Productivity",
"appVersion": "1.2026.104",
"appAverageRating": 4.9,
"appRatingCount": 2418591,
"appCurrentVersionAverageRating": 4.9,
"appRatingCountCurrentVersion": 2418591,
"scrapedAt": "2026-04-29T10:00:00.000Z"
}

Tips for Best Results

Start with Working App Identifiers

  • Prefer the apps list for deterministic and scalable runs.
  • Messy values like id6448311069 and apps.apple.com/.../id... are accepted.

Keep Runs Fast During Testing

  • Set resultsWanted to 20 or 30 for quick validation.
  • Increase gradually for larger production datasets.

Configure Country Intentionally

  • Use the storefront that matches your target audience.
  • Compare multiple countries in separate runs for better insights.
  • Use worldwide plus countries for large multi-country datasets.

Use Proxy on High Volume

  • Keep proxy enabled for stability on repeated or large-volume runs.

Integrations

Connect extracted data with:

  • Google Sheets — Review analysis and reporting dashboards.
  • Airtable — Centralized app feedback database.
  • Make — Automated review processing workflows.
  • Zapier — Trigger notifications and downstream actions.
  • Webhooks — Deliver fresh records to internal systems.

Export Formats

  • JSON — Application pipelines and APIs.
  • CSV — Spreadsheet analysis.
  • Excel — Business reporting.
  • XML — Legacy integrations.

Frequently Asked Questions

Can I scrape reviews from multiple countries?

Yes. Use the countries input to run across one or many storefronts.

Why might some runs return fewer reviews than requested?

Available review volume differs by app, country, and review ordering.

Can I control the amount of data collected?

Yes. Use resultsWanted and maxPages together.

Does the actor return empty or null fields?

No. Output records are cleaned before being stored.


Support

For issues or feature requests, use the actor issue tracker in Apify Console.

Resources


This actor is intended for lawful data collection and analysis. You are responsible for complying with Apple terms, local regulations, and your own data governance requirements.