API Documentation
Access Sentarys App Store intelligence programmatically. Track your apps, run keyword research, monitor AI Visibility across ChatGPT/Claude/Gemini/Perplexity, and pull Top Charts data - all via REST API with your API key.
Quick Start
https://api.sentarys.comAuth headerAuthorization: Bearer pf_...VersioningAll routes under /v1API key/settings/api (requires account)All endpoints require authentication via Authorization: Bearer pf_.... Your API key is scoped to your account - never share it publicly.
API Key Management
Auth Required/v1/api-keysCreate a new API key. The full key is returned only once - store it securely.
curl -X POST https://api.sentarys.com/v1/api-keys \
-H "Authorization: Bearer pf_..." \
-H "Content-Type: application/json" \
-d '{"name": "My Production Key"}'{
"id": "clx...",
"name": "My Production Key",
"key": "pf_...",
"keyPrefix": "pf_abc",
"createdAt": "2026-05-16T00:00:00Z"
}/v1/api-keysList all your API keys. Only key prefixes are returned - not the full secrets.
curl https://api.sentarys.com/v1/api-keys \
-H "Authorization: Bearer pf_..."/v1/api-keys/:idRevoke an API key immediately. Any integration using that key will stop working.
curl -X DELETE https://api.sentarys.com/v1/api-keys/clx... \
-H "Authorization: Bearer pf_..."Apps
Auth Required/v1/appsList all apps you are tracking (your own and competitors).
curl https://api.sentarys.com/v1/apps \
-H "Authorization: Bearer pf_..."[
{
"id": "clx...",
"name": "My Indie App",
"trackId": 123456789,
"isOwned": true,
"storefront": "US",
"createdAt": "2026-05-16T00:00:00Z"
}
]/v1/apps/:idGet a single tracked app by its internal ID.
curl https://api.sentarys.com/v1/apps/clx... \
-H "Authorization: Bearer pf_..."/v1/appsAdd an app to track. Pass an App Store URL, app name, or numeric Track ID.
curl -X POST https://api.sentarys.com/v1/apps \
-H "Authorization: Bearer pf_..." \
-H "Content-Type: application/json" \
-d '{"input": "https://apps.apple.com/us/app/my-app/id123456789"}'ASO Keyword Research
Auth Required/v1/aso/keyword-searchResearch an ASO keyword - returns iTunes Hints autocomplete suggestions plus the top apps ranking for the seed term. Pass q (required) and optionally storefront (default US).
curl "https://api.sentarys.com/v1/aso/keyword-search?q=budget+tracker&storefront=US" \
-H "Authorization: Bearer pf_..."{
"seed": "budget tracker",
"suggestions": ["budget tracker", "budget planner", "expense tracker"],
"topApps": [
{ "trackId": 1234, "name": "YNAB", "rank": 1 }
]
}/v1/apps/:id/keywordsList all keywords you are tracking for a specific app, including current iTunes rank and Google Ads metrics if enriched.
curl https://api.sentarys.com/v1/apps/clx.../keywords \
-H "Authorization: Bearer pf_..."/v1/apps/:id/keywordsStart tracking a keyword for an app.
curl -X POST https://api.sentarys.com/v1/apps/clx.../keywords \
-H "Authorization: Bearer pf_..." \
-H "Content-Type: application/json" \
-d '{"keyword": "budget tracker"}'AI Visibility (GEO)
Auth Required/v1/apps/:id/geoAggregated AI Visibility state for an app - how often it appears across ChatGPT, Claude, Gemini, and Perplexity for relevant queries.
curl https://api.sentarys.com/v1/apps/clx.../geo \
-H "Authorization: Bearer pf_..."{
"mentions": 14,
"totalChecks": 40,
"coveragePercent": 35,
"lastCheckedAt": "2026-05-16T00:00:00Z",
"breakdown": {
"chatgpt": { "mentions": 5, "total": 10 },
"claude": { "mentions": 4, "total": 10 },
"gemini": { "mentions": 3, "total": 10 },
"perplexity": { "mentions": 2, "total": 10 }
}
}/v1/apps/:id/geo-checkQueue a fresh AI Visibility check for an app. Runs 4 prompts x 2 personas across all 4 LLMs. Returns immediately with a job ID - poll GET /v1/apps/:id/geo for results.
curl -X POST https://api.sentarys.com/v1/apps/clx.../geo-check \
-H "Authorization: Bearer pf_..."{ "status": "queued", "jobId": "job_abc123" }Top Charts
Auth Required/v1/top-chartsGet App Store top chart for a (chart, country, genre) combination. Cached 6 hours. Params: chart (top-free|top-paid|top-grossing), country (ISO 2-letter, default us), genre (Apple genre id), limit (10-200, default 100), fresh (bypass cache).
curl "https://api.sentarys.com/v1/top-charts?chart=top-free&country=us&limit=25" \
-H "Authorization: Bearer pf_..."{
"chart": "top-free",
"country": "us",
"capturedAt": "2026-05-16T00:00:00Z",
"entries": [
{ "rank": 1, "trackId": 123, "name": "App Name", "category": "Games" }
]
}/v1/top-charts/movementDiff the latest top chart snapshot vs the previous one - see new entrants, leavers, climbers, and droppers.
curl "https://api.sentarys.com/v1/top-charts/movement?chart=top-free&country=us" \
-H "Authorization: Bearer pf_..."/v1/top-charts/genresList the Apple genre catalog used for Top Charts filtering (genre IDs and names).
curl https://api.sentarys.com/v1/top-charts/genres \
-H "Authorization: Bearer pf_..."Keyword Trends
Auth Required/v1/trendsGoogle Trends interest over time for a keyword, cached 24h. Params: keyword (required), geo (ISO country, default US), timeframe (e.g. today 12-m), fresh (bypass cache).
curl "https://api.sentarys.com/v1/trends?keyword=budget+tracker&geo=US&timeframe=today+12-m" \
-H "Authorization: Bearer pf_..."{
"keyword": "budget tracker",
"geo": "US",
"timeframe": "today 12-m",
"timeline": [
{ "date": "2025-05", "value": 72 },
{ "date": "2025-06", "value": 68 }
]
}/v1/trends/relatedGoogle Trends related queries (top + rising) for a keyword. Useful for finding breakout search terms adjacent to your niche.
curl "https://api.sentarys.com/v1/trends/related?keyword=budget+tracker&geo=US" \
-H "Authorization: Bearer pf_..."Credits and Billing
Auth Required/v1/billing/statusCheck current credit balance, subscription plan, and billing period.
curl https://api.sentarys.com/v1/billing/status \
-H "Authorization: Bearer pf_..."{
"credits": 148,
"plan": "pro",
"renewsAt": "2026-06-01T00:00:00Z"
}Rate Limits
- 60 requests/min per API key
- 200 credits/month on Pro plan ($10/mo)
- 10 credits on signup (Free plan)
- Rate limit headers are returned on every response:
X-RateLimit-Remaining,X-RateLimit-Reset
Questions or issues with the API?
api@sentarys.com