App Revenue & Downloads Estimator: App Store & Google Play avatar

App Revenue & Downloads Estimator: App Store & Google Play

Pricing

$3.00 / 1,000 app estimates

Go to Apify Store
App Revenue & Downloads Estimator: App Store & Google Play

App Revenue & Downloads Estimator: App Store & Google Play

Estimate app downloads and revenue for App Store and Google Play apps: Google Play's exact install count, installs gained between runs, App Store chart ranks, ratings and in-app purchase prices, with low/mid/high bands and the method. Export to JSON, CSV or Excel, or via API.

Pricing

$3.00 / 1,000 app estimates

Rating

0.0

(0)

Developer

Steady Scrape

Steady Scrape

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

3 days ago

Last modified

Share

App Revenue & Downloads Estimator gives you monthly download and revenue estimates for any App Store or Google Play app, built from what the stores publish and nothing else: Google Play's exact lifetime install count (the page shows "50M+", the data behind it says 70,564,050), installs gained between your runs, App Store top chart positions, ratings, prices and in-app purchase prices. Every estimate comes as a low / mid / high band with the method and the numbers it rests on written out, so you can check it, recompute it or throw it away. Export to JSON, CSV or Excel, or via API.

This is an unofficial tool. It is not affiliated with, endorsed by or connected to Apple, Google or any app intelligence company. The estimates are estimates from public store signals, not Apple's or Google's data; only Google Play's install count is a store number.

What the app downloads and revenue estimator returns

One row per app and country:

  • Google Play exact installs: the lifetime count Google keeps behind the "10M+" bucket, worldwide, and its average a day since release.
  • Installs and ratings gained since your last run (turn on Track changes): measured, not modelled. Run it weekly and you get a real downloads-per-day series for any Google Play app.
  • App Store chart positions: the app's place in the top 200 free or paid iPhone chart of all apps (or all games) and of its category, in every country you ask, plus the chart badge on its page.
  • Google Play chart badge: "#6 top grossing in Health & Fitness", "#1 top paid in Arcade", when Google shows one.
  • Prices and in-app purchases: the App Store's top in-app purchases with their prices, Google Play's in-app price range, and a typical price.
  • Ratings: count, average and the 1–5 star histogram.
  • Estimated monthly downloads (low, mid, high, method, basis) and every other method that applied, in downloadEstimates.
  • Estimated monthly revenue (gross) and proceeds after the store's fee, in the store's currency for that country.

Use cases

  • App market research: size a category or a competitor before you build, from the top charts down.
  • Competitor tracking: schedule a weekly run with Track changes and watch a rival's Google Play installs a week.
  • UA and ASO teams: see where an app ranks in each country and what that rank means in downloads.
  • Investors and acquirers: a first, transparent read on an app's scale before buying data or asking for metrics.
  • App lists: estimate the top 200 free or paid apps of any App Store chart in one run.

