DEV Community

Cover image for Export App Store and Google Play reviews into one spreadsheet
CleanScrape
CleanScrape

Posted on AI-assisted

Export App Store and Google Play reviews into one spreadsheet

I'm building CleanScrape, a small collection of data tools on Apify. One of them collects App Store and Google Play reviews into the same dataset. I want the export to be useful without making people rename columns or work out which store each row came from.

For this first walkthrough, I'll use Spotify and keep the request small: up to 20 reviews from each store, then a spreadsheet you can filter yourself. This uses my paid App Store and Google Play Reviews Scraper. You do not need to write code to follow it.

Start with a small export

You need an Apify account, an Android package name and a numeric Apple app ID. For this example, use Spotify:

Store App identifier
Google Play com.spotify.music
App Store 324684580

Open the Actor and use these inputs. You can enter them in the form or switch to JSON:

{
  "store": "both",
  "googlePlayAppId": "com.spotify.music",
  "appStoreId": "324684580",
  "country": "us",
  "language": "en",
  "maxReviews": 20,
  "sort": "newest"
}
Enter fullscreen mode Exit fullscreen mode

The limit is per store. This request can return up to 40 reviews, not 20 in total. It may return fewer if the source does not provide enough reviews.

Check the Pricing tab and set a run spending limit before starting. After the run finishes, open Output to see the rows. Also open RUN_REPORT in the run's key-value store: it reports the outcome for each store separately. A successful run can still contain partial results from one source.

Download and use the spreadsheet

Export the dataset as CSV or Excel. Both stores use the same field names, including source, appId, reviewId, rating, text, date and appVersion.

I'd start by filtering rating to 1 or 2 and reading those reviews. Keep the source column visible so you know which store each row came from. Then filter by appVersion if you want to inspect feedback associated with a release.

That is a reading filter, not sentiment analysis. The rating helps you choose where to look; the review text tells you what someone is actually unhappy about.

Some fields will be empty. Apple review titles are available where supplied; Google Play titles are null. Developer replies are included for Google Play when available, not for Apple. Missing app versions remain null rather than being filled with the current release. I would rather leave an unknown value visible than make the spreadsheet look more complete than the source.

What the first run costs

At the base rate, 40 delivered reviews cost $0.008 in result charges. Startup adds $0.01 per allocated GB, with a minimum of one startup event. With the current 4 GB default, that makes $0.048 for a run returning 40 reviews.

Startup charges also apply if no reviews come back. Eligible Apify subscription tiers receive discounts. These figures describe the pricing on 15 September 2026; check the Actor's Pricing tab before running it.

A few limits I want to be clear about

Apple coverage is recent, not exhaustive. This tool uses Apple's public review feed, which is limited to ten recent pages per app and storefront, commonly around 500 reviews. Increasing the requested limit cannot turn it into a complete historical archive.

Dates have source-specific meanings. The Apple date is the review-level update time exposed by the feed, not a guaranteed original publication date. Google Play uses its review timestamp.

A requested country is not the reviewer's verified location. Keep that distinction if you compare markets. A bounded recent sample is also not enough to estimate an app's overall customer satisfaction.

If you run it again next week

The Actor does not maintain review history across runs. For a recurring import, use (source, appId, country, reviewId) as a starting key when a review ID exists. Update edited reviews instead of blindly appending another copy, and handle missing IDs separately.

You can start with the JSON above or choose a preset under Tasks on the Actor page. No store login or personal cookies are required. CleanScrape is independent of Apple, Google and Spotify.

I'm interested in how people use these exports beyond the first download. Are you checking feedback after a release, comparing apps, or feeding reviews into another tool? That context is useful when deciding what to improve next.

For a bug, please open an Actor issue with the run ID and a non-sensitive input example. Keep API tokens and credentials out of comments.

Top comments (0)