DEV Community

JackFruit296
JackFruit296

Posted on

How to check an app idea against real App Store data before you build it

AI made building an app cheap. It didn't make picking the right app cheap. A week spent on an idea the market already owns is still a week gone.

So before building, I now run every idea through real store data. This post walks through the method with Python, a real result, and the tool I built to do it in one step.

The idea I tested

A habit tracker for people with ADHD that uses tiny 2-minute habits and a pet that grows when you keep a streak. Free with a $4.99/month premium plan.

It sounds like a solid indie project. Let's see what the stores say.

Step 1: List the competitors and their numbers

Apple's iTunes Search API is free and needs no key. It returns ratings count, average rating, price and the last update date for each app:

import requests
from datetime import datetime, timezone

def competitors(term, country="us", limit=25):
    r = requests.get("https://itunes.apple.com/search", params={
        "term": term, "country": country, "entity": "software", "limit": limit,
    }, timeout=20)
    rows = []
    for a in r.json()["results"]:
        updated = datetime.fromisoformat(a["currentVersionReleaseDate"].replace("Z", "+00:00"))
        rows.append({
            "name": a["trackName"],
            "rating": round(a.get("averageUserRating", 0), 2),
            "ratings": a.get("userRatingCount", 0),
            "price": a.get("price", 0),
            "days_since_update": (datetime.now(timezone.utc) - updated).days,
        })
    return sorted(rows, key=lambda x: x["ratings"], reverse=True)

for row in competitors("adhd habit tracker")[:10]:
    print(row)
Enter fullscreen mode Exit fullscreen mode

Apple doesn't publish installs, so ratings count is the best public demand signal on iOS.

Step 2: Turn the numbers into three questions

I score every idea 0–10 on three things:

Score Question Signals from the data
Demand Do people want this? Ratings on the top apps, number of apps
Competition Is there room to enter? (high = easy) Strong apps, stale leaders, unhappy users, a free option
Revenue Will people pay? Share of paid apps or in-app purchases, price level

My rule of thumb: an average of 7.5 or more means build. Below 6 means skip or change the idea. Competition usually decides it: consumer apps rarely score above 5 there.

Two quick checks catch most bad ideas:

  1. Is there a giant? One app with hundreds of thousands of ratings and a 4.9 rating owns the category.
  2. Is the giant free? Then your $4.99/month plan competes with $0.

Step 3: Read the critical reviews

The numbers say whether to enter. The 1–3 star reviews of the top apps say how. Pull them from the public review feed (I covered the code in my previous post on finding what users hate in competitor apps) and look for complaints that repeat across apps.

The result: 5.0 / 10, Skip

Here's what the data said for the ADHD habit tracker idea (US App Store):

  • 15 competitors for the main keywords.
  • The top direct competitor, Finch: Self-Care Pet, has 768k ratings at 4.95★, and it's free. It's essentially the same idea.
  • Other big apps in the space: Me+ Lifestyle Routine (249k ratings), Structured (168k), Habit Tracker (148k).
  • All the top direct competitors are free.
  • Critical reviews keep coming back to the same complaint: pay-forever subscriptions feel extractive.

Scores: Demand 7, Competition 3, Revenue 5 → 5.0 / 10. Verdict: Skip, unless it's repositioned.

The useful part wasn't the "no". It was the angle the data pointed to:

  • Drop the pet (Finch owns it). Focus on time-blindness and decision fatigue.
  • Sell a one-time $9.99 unlock instead of a subscription, because that's exactly what reviewers ask for.
  • Watch the legal side: App Store guideline 2.3 (no "treats ADHD" claims in your metadata) and GDPR for habit data.

Doing it in one step

Doing this by hand for every idea took me an evening each time, so I built it as an Apify Actor: App Idea Validator.

You describe the idea in a sentence. It:

  1. picks search keywords and searches the App Store and Google Play
  2. lets AI mark the direct competitors (not just keyword matches)
  3. computes the market numbers with fixed rules (not by the AI)
  4. reads the critical reviews of the biggest competitors
  5. scores Demand / Competition / Revenue and gives a Build / Reposition / Skip verdict
  6. writes a one-page Lean Canvas and a legal & store-policy check

To keep the AI honest, the Competition score can't move more than 2 points away from a hint computed from the raw numbers. A category with a 768k-rating leader can't be called "easy".

From Python:

from apify_client import ApifyClient

client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("jaclfruit_296/app-idea-validator-actor").call(run_input={
    "idea": "A habit tracker for people with ADHD that uses tiny 2-minute habits "
            "and a pet that grows when you keep a streak.",
    "stores": ["app_store", "google_play"],
    "country": "us",
})

summary = client.key_value_store(run["defaultKeyValueStoreId"]).get_record("OUTPUT")["value"]
v = summary["verdict"]
print(v["verdict"], v["average"], {k: s["score"] for k, s in v["scores"].items()})
Enter fullscreen mode Exit fullscreen mode

The full report is saved as REPORT.html, and the competitor table can be exported as CSV or Excel. It costs under $0.50 per idea.

Takeaways

  • Check the stores before you write code. It takes minutes.
  • One free giant with a 4.9 rating is usually a "no", whatever your feature list says.
  • Read the 1-star reviews of the leader. Your positioning is hiding in there.
  • A "Skip" verdict is a good result. It just saved you a week.

What's an idea you'd like to see scored? Drop it in the comments and I'll run it and post the verdict.

Top comments (0)