DEV Community

Nikolas
Nikolas

Posted on

I scraped 5 App Store reviews in 2.7 seconds for less than a cent

Yesterday I wanted to see what people were actually saying about a competitor's app. Not a dashboard. Not a subscription. Just the recent reviews, as data.

Here's what I did and what it cost.

The problem

App Store review pages are endless-scroll JavaScript. Copying them by hand is miserable, and most review-monitoring tools bill monthly whether you use them or not.

What I ran

I pointed a pay-per-event scraper at one app (Spotify, US storefront) and asked for the 5 newest reviews. The input was a few lines of JSON:

{
  "apps": ["324684580"],
  "countries": ["us"],
  "maxReviewsPerApp": 5,
  "sortBy": "mostRecent"
}
Enter fullscreen mode Exit fullscreen mode

The result

The run finished in 2.7 seconds. Cost: a fraction of a cent (compute and storage, no subscription, no minimum).

Each review came back as a clean record with real fields:

{
  "rating": 5,
  "title": "ABSOLUTE CINEMA",
  "body": "Just perfection",
  "appVersion": "8.9.94",
  "reviewedAt": "2026-10-07",
  "helpfulVotes": 0,
  "sentimentHint": "positive"
}
Enter fullscreen mode Exit fullscreen mode

The bit that saved me

When I themed the reviews, I kept reviewedAt and appVersion next to every theme. A recurring complaint might describe a bug that was already fixed two releases ago, and without the version field you can't tell the difference. That one extra column changed two of my conclusions.

Why I keep using this shape

  • No API key, no login, no rate-limit dance.
  • Pay per event, so a 5-review run costs a rounding error instead of a $49/mo plan.
  • Output is a dataset I can export to JSON, CSV or Excel.

If you've ever signed up for a free trial just to export one week of reviews, you know the feeling this avoids.

Link: App Review Scraper on Apify Store — iOS reviews across 175 storefronts, pay per event.

Full disclosure: I build this actor. I ran it on my own account to write this post and paid the compute cost myself.

Top comments (0)