How to estimate app downloads and revenue

  1. Add apps: App Store links or ids (https://apps.apple.com/us/app/calm/id571800810, 571800810) and Google Play links or package names (https://play.google.com/store/apps/details?id=com.calm.android, com.calm.android).
  2. Pick countries (two-letter codes, us by default).
  3. Optionally pick an App Store chart (for example All Games, Top free, 100 apps).
  4. Optionally turn on Track changes and schedule the run.

Input example

{
"apps": ["https://play.google.com/store/apps/details?id=com.calm.android", "https://apps.apple.com/us/app/calm/id571800810"],
"countries": ["us"],
"appStoreChart": "6014",
"chartType": "top-free",
"chartLimit": 100,
"trackChanges": false
}

Output example

A Google Play row (shortened):

{
"status": "ok",
"store": "googlePlay",
"appId": "com.calm.android",
"country": "us",
"name": "Calm - Sleep, Meditate, Relax",
"price": 0,
"currency": "USD",
"inAppPurchases": { "minPrice": 0.99, "maxPrice": 399.99, "typicalPrice": 19.9, "priceRange": "$0.99 - $399.99 per item", "items": [] },
"ratingCount": 616843,
"releasedAt": "2014-07-31T05:50:57.000Z",
"installs": { "exact": 70564050, "bucket": "50,000,000+", "minimum": 50000000, "averagePerDay": 15772.03 },
"chartPositions": [{ "chart": "top-grossing", "genre": "health & fitness", "genreId": null, "position": 6, "source": "googlePlayPage" }],
"changes": null,
"estimatedMonthlyDownloads": {
"low": 384049,
"mid": 960122,
"high": 1680214,
"method": "lifetimeInstalls",
"scope": "worldwide",
"basis": "Google Play's exact count of 70,564,050 installs over 4,474 days since release is 15,772 a day on average; recent months run at 0.8×–3.5× (mid 2×) the lifetime average, as measured on 10 large Google Play apps."
},
"estimatedMonthlyRevenue": { "low": 152851.5, "mid": 1337449.95, "high": 8359064.65, "currency": "USD", "method": "inAppPurchases", "basis": "…" },
"estimatedMonthlyProceeds": { "low": 106996.05, "mid": 936214.96, "high": 7105204.95, "currency": "USD", "basis": "…" },
"notes": ["Google Play counts installs worldwide: the revenue estimate prices every download at this country's price."]
}

An app that cannot be read is a free row: { "status": "notFound" | "notSoldInCountry" | "blocked", "store", "appId", "country", "message" } (notSoldInCountry also covers a Google Play page without an offer: pre-registration, or not released there yet). An entry that is not an app id, package name or store link is one free row { "status": "invalidApp", "input", "message" }, and the other apps still run.

Output fields

fieldwhat it is
statusok for an estimate; notFound, notSoldInCountry, blocked or invalidApp for a free row with a message
store, appId, url, country, countryNamewhich app, where
name, developer, icon, genre, genreIdthe listing
price, currency, freethe price in that country's store
containsAdsGoogle Play's "Contains ads" (null on the App Store, which does not say)
hasInAppPurchases, inAppPurchasesminPrice, maxPrice, typicalPrice, Google Play's priceRange text, the App Store's items (name, price, priceValue)
rating, ratingCount, ratingHistogramratings in that storefront (App Store) or worldwide (Google Play)
releasedAt, updatedAt, ageDaysrelease, last update, days since release
installsGoogle Play only: exact lifetime installs, bucket, minimum, averagePerDay
chartPositionschart (top-free, top-paid, top-grossing), genre, genreId, position, source
changeswith Track changes: previousRunAt, days, installsGained, installsPerDay, ratingsGained, ratingsPerDay
estimatedMonthlyDownloadslow, mid, high, method, scope (worldwide or country), basis
downloadEstimatesevery method that applied, best first
estimatedMonthlyRevenuegross store sales a month: low, mid, high, currency, method, basis
estimatedMonthlyProceedswhat the developer keeps after the store's fee
noteswhat is missing or assumed for this row

How the estimates are made

Downloads, best method first:

methodstorehow
installsDeltaGoogle PlayMeasured: exact installs gained since your previous run ÷ days. Google updates its count in steps, so windows under 7 days get a 0.5×–2× band.
lifetimeInstallsGoogle PlayExact installs ÷ days since release, times 0.8×–3.5× (mid 2×): the ratio of the last 13 months to the lifetime average, measured on 10 large apps from their exact counts a year apart (Clash of Clans 0.8×, Calm 1.06×, Duolingo 2.7×, Minecraft 3.5×). Apps under a year old: 0.5×–2×.
chartRankApp Store, USThe app's position in the US top free or top paid chart of all apps (or all games) on the rank–demand power law (Garg & Telang, MIS Quarterly 2013), anchored at ~156,000 downloads a day for #1 and ~52,000 for #10 of the free apps chart, half that for games (Sensor Tower, 2022), and ~4,000 for #10 paid (Distimo, 2013, scaled down 0.25–1×). An app only in its category chart is mapped onto the whole chart through the apps in both.
ratingsDeltaApp StoreRatings gained since your previous run, at 2–10 % (mid 5 %) ratings per download.
lifetimeRatingsApp StoreRatings in that storefront ÷ 2–10 % ratings per download, averaged over the app's life, times the recent-to-lifetime ratio above.

Revenue: each paid download pays its price, plus in-app revenue per download of 2–25 % (mid 7 %) of the typical in-app price, renewals and repeat purchases included (a subscription leader like Duolingo, with 2025 bookings guided past US$1B on ~16.5M Google Play installs a month, sits near the top). Proceeds keep 70–85 % of that after the store's fee. Ad revenue is not estimated.

Every number above is in each row's basis, so a row can always be read on its own.

Limits

  • These are estimates, built from public signals. The bands are wide on purpose; the method tells you how much to trust each one. Only Google Play's install count is a store number.
  • Google Play counts installs worldwide; a Google Play revenue estimate prices every download at the price of the country you asked.
  • Chart-rank estimates are made for the US only, where the published anchors are; elsewhere chart positions are listed and downloads come from ratings.
  • Apple shows only top free and top paid charts on the web, so there are no top grossing ranks for the App Store.
  • The App Store's charts go 200 deep; an app outside them gets its downloads from ratings.
  • Pacing is one request a second per store; 100 App Store apps take about two minutes.

Pricing

US$0.003 per app estimate (one app in one country). Apps not found, not sold in that country, not read because a store refused, and entries that are not apps are free rows.

The Actor reads public store pages any visitor sees, without logging in, at a polite pace, and only the paths the stores' robots.txt allows. It reads no personal data. Check that your use of the results complies with the stores' terms and the laws that apply to you.

FAQ

Why a band and not one number? Because no public signal gives one number. A band with its method is honest; a single figure from an unknown model is not.

How do I get measured downloads? Turn on Track changes and schedule the Actor (weekly works best). From the second run on, Google Play apps carry installsDelta: the installs Google itself counted between your runs.

Can I use my own assumptions? Yes: every row carries the raw signals (exact installs, ratings, chart positions, prices), so you can apply your own ratios in a spreadsheet.