Skip to content
The 300 biggest apps are free, plus 2 more app pages a day. No signup needed. What's included

AppTrendKit API

App Store market data from your own code: app search, estimated downloads and revenue, daily history, keyword ranks, reviews, top charts, trending apps and keywords. A JSON REST API, included with AppTrendKit Pro.
  • 10,000 credits a month with Pro
  • JSON over HTTPS
  • Bearer token authentication

Quick start

  1. Open Developer API in AppTrendKit and create a key. You need to be the workspace's owner or an admin, on Pro or an active trial.
  2. Copy the key straight away: it's shown once.
  3. Send it with each request:
curl "https://www.apptrendkit.com/api/v1/apps/search?q=meditation&platform=ios&limit=5" \
  -H "Authorization: Bearer $APPTRENDKIT_API_KEY"

The base URL is https://www.apptrendkit.com. Every endpoint is a GET request and returns JSON.

Authentication

Send your key in the Authorization header as Bearer <key>, or in an X-API-Key header. Keys start with as_live_.

A key belongs to a workspace, not a person, and every key of a workspace shares its credits and limits. Keep keys on your server: never put them in an app, a website or a public repository. If a key leaks, revoke it on the Developer API page and create a new one.

Who can use the API

  • Paid Pro: 10,000 credits a month. If you cancel, the API works until the end of the period you paid for.
  • Pro trial: 1,000 credits a month while the trial is set to continue into the paid plan. Cancelling the trial stops the API straight away.
  • Free accounts, failed payments and ended plans: no API access. Requests return 402.

Credits and limits

Each request costs credits; heavier endpoints cost more. Credits reset on the first of each month (UTC). Requests that fail on our side (5xx) don't cost credits, and refused requests (401, 402, 429) cost nothing.

LimitAmount
Credits per month, paid Pro10,000
Credits per month, Pro trial1,000
Requests per minute, per workspace60

Every response reports where you stand:

  • X-Credits-Cost, X-Credits-Remaining, X-Credits-Limit and X-Credits-Reset (a Unix timestamp) for the month.
  • X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset for the current minute.

Need more? Write to [email protected] with what you're building.

Errors

Errors return JSON with an error message and, where useful, a code:

{ "error": "Rate limit exceeded", "code": "rate_limited", "retryAfter": 12 }
StatusCodeMeaning
400—A parameter is missing or invalid. details says which.
401—No API key, or the key is invalid or revoked.
402pro_requiredThe workspace isn't on a paid Pro plan or an active trial (for example, the trial was cancelled or a payment failed).
403not_availableThe endpoint isn't part of the public API.
404—AppTrendKit doesn't track that app, keyword or publisher.
429rate_limitedMore than 60 requests in a minute, or the API is busy. Wait for Retry-After seconds.
429monthly_credits_exhaustedThe workspace has used its credits for the month. resetAt says when they come back.
503—A temporary problem on our side. Retry with a short backoff; these requests don't cost credits.

Endpoints

All paths are relative to https://www.apptrendkit.com.

Search apps

1 credit

GET /api/v1/apps/search

Find apps by name or publisher and filter them by category, country, estimates and rating.

q
text, up to 120 charactersName or publisher to search for. Leave out to list apps by the sort order.
platform
ios, android, all (default all)The store.
category
category slug or all (default)For example games or health-fitness; see /api/v1/categories.
country
two-letter code or all (default)Storefront, e.g. US or DE.
sort
downloads (default), revenue, growth, downloadGrowth, revenueGrowth, ratingSort order.
direction
desc (default) or asc
minDownloads, maxDownloads
numberEstimated downloads in the last 30 days.
minRevenue, maxRevenue
number (USD)Estimated gross revenue in the last 30 days.
minRating
0 to 5Lowest average rating.
releasedAfter
YYYY-MM-DDOnly apps released after this date.
limit
1 to 50 (default 20)Apps per page.
cursor
textnextCursor from the previous page.
curl "https://www.apptrendkit.com/api/v1/apps/search?q=meditation&platform=ios&limit=5" \
  -H "Authorization: Bearer $APPTRENDKIT_API_KEY"

Returns: items (apps with id, externalId, name, publisher, category, rating, ratingCount, price, rank, growth30d, estimatedDownloads30d and estimatedRevenue30d), total, limit and nextCursor (null on the last page).

