Groups App Store and Google Play reviews by app version and shows how each release changed the rating, with significance flags and the complaints that are new in that version.
Store the app and its reviews come from: app-store or google-play.
Type:string
Example:
app-store
App ID
appId
Optional
App Store numeric ID or Google Play package name as given in the input.
Type:string
Example:
1064216828
App name
appName
Optional
Name of the app on the store page. Empty only on the status row of an app that was not found, or whose store lookup did not answer.
Type:string | null
Example:
Reddit
Version
version
Optional
App version string exactly as reported with the reviews.
Type:string | null
Example:
2026.38.0
Version rank
versionRank
Optional
Position among the versions kept for this app, 1 = newest version.
Type:integer | null
Example:
2
Reviews
reviewCount
Optional
Number of reviews written on this version within the reviews that were read.
Type:integer | null
Example:
108
Average rating
avgRating
Optional
Mean star rating of the reviews on this version, rounded to two decimals.
Type:number | null
Example:
1.93
1-star reviews
stars1Count
Optional
Number of 1-star reviews on this version.
Type:integer | null
Example:
70
2-star reviews
stars2Count
Optional
Number of 2-star reviews on this version.
Type:integer | null
Example:
9
3-star reviews
stars3Count
Optional
Number of 3-star reviews on this version.
Type:integer | null
Example:
6
4-star reviews
stars4Count
Optional
Number of 4-star reviews on this version.
Type:integer | null
Example:
4
5-star reviews
stars5Count
Optional
Number of 5-star reviews on this version.
Type:integer | null
Example:
19
1-2 star reviews
lowStarCount
Optional
Number of reviews with one or two stars on this version.
Type:integer | null
Example:
79
1-2 star share
lowStarShare
Optional
Share of reviews on this version that have one or two stars, from 0 to 1.
Type:number | null
Example:
0.731
First review at
firstReviewAt
Optional
ISO 8601 time of the oldest review on this version within the reviews that were read.
Type:string | null
Example:
2026-09-22T14:03:11.000Z
Last review at
lastReviewAt
Optional
ISO 8601 time of the newest review on this version within the reviews that were read.
Type:string | null
Example:
2026-09-26T21:40:02.000Z
Previous version
previousVersion
Optional
Nearest older version of the same app that passes the minimum reviews limit. Empty for the oldest version.
Type:string | null
Example:
2026.37.0
Previous average rating
previousAvgRating
Optional
Mean star rating of the previous version.
Type:number | null
Example:
1.9
Rating change
ratingDelta
Optional
Average rating of this version minus that of the previous version, in stars. Empty for the oldest version.
Type:number | null
Example:
0.03
Rating change margin
ratingDeltaMargin
Optional
Half-width of the 95 % confidence interval of the rating change, in stars (plus or minus). A change smaller than this margin cannot be told from chance. Empty for the oldest version.
Type:number | null
Example:
0.27
Previous 1-2 star share
previousLowStarShare
Optional
Share of 1-2 star reviews on the previous version, from 0 to 1.
Type:number | null
Example:
0.712
1-2 star share change
lowStarShareDelta
Optional
Share of 1-2 star reviews on this version minus that of the previous version.
Type:number | null
Example:
0.019
Change is significant
deltaSignificant
Optional
True when the rating change is statistically significant at 95 % confidence (Welch t test on the star ratings), false when it is not. Empty for the oldest version.
Type:boolean | null
Example:
false
Trend
trend
Optional
regressed or improved when the rating changed by at least 0.15 stars and the change is significant. stable when the change is under 0.15 stars and the 95 % margin is at most 0.3 stars. inconclusive when the sample is too small to tell (a visible change that is not significant, or a margin wider than 0.3 stars): read ratingDelta together with ratingDeltaMargin. baseline for the oldest version that has no predecessor.
Type:string | null
Example:
inconclusive
Options:
regressedimprovedstableinconclusivebaselinenull
New complaint terms
newComplaintTerms
Optional
Words and two-word phrases that are significantly more frequent in the 1-2 star reviews of this version than in the 1-2 star reviews of all older versions (one-sided two-proportion test, z of at least 3, at least 3 % of the version's low-star reviews, at least twice the older frequency, at least 4 reviews). Empty array: the comparison was made and no term stands out. Null: no comparison is possible (oldest version, or fewer than 12 low-star reviews in the version or in the older versions together), which is the usual case with 500 reviews per app; it fills mainly on Google Play reads of 5000 reviews. See newComplaintTermStats for the numbers and lowStarTopTerms for the most frequent low-star terms of every version.
Type:string[] | null
Example:
login,crash on startup
New complaint term statistics
newComplaintTermStats
Optional
For each term in newComplaintTerms: lowStarReviews (1-2 star reviews of this version containing it), versionShare (their share of the version's 1-2 star reviews), olderShare (the same share in the older versions) and lift (versionShare divided by olderShare, the older share never taken below 1 % or below one review of the older pool). Null when newComplaintTerms is null.
Type:object[] | null
Example:
[object Object]
Top low-star terms
lowStarTopTerms
Optional
The five most frequent words and phrases in the 1-2 star reviews of this version, new or not, with the same numbers as newComplaintTermStats (olderShare and lift are null for the oldest version and whenever all older versions together hold fewer than 12 low-star reviews; lift is the version share divided by the older share, which is never taken below 1 % or below one review of the older pool). Where a lift exists, a value near 1 means the term is about as frequent as before and a high value that it is more frequent in this release. Null when the version has fewer than 8 low-star reviews; an empty array when it has 8 or more but no word or phrase occurs in at least 4 of them.
Type:object[] | null
Example:
[object Object]
Top low-star terms (text)
lowStarTopTermsText
Optional
The same five terms as lowStarTopTerms as one readable string, with the lift against older versions in brackets where one exists (for example "log (lift 11.1), working (lift 4.2), login"). Null when lowStarTopTerms is null or empty. This is the column of the Version impact view.
Type:string | null
Example:
account (lift 3.8), login, update
Sample low-star reviews
sampleLowStarReviews
Optional
Up to three 1-2 star review texts from this version, preferring those that contain the new complaint terms, then the most helpful, cut at 280 characters. No author names.
Type:string[] | null
Example:
App crashes on startup since the last update.
Countries
countries
Optional
Storefront countries whose reviews were merged into this row (App Store), or the Google Play country that was read. On a status row of an app that could not be read: the storefronts that were looked up.
Type:string[] | null
Example:
us
Source URL
sourceUrl
Optional
Store page of the app. Also on the status row of an app that could not be read, whenever the store lookup answered.
Type:string | null
Example:
https://apps.apple.com/us/app/id1064216828
Scraped at
scrapedAt
Optional
ISO 8601 timestamp of the run.
Type:string
Example:
2026-10-01T08:00:00.000Z
Found
found
Optional
False only on status rows, which explain why an app produced no version rows. Status rows are not billed.
Type:boolean
Example:
true
Note
note
Optional
Reason for a status row. On a version row it is empty, or it warns that part of the requested reviews was not served by the store or that only some of the reviews carry an app version (counted per storefront; a storefront below the threshold, 20 % for Google Play and 90 % for the App Store, is named as left out of the statistics).
Type:string | null
Example:
No app version has at least 10 reviews (read 120 reviews across 14 versions). Lower minReviewsPerVersion or raise maxReviewsPerApp.