Guide
App Store and Google Play competitor analysis
Store listings are a public scoreboard. A buyer sees the rating, the number of ratings, the screenshots, and the first lines of the description before they install. Competitor analysis here means reading those fields for you and for a few rivals, then deciding which gaps are worth a release or a listing change.
Collect the same fields on both stores
For each company, on the Apple App Store and on Google Play, record:
- Title, subtitle or short description, and the category. The words in the title are the keywords you are actually bidding for in store search.
- Average rating and the count behind it. A 4.8 from three thousand ratings is a different fact from a 4.8 from thirty.
- The star histogram when the store exposes it. Google Play does. A high average can still hide a large 1-star share, and that share is often the review-response backlog.
- Current version and the date it shipped, plus how far back the original release sits. A listing that has not moved in a long time is a cadence gap.
- Screenshot counts and, when the filenames carry dates, how old the creative is.
- A sample of recent reviews. Themes of praise and complaint are only as good as the reviews you actually pulled. Do not paraphrase a review you do not have.
Where the numbers come from
You can gather this without a private API:
- Apple’s iTunes Lookup API returns the public catalog record: title, rating, rating count, category, version, and release dates for a given storefront.
- Apple’s customer-review RSS returns a recent slice of written reviews. It is a sample, so label the count as a sample.
- The public App Store page lists version history that the lookup API does not always include.
- Google Play’s public listing exposes the score, rating count, histogram, install bucket, and recent text. Libraries such as google-play-scraper read that page. They do not create a rating the page did not show.
If a company has no listing, or the request fails, write unknown. Leaving the cell blank is more honest than copying a rival’s category or guessing an install range. Install labels on Play are buckets (“500,000+”), so compare the bucket text and the minimum the page reports, and say so.
How to read a rating gap
Subtract your rating from theirs only after both numbers exist. A few tenths of a star, on a count large enough that the average is stable, is the usual threshold for “they are ahead.” Then look at the histogram. If your 1-star share is much larger, the fix is often operational: answer those reviews, and fix the issue they repeat. If the averages are close and the counts are not, the story is distribution, not quality, and the listing work is different.
Keyword gaps live in the title and subtitle. Write both strings down next to each other. If a rival’s subtitle names the job the buyer is searching for and yours names the brand only, that is a listing edit, not a new product.
Review themes without invented quotes
Recent reviews cluster. Read the sample and group praise and complaints in your own words, each group tied back to the reviews that support it. A model can do that grouping when you pass it the review text and forbid it from adding quotes or counts that were not in the sample. If you cannot summarize reliably, skip the theme summary and keep the raw sample. An empty theme list is fine. A fabricated complaint is not.
What to do with the gaps
The fixes that usually fall out of a store comparison are concrete:
- Rewrite the subtitle around the keywords a rival already ranks for in the listing.
- Reply to the latest 1-star reviews, and track whether that share moves on the next collection.
- Ship a version if the current-version date is far behind the rival’s.
- Replace screenshots whose filenames show they are years old.
Put those next to the site, search, and content gaps from the broader competitor analysis. A store rating can be the loudest gap and still lose to a missing page type if that page type is how the rival gets found. Rank by impact and effort, and keep the store figures attached so the next person can check them.
See it on a saved pair of listings
The Bizzik sample report compares the public Duolingo and Babbel listings. Ratings, counts, histograms, release dates, and sitemap totals in that report are the values those sources returned, with the source linked from the cell. A figure that could not be collected stays unknown or unavailable, and a section stays not connected when its data provider was not configured for the snapshot. The median days between listed version dates is computed only when at least two dates were on the page.
Run the same comparison for your own apps, or start from the homepage to see how the full report is structured.