Jak używać
- Skopiuj polecenie instalacji i sprawdź źródła przed instalacją we własnym środowisku agenta.
- W oryginale sprawdź wymagane narzędzia, dane dostępowe i obsługiwane środowiska.
- Opisz dane wejściowe i oczekiwany rezultat; porównaj wynik ze źródłami.
npx skills add https://github.com/crawlora-org/crawlora-skills --skill app-market-opportunity-researchPrzed rozpoczęciem
- Instalacja nie obejmuje subskrypcji modelu, limitu API ani uprawnień do plików.
- Gwiazdki i instalacje pokazują aktywność, a nie niezależny test jakości lub bezpieczeństwa.
Treść z repozytorium z zachowaniem nagłówków, przykładów, kodu, tabel, linków i obrazów.
App market opportunity research
Assess a defined app niche using competing products, observed distribution signals, release activity, and customer evidence. Separate an opportunity hypothesis from demonstrated demand, market size, or a revenue forecast.
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 dataset, store, review, and Trends calls.
Map the niche and test the signals
- Define the user problem, storefront/country, device, language, and comparison
period. Discover candidates with /datasets/apps/search and relevant live App Store/Google Play searches and similar-app results. Validate actual product capabilities; search rank and category membership alone do not prove rivalry.
- Resolve store identities: iOS numeric track ID versus bundle ID, and Android
package name. Verify publisher/official site before merging cross-store apps. Preserve country/device variants. The apps dataset uses repeatable platforms filters; chart history uses singular platform for iOS only. Missing platform classifications mean unknown coverage, not incompatibility.
- For
/datasets/apps-charts/search, hold store, country, chart type, category,
and device constant. chart_type is top_free, top_paid, top_grossing, or new; underlying store collection names differ. An ordinary request resolves the latest available snapshot_date, which may lag today. For app history, pass exact app_id with sort=date_desc and omit date.
- Compare ranks only within the same chart definition and dates. Deduplicate
chart × snapshot × app observations. Missing dates or absent chart entries mean unobserved/unranked within coverage, not rank zero or zero downloads. Do not infer download/revenue volumes from ordinal ranks or cross-store ranks.
- Refresh a bounded shortlist with
/appstore/appand/googleplay/app.
Dataset price_cents is in cents; do not compare it directly with live-store prices in major currency units. Compare currency, subscriptions/in-app purchases, rating counts, positioning, and updates. A free install is not free ongoing use. iOS has no install count here; Android install figures are not current monthly active users. Use /appstore/version-history/{id} for numeric iOS IDs; Google Play's latest update field alone is not a full release history.
- Read a comparable review sample from each product. App Store reviews use
country, sort=mostRecent, and pages; Google Play uses country, lang, sort=newest, num, and returned pagination tokens. Count unique eligible reviews by theme (n/N), keep dates/version/source, and link short excerpts. A complaint frequency in a selected sample is not population prevalence.
- Use Google Trends only when it adds evidence about the underlying problem.
Discover values through /google/trends/enums, /locations, and /categories under the same prefix. POST flat JSON to /google/trends/explore/interest-over-time with 1–5 keywords, geo, time_range, and type=web. Compare terms in one request; scores are relative, not app installs or absolute demand.
scripts/crawlora.sh /datasets/apps/search \
q="habit tracker" store=ios country=us page_size=5
scripts/crawlora.sh /datasets/apps-charts/search \
store=ios app_id=6448311069 country=us platform=phone \
chart_type=top_free sort=date_desc page_size=20Synthesize an opportunity brief
Return the user problem, competitor matrix, matched chart trajectories, release evidence, review themes, and gaps. For each opportunity hypothesis, show supporting and conflicting evidence plus a concrete next validation step. Keep data freshness, sampling bounds, unknowns, and assumptions visible.
- Do not turn a small indexed category count into a total market size, or a
review/rank spike into proof that a particular release caused growth.
- Store labels and category IDs differ; use returned values and included discovery
calls rather than transferring Apple's numeric IDs to Google Play.
- Keep Trends normalization and missing-data flags; separate independently scaled
requests. See Google's data FAQ.
- Dataset pages max at 100 with a 10,000-result window. Stop on repeated pages or
tokens. Back off on 429, retry transient 5xx once, stop on 401/403, and check application code. Report unavailable sources without inventing results.


