Assess a defined game concept against comparable titles, activity, pricing, and player feedback. Keep observed metrics, third-party estimates, and commercial hypotheses separate.
Setup
Set CRAWLORA_API_KEY to your key from crawlora.net.
Run the bundled scripts/crawlora.sh from this skill directory or by absolute
path. It sends x-api-key to https://api.crawlora.net/api/v1; keep the key in
the environment. Read reference/endpoints.md for
selected Steam live tools and stored game, chart, player-count, news, and review data.
Build and compare a defensible cohort
- Define the concept's player experience, genre/tags, platform, business model,
release cohort, and region. Use
/datasets/steam-games/facetsto discover dataset labels, then/datasets/steam-games/searchwithtype=gameand the relevant filters.qsearches names/developers/publishers; usetagfor gameplay taxonomy. Live numeric community tag IDs come from/steam/tags/list. - Inspect candidate titles instead of treating all matches as competitors.
Separate base games, DLC, demos, free-to-play titles, and unreleased games.
Resolve
appid; dataset searches for history useapp_id, while live/steam/app,/steam/reviews,/steam/players, and/steam/newsuseappid. - Refresh shortlist metadata and prices with
/steam/appor/steam/items(up to 100 IDs). Keepccand currency consistent. Prices in cents require conversion to major units for display; compare regular versus discounted prices separately and retain observation dates. - Read
/datasets/steam-playercounts/search?app_id=...for observed daily concurrent-player samples. These are not daily unique users or automatically daily peaks. For/datasets/steam-charts/search, keepchartandcountryfixed:concurrent,most_played(weekly peak), ortop_sellers(country- specific sales ranking). Single-app history usesapp_idandsort=date_desc; ordinary latest requests echosnapshot_date, which may lag today. - Inspect release dates and
/steam/newsbefore describing activity changes. Updates, discounts, and events are possible explanations, not proven causes. Match game age and observation windows; an established live-service game's concurrent usage is not directly comparable to a short single-player release. - Use live
/steam/reviewsfor a bounded, comparable sample; preserve language, purchase/review filters, playtime, and recommendation IDs. Start withcursor=*; aggregatequery_summarytotals populate only on that first page. Stored/datasets/steam-reviews/searchemphasizes helpful reviews, not a random sample. Report theme counts as unique eligible reviewsn/N, with short cited examples.
scripts/crawlora.sh /datasets/steam-games/search \
type=game tag=Roguelike min_total_reviews=100 page_size=5
# Use a returned appid as app_id when requesting dataset player-count history.
Opportunity brief and limits
Return cohort selection rules, comparable-title table, matched activity series, prices, review themes, supported positioning gaps, conflicting evidence, and a next validation step for each opportunity hypothesis.
- Dataset owner ranges/midpoints come from SteamSpy estimates. They are not audited sales counts. Do not multiply an owner midpoint by today's price and call the result realized revenue; discounts, keys, refunds, and free access differ.
review_scoreis a 0–1 positive-review ratio; Metacritic uses a different scale. Missing chart entries mean unobserved/unranked within coverage, not zero players.- A daily concurrent count cannot establish retention or unique audience size. Do not sum overlapping weekly snapshots or infer revenue from chart positions.
- Dataset pages max at 100 and the result window is 10,000. Stop on repeated
cursors/pages or the sample bound. Back off on
429, retry transient5xxonce, stop on401/403, and check applicationcodebefore interpreting empty data.