App Store / Play Store Reviews — Unified ASO Review Feed avatar

App Store / Play Store Reviews — Unified ASO Review Feed

Pricing

from $3.00 / 1,000 review results

Go to Apify Store
App Store / Play Store Reviews — Unified ASO Review Feed

App Store / Play Store Reviews — Unified ASO Review Feed

Fetch Apple App Store and Google Play reviews for a given app ID or name, normalized to one flat schema per review. No API keys needed.

Pricing

from $3.00 / 1,000 review results

Rating

0.0

(0)

Developer

Dennis

Dennis

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 hours ago

Last modified

Categories

Share

Fetch Apple App Store and Google Play reviews for a given app (by app name or store ID) and get them normalized into one flat schema per review. Ideal for ASO monitoring, sentiment comparison, and feeding review intelligence into AI agents.

When should an AI agent use this?

  • "Get Apple and Google reviews for Spotify in one dataset."
  • "Compare sentiment for my iOS and Android apps side-by-side."
  • "Pull recent reviews (rating + text) for Apple app ID 324684580."
  • "Monitor Play Store reviews by package ID com.spotify.music."
  • "Fetch French reviews for an app to check local feedback."
  • "Feed a review-watchdog or LLM trend analysis with fresh cross-store data."

What this Actor does

This actor combines both major app stores into a single, predictable JSON feed:

  • Apple App Store — uses Apple's official customer-reviews RSS endpoint (itunes.apple.com/rss/customerreviews/id=<id>). No tokens, no scraping on the details page, and the response stays small.
  • Google Play — reads the public, non-authenticated app details page and extracts the visible review cards. No login and no API key required.
  • Normalized output — both sources are flattened into the same record shape, so you never have to write merge logic yourself.
  • App-name resolution — if you know the app's name but not its store IDs, the actor resolves the Apple track ID and the Android package ID for you. Explicit store IDs always win when you provide them.
  • Resilience — Apple paginates until empty or maxReviews is reached; Play reads the visible review cards on the details page. maxReviews caps both. One failing source never aborts the other.

Input

FieldTypeDescription
appStoreIdstringApple numeric store ID (e.g. 324684580). Optional if appName is given.
playStoreAppIdstringGoogle Play package ID (e.g. com.spotify.music). Optional if appName is given.
appNamestringApp name used to resolve missing store IDs. Optional if the IDs are provided.
countrystringTwo-letter country code, default us.
languagestringTwo-letter language code, default en.
maxReviewsintegerMaximum reviews per source, default 50, max 500.
platformsarrayWhich sources to run. Default ["app-store", "play-store"]; allowed values app-store and play-store.

At least one of appStoreId, playStoreAppId, or appName must be provided.

Example inputs

{
"appName": "Spotify",
"maxReviews": 25
}
{
"appStoreId": "324684580",
"platforms": ["app-store"],
"maxReviews": 10
}
{
"playStoreAppId": "com.spotify.music",
"platforms": ["play-store"],
"maxReviews": 10
}

Output

A flat JSON object per review. Same fields for both platforms.

FieldDescription
idStable composite ID: platform:sourceId:reviewId.
platformapp-store or play-store.
appIdApple track ID or Android package ID.
appNameApp title as published in the respective store (where available).
authorReviewer pseudonym.
ratingStar rating as a number (1-5).
titleReview title (Apple only; empty for Play).
textReview body text.
versionApp version the review refers to (Apple only).
dateReview date when available (Apple ISO timestamp, Play text like April 10, 2026).
countryCountry used for the fetch.
sourceUrlDirect URL to the source review/store page.
reviewIdSource review identifier.
scrapedAtISO timestamp when the actor fetched the record.
{
"id": "app-store:324684580:14567140607",
"platform": "app-store",
"appId": "324684580",
"appName": "Spotify: Music and Podcasts",
"author": "You'reMakingThingsWorse",
"rating": 1,
"title": "$$$ For what we should get free",
"text": "If you like listening to one song then 5 ads...",
"version": "9.1.84",
"date": "2026-09-18T23:25:33-07:00",
"country": "us",
"sourceUrl": "https://itunes.apple.com/us/review?id=324684580",
"reviewId": "14567140607",
"scrapedAt": "2026-09-20T12:52:14Z"
}

Use cases

  • Unified ASO monitoring — track both stores from one scheduled run.
  • Cross-platform sentiment comparison — join rating and text on the same appName to compare iOS vs Android perception.
  • Review dataset for AI agents — a clean per-review feed that fits easily in an LLM context window.
  • Feedback triage pipelines — pass recent reviews (text, version, date, rating) into issue trackers or dashboards.
  • Localization checks — set country/language to pull storefront-specific feedback.

Limitations

  • Google Play's public page only renders a handful of review cards server-side; the actor returns those visible reviews (capped by maxReviews). Full Play pagination is not part of this MVP.
  • Apple's RSS feed exposes recent reviews only; historical or paginated archives are not available through this endpoint.
  • Play ratings are read from the aria-label of the star row; if the label format changes, the parser falls back safely to 0.

Pricing

Pay-Per-Event.

  • apify-actor-start: $0.00005 (default start event)
  • review-result: $0.003 per delivered review
  • Apple: the actor uses Apple's official customer-reviews RSS feed; no terms-of-service circumvention and no scraping of the details page.
  • Google Play: the actor reads the public, non-authenticated app details page (the same HTML a visitor loads). No login, no consent wall bypass.
  • Only pseudonymous reviewer names are collected. No email addresses, device identifiers, or other personal data are fetched or stored.

FAQ

Q: Can I use an app name instead of IDs?
A: Yes. appName resolves the Apple track ID via the iTunes Search API and the Android package ID via a Play Store search. IDs, when provided, are always used directly.

Q: What happens if one source has no reviews or is empty?
A: That source yields no records and the run continues with the other one. The exit status stays successful.

Q: Can I run only one store?
A: Yes, set platforms to ["app-store"] or ["play-store"].

Q: Are there any API keys?
A: No. Both sources are public endpoints.

This actor is the only portfolio actor that combines Apple and Google Play reviews in one normalized dataset. For other application-level data, see the portfolio overview in PORTFOLIO_STATUS.md.

Keywords

app store reviews, play store reviews, aso, sentiment, review monitoring, apple reviews, google play reviews, unified feed, app feedback, ASO review scraper, app ratings.

Changelog

0.1.0

  • Initial release: Apple App Store RSS + Google Play details page, app-name resolution, maxReviews, platforms, normalized output schema, pay-per-event pricing (review-result), dataset view, icon, tests.