App details

1 credit

GET /api/v1/apps/{platform}/{externalId}

Everything AppTrendKit records for one app: listing, chart ranks, estimates, countries, monetization and similar apps.

platform
ios or androidThe store. Coverage is iPhone-first: Google Play has very few tracked apps.
externalId
idThe App Store id (the number in the app's App Store URL, e.g. 570060128) or the Google Play package name.
curl "https://www.apptrendkit.com/api/v1/apps/ios/570060128" \
  -H "Authorization: Bearer $APPTRENDKIT_API_KEY"

Returns: The app record. 404 if AppTrendKit doesn't track the app.

App metrics

1 credit

GET /api/v1/apps/{platform}/{externalId}/metrics

Estimated downloads and revenue for the last 30 days and today, with a low–high range, plus rating counts and the daily series behind them.

platform
ios or androidThe store. Coverage is iPhone-first: Google Play has very few tracked apps.
externalId
idThe App Store id (the number in the app's App Store URL, e.g. 570060128) or the Google Play package name.
country
two-letter code (optional)Limit the figures to one storefront; worldwide when left out.
curl "https://www.apptrendkit.com/api/v1/apps/ios/570060128/metrics?country=US" \
  -H "Authorization: Bearer $APPTRENDKIT_API_KEY"

Returns: app, metrics (estimatedDownloads30d, estimatedRevenue30d, downloadsToday, revenueToday, rating, ratingCount, reviewCount), economics, daily and rollups.

App history

3 credits

GET /api/v1/apps/{platform}/{externalId}/history

Daily estimates and App Store chart ranks over the last 30 or 90 days.

platform
ios or androidThe store. Coverage is iPhone-first: Google Play has very few tracked apps.
externalId
idThe App Store id (the number in the app's App Store URL, e.g. 570060128) or the Google Play package name.
days
30 or 90 (default 90)Length of the window.
curl "https://www.apptrendkit.com/api/v1/apps/ios/570060128/history?days=30" \
  -H "Authorization: Bearer $APPTRENDKIT_API_KEY"

Returns: app, days, metrics (daily rows), ranks, coverage and observedAt.

App keyword ranks

3 credits

GET /api/v1/apps/{platform}/{externalId}/keyword-ranks

The App Store searches an app ranks for, with its position and recent history. Positions come from Apple's own search results; a search with no observation is left out rather than reported as unranked.

platform
ios or androidThe store. Coverage is iPhone-first: Google Play has very few tracked apps.
externalId
idThe App Store id (the number in the app's App Store URL, e.g. 570060128) or the Google Play package name.
country
two-letter code (optional)Storefront.
curl "https://www.apptrendkit.com/api/v1/apps/ios/570060128/keyword-ranks?country=US" \
  -H "Authorization: Bearer $APPTRENDKIT_API_KEY"

Returns: app, country, historyWindowDays and the ranked keywords.

App reviews

3 credits

GET /api/v1/apps/{platform}/{externalId}/reviews

Recent App Store reviews AppTrendKit collected for an app, newest first, with a summary of that sample.

platform
ios or androidThe store. Coverage is iPhone-first: Google Play has very few tracked apps.
externalId
idThe App Store id (the number in the app's App Store URL, e.g. 570060128) or the Google Play package name.
country
two-letter code (optional)Storefront; all collected storefronts when left out.
limit
1 to 200 (default 50)Reviews to return.
curl "https://www.apptrendkit.com/api/v1/apps/ios/570060128/reviews?country=US&limit=20" \
  -H "Authorization: Bearer $APPTRENDKIT_API_KEY"

Returns: app, country, limit, the reviews and a sample summary. The summary covers the collected reviews only, not the app's lifetime rating.

Top charts

1 credit

GET /api/v1/charts

App Store chart rankings for a country and category, and AppTrendKit's own lists such as most downloaded and fastest growing.

chart
top-free, top-paid, top-grossing, most-downloaded (default), highest-revenue, fastest-growing, fastest-declining, new-apps, breakout-apps, top-subscription-apps, rising-free, rising-grossing, new-entriesWhich list.
country
two-letter code (default US), global or allStorefront.
category
category slug or all (default)See /api/v1/categories.
platform
ios, android, all (default all)The store.
period
7d, 30d (default), 90dWindow for AppTrendKit's own lists.
limit
1 to 100 (default 25)Store charts go 100 deep.
curl "https://www.apptrendkit.com/api/v1/charts?chart=top-grossing&country=US&category=games&limit=10" \
  -H "Authorization: Bearer $APPTRENDKIT_API_KEY"

Returns: items (apps with their position), chart, country, category, period and updatedAt.

Search keywords

1 credit

GET /api/v1/keywords

App Store search keywords with popularity, difficulty and opportunity scores (0–100).

q
text (optional)Keywords containing this text.
country
two-letter code (default US) or allStorefront.
minOpportunity
0 to 100
maxDifficulty
0 to 100
sort
opportunity (default), popularity, difficulty, trend, searches
direction
desc (default) or asc
limit
1 to 50 (default 25)
cursor
textnextCursor from the previous page.
curl "https://www.apptrendkit.com/api/v1/keywords?q=habit&country=US&limit=10" \
  -H "Authorization: Bearer $APPTRENDKIT_API_KEY"

Returns: items (keywords with their scores), total, limit and nextCursor.

Keyword details

1 credit

GET /api/v1/keywords/{slug}

One keyword: its scores, trend and the apps ranking for it.

slug
keyword with hyphensFor example habit-tracker for "habit tracker".
curl "https://www.apptrendkit.com/api/v1/keywords/habit-tracker" \
  -H "Authorization: Bearer $APPTRENDKIT_API_KEY"

Returns: The keyword record. 404 if AppTrendKit doesn't record the keyword.

Keyword gap

5 credits

GET /api/v1/keywords/gap

Compare the App Store keywords of 2 to 10 iPhone apps: where each ranks, and which keywords one app is missing.

appIds
2 to 10 App Store ids, comma-separatedThe first is your app.
country
two-letter code (default US)Storefront.
curl "https://www.apptrendkit.com/api/v1/keywords/gap?appIds=493145008,571800810&country=US" \
  -H "Authorization: Bearer $APPTRENDKIT_API_KEY"

Returns: The apps and the keywords, classified as gap, behind, ahead or only one app.

Publishers

1 credit

GET /api/v1/publishers and /api/v1/publishers/{slug}

Search app publishers, or get one publisher with its apps and totals.

q
text (optional)Publisher name.
sort
revenue (default), downloads, growth, apps
direction
desc (default) or asc
limit
1 to 50 (default 25)
cursor
textnextCursor from the previous page.
slug
publisher slugFor /api/v1/publishers/{slug}, as in the publisher's AppTrendKit URL.
curl "https://www.apptrendkit.com/api/v1/publishers?q=duolingo" \
  -H "Authorization: Bearer $APPTRENDKIT_API_KEY"

Returns: items, total, limit and nextCursor, or one publisher record.

Markets

1 credit

GET /api/v1/markets and /api/v1/markets/{slug}

App Store categories ranked by opportunity, demand, growth and competition, or one category in detail.

country
two-letter code or all (default)Storefront.
sort
opportunity (default), growth, revenue, downloads, new-apps
minOpportunity, maxCompetition
0 to 100
limit
1 to 50 (default 24)
slug
category slugFor /api/v1/markets/{slug}.
curl "https://www.apptrendkit.com/api/v1/markets?country=US&limit=10" \
  -H "Authorization: Bearer $APPTRENDKIT_API_KEY"

Returns: items, total and country, or one market record.

Categories and countries

1 credit

GET /api/v1/categories and /api/v1/countries

The category slugs and storefront codes the other endpoints accept, with totals for each.

curl "https://www.apptrendkit.com/api/v1/categories" \
  -H "Authorization: Bearer $APPTRENDKIT_API_KEY"

Returns: items and total. /api/v1/categories/{slug} and /api/v1/countries/{code} return one entry.

About the data

  • Downloads and revenue are AppTrendKit estimates from public App Store signals such as chart ranks, ratings and prices, not figures from the developers. Each estimate comes with low and high bounds and a confidence. Revenue is gross consumer spend in US dollars, before Apple's commission.
  • Chart ranks, keyword positions and reviews are observed from Apple's own charts, search results and review feeds.
  • Coverage is iPhone-first. Google Play has very few tracked apps.
  • Data updates daily. Lists page with cursor: pass the nextCursor of one response to get the next page.
  • Using the data is covered by AppTrendKit's terms.