Full API documentation: www.appkittie.com/docs

Turn Cursor, Claude Code, or any Agent Skills–compatible assistant into a research partner for the App Store: discovery, ASO, competitors, growth, revenue, and ads—backed by live data from the AppKittie API ( 2M+ iOS apps, estimates, growth windows, and ad signals).
Today’s coding agents load Agent Skills from disk: each skill is a folder with a SKILL.md (and optional files), placed where your tool looks—commonly .cursor/skills/, .claude/skills/, .agents/skills/, or .codex/skills/. You either copy those folders, subscribe to a remote rule (Cursor), or use a CLI that fetches from GitHub (Claude Code).
Claude Code — official installer; downloads this repo and registers the skills:
bash
npx skills add appkittie/mcp
Install only specific skills:
bash
npx skills add appkittie/mcp --skill keyword-research competitor-analysis
If you already cloned the repo: cp -r mcp/skills/* .claude/skills/
Cursor — Settings (⌘⇧J) → Rules → Add Rule → Remote Rule (GitHub) → https://github.com/appkittie/mcp, or copy skills locally:
WhereCommandProjectcp -r mcp/skills/* .cursor/skills/User (all projects)cp -r mcp/skills/* ~/.cursor/skills/
Any other agent — clone and point skills/ at the path your client documents:
bash
git clone https://github.com/appkittie/mcp.git
cp -r mcp/skills/* .cursor/skills/ # or .claude/skills/, .agents/skills/, .codex/skills/
Skills describe how to reason about App Store work; MCP exposes live tools ( search_apps, keyword endpoints, etc.) against AppKittie. Create an API key at appkittie.com/settings/api-keys (it is only shown once when created).
Claude Code — register the hosted server (HTTP transport + bearer auth):
bash
claude mcp add appkittie --transport http https://mcp.appkittie.com --header "Authorization: Bearer YOUR_API_KEY"
Substitute your real key for YOUR_API_KEY.
Cursor and other MCP clients — use the same URL and Authorization: Bearer … header in your app’s MCP configuration. Example JSON: Wire up the MCP server below.
PieceRoleSkillsOpinionated playbooks under skills/—how to ask questions, structure answers, and chain workflowsMCP serverHosted proxy ( mcp.appkittie.com) so MCP clients can call AppKittie without wiring HTTP yourselfREST APIDirect GET/ POST to https://appkittie.com/api/v1 for scripts, backends, or custom tools
Skills compose: e.g. competitor-analysis may point you to keyword-research, then metadata-optimization for execution.
The worker on Cloudflare forwards requests to AppKittie. Claude Code users can register via claude mcp add above; everyone else (e.g. Cursor) typically pastes config like this:
json
{
"mcpServers": {
"appkittie": {
"url": "https://mcp.appkittie.com",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}
ToolPurposeCreditssearch_appsFilter iOS apps (30+ parameters)1 × rows returnedget_app_detailMetadata, revenue, ads, IAPs, creators, contacts, history1 / callget_keyword_difficultyOne keyword: popularity, difficulty, traffic, top apps10 / callbatch_keyword_difficultyUp to 10 keywords, ranked by opportunity10 × keywordget_supported_countriesValid storefront codesFree
PromptUse casediscover_nicheWalk through profitable niches inside a categorycompetitor_analysisStructured competitive intelkeyword_researchPrioritize and document a keyword setapp_growth_reportGainers, losers, trend readad_intelligenceCategory or niche ad landscape
SkillLinkSummaryApp discoveryapp-discoverySlice the catalog by category, money, traction, ratings, ads, and moreKeyword researchkeyword-researchPopularity, difficulty, traffic score, leaders—turn into a ranked planMetadatametadata-optimizationTitle, subtitle, keyword field, description with variants and limitsCompetitorscompetitor-analysisGaps, revenue contrast, ad teardown, positioning
SkillLinkSummaryGrowthgrowth-analysisFast movers, drivers, emerging patternsRevenuerevenue-analysisBenchmarks, monetization, IAP shape, pricingAdsad-intelligenceMeta + Apple Search Ads footprint, creatives, UA angles
SkillLinkSummaryMarketing contextapp-marketing-contextOne doc: app, audience, rivals, goals—feeds the other skills
Natural language (after skills are installed):
1234567890.”Slash-style entry points: /app-discovery, /keyword-research, /metadata-optimization, /competitor-analysis, /growth-analysis, /ad-intelligence, /revenue-analysis.
SKILL.md (templates, guardrails, output shape).search_apps with category + sortBy: revenue, or batch_keyword_difficulty for a seed list, then get_keyword_difficulty on shortlist items.Base: https://appkittie.com/api/v1
Auth: Authorization: Bearer <key> — same keys as the dashboard.
bash
curl -sS "https://appkittie.com/api/v1/apps?search=fitness&limit=5" \
-H "Authorization: Bearer YOUR_API_KEY"
RouteVerbRoleCredits/api/v1/appsGETSearch / filter apps1 per app in the payload/api/v1/apps/:appIdGETFull detail for one app1 per request/api/v1/keywords/difficultyGETSingle keyword10 per request/api/v1/keywords/difficultyPOSTBatch (≤10 keywords)10 per keyword with data
Success bodies use a top-level data. Lists add cursor pagination:
json
{
"data": [{ "title": "Calm", "score": 4.8, "downloads": 85000 }],
"pagination": { "nextCursor": 50, "totalCount": 12450 }
}
Request the next page with cursor=<nextCursor>. null means end of results.
GET /api/v1/apps filters (AND-combined)#GroupParametersTextsearch — title, developer, descriptionCategoriescategories, excludedCategories (comma-separated names)MetricsminDownloads / maxDownloads, minRevenue / maxRevenue, minRating / maxRating, minReviews / maxReviews, lifetime download/revenue min/maxPricepriceType ( all | free | paid), minPrice, maxPriceGrowthgrowthPeriod ( 7d… 90d), growthType ( all | positive | negative), minGrowth, maxGrowthSignalshasMetaAds, hasAppleAds, hasCreators, hasEmails, hasWebsiteContentcontentRating, languages, developerTimereleasedAfter, updatedAfter (Unix seconds)OrdersortBy ( growth, rating, reviews, updated, released, downloads, revenue, trending, newest), sortOrder ( asc | desc)
Full parameter matrix: tools/REGISTRY.md.
High-revenue fitness slice:
bash
curl -sS "https://appkittie.com/api/v1/apps?search=fitness&categories=Health+%26+Fitness&minRevenue=10000&sortBy=revenue&sortOrder=desc&limit=10" \
-H "Authorization: Bearer YOUR_API_KEY"
Batch keywords (US storefront):
bash
curl -sS -X POST "https://appkittie.com/api/v1/keywords/difficulty" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"keywords":["meditation","sleep tracker","mindfulness","breathing exercises","yoga"],"country":"US"}'
limit, the API trims the page.Every response can include X-Credits-Used and X-Credits-Remaining. Balance also appears on the API Keys page.
Per key, 60s sliding window. Useful headers:
HeaderMeaningX-RateLimit-LimitCeiling for the windowX-RateLimit-RemainingCalls leftX-RateLimit-ResetUnix time when the window rolls
429 includes reset timing—back off or wait.
JSON body includes error; validation issues add details per field.
HTTPSituation400Bad input — inspect details401Missing or invalid key402Out of credits404Unknown app429Rate limited500Server fault503Search backend unavailable
MIT