Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

App Store Trends API - app downloads & chart rankings as JSON

License: MIT API v1 MCP compatible Free tier

App store trend data as clean JSON: Android download estimates, chart ranking history and live iOS/Google Play top charts from one REST endpoint. No App Store Connect credentials, no scraping.

One endpoint. One API key. One normalized 0-100 trend score you can compare against 14 other platforms.

Docs: https://trendsapi.ai/#quickstart · llms.txt: https://trendsapi.ai/llms.txt · Free API key (100 req/mo): https://trendsapi.ai/#get-key


What a call looks like

curl -X POST https://api.trendsapi.ai/api \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"mode": "get_growth", "source": "app downloads", "keyword": "chatgpt", "percent_growth": ["3M", "12M"]}'
{
  "keyword": "chatgpt",
  "source": "app downloads",
  "growth": { "3M": 41.8, "12M": 212.4 },
  "timestamp": "2026-08-03T12:00:00Z"
}

Quickstart (60 seconds)

1. Get a free API key at https://trendsapi.ai/#get-key - 100 requests/month, no credit card.

2. Make your first call:

curl -X POST https://api.trendsapi.ai/api \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"mode": "get_time_series", "source": "app downloads", "keyword": "chatgpt"}'

Python:

import requests

res = requests.post(
    "https://api.trendsapi.ai/api",
    headers={"Authorization": "Bearer YOUR_API_KEY"},
    json={"mode": "get_growth", "source": "app downloads", "keyword": "chatgpt",
          "percent_growth": ["3M", "12M"]},
)
print(res.json())

Node.js:

const res = await fetch("https://api.trendsapi.ai/api", {
  method: "POST",
  headers: {
    Authorization: "Bearer YOUR_API_KEY",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({ mode: "get_growth", source: "app downloads", keyword: "chatgpt",
                          percent_growth: ["3M", "12M"] }),
});
console.log(await res.json());

The three modes

Mode What it returns Needs a keyword?
get_time_series Historical downloads / chart position as a normalized 0-100 series yes
get_growth Growth % over 3M / 6M / 12M / 5Y windows yes
get_top_trends Live trending feeds (21 of them) no

Why teams switch

Store consoles / paid ASO tools Trends API
Credentials App Store Connect / Play Console one API key
Competitor app data not exposed any public app
Historical charts paid tools only included
Cross-platform compare no same scale as 14 other sources
Free tier n/a 100 requests/month

Use cases

  • ASO: track your app's chart position and category movement over time
  • Competitive intel: watch a competitor's download trajectory after each release
  • Investing: app download momentum as a signal for public mobile companies
  • Product research: validate category demand before building

Use it from your AI assistant (MCP)

The same API key powers the Trends API MCP server, so Claude, Cursor, VS Code, ChatGPT and any MCP-compatible client can query this data in natural language.

+ Add to Cursor (one click)

Cursor / Windsurf / Cline (~/.cursor/mcp.json or equivalent):

{
  "mcpServers": {
    "trendsapi": {
      "url": "https://api.trendsapi.ai/mcp",
      "transport": "http",
      "headers": { "Authorization": "Bearer YOUR_API_KEY" }
    }
  }
}

VS Code / GitHub Copilot (.vscode/mcp.json):

{
  "servers": {
    "trendsapi": {
      "type": "http",
      "url": "https://api.trendsapi.ai/mcp",
      "headers": { "Authorization": "Bearer YOUR_API_KEY" }
    }
  }
}

Claude Desktop (claude_desktop_config.json):

{
  "mcpServers": {
    "trendsapi": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://api.trendsapi.ai/mcp", "--header", "Authorization:${AUTH_HEADER}"],
      "env": { "AUTH_HEADER": "Bearer YOUR_API_KEY" }
    }
  }
}

Claude.ai (browser): Settings -> Connectors -> Add custom connector -> https://api.trendsapi.ai/mcp

Then ask things like:

How did "creatine gummies" grow on TikTok vs Google over the last 12 months?
What is trending on YouTube right now?

Every source on the same key

Source source value What it measures
Google Search google search Search volume
Google Images google images Image search volume
Google News google news News search volume
Google Shopping google shopping Shopping search volume
YouTube youtube Search volume
TikTok tiktok Hashtag volume
Reddit reddit Subreddit subscribers
Amazon amazon Product search volume
Wikipedia wikipedia Page views
News volume news volume Article mention volume
News sentiment news sentiment Positive / negative score
App downloads app downloads Android downloads (AppBrain)
App rankings app rankings Android chart position
npm npm Weekly package downloads
Steam steam Concurrent players (monthly)

Live feeds (get_top_trends, no keyword needed)

Feed type value
Google Trends Google Trends
Google News Top News Google News Top News
TikTok Trending Hashtags TikTok Trending Hashtags
TikTok Trending Searches TikTok Trending Searches
TikTok Shop Hot Products TikTok Shop Hot Products
YouTube Trending YouTube Trending
X (Twitter) Trending X (Twitter) Trending
Reddit Hot Posts Reddit Hot Posts
Reddit World News Reddit World News
Wikipedia Trending Wikipedia Trending
Amazon Best Sellers Top Rated Amazon Best Sellers Top Rated
Amazon Best Sellers by Category Amazon Best Sellers by Category
App Store Top Free App Store Top Free
App Store Top Paid App Store Top Paid
Google Play Google Play
Top Websites Top Websites
Spotify Top Podcasts Spotify Top Podcasts
Steam Most Played Steam Most Played
GitHub Trending Repos GitHub Trending Repos
IMDb MOVIEmeter IMDb MOVIEmeter
Open Library Trending Books Open Library Trending Books

FAQ

What app store data does Trends API provide?

Android download estimates and chart rankings (via AppBrain) as time series, plus three live feeds: App Store Top Free, App Store Top Paid and Google Play top apps.

Can I track apps I do not own?

Yes. Store consoles only show your own apps; Trends API works for any public app, which is the point of competitive tracking.

Do you cover iOS downloads?

iOS coverage is chart positions (Top Free / Top Paid feeds). Download estimates are Android via AppBrain. Both are queryable through the same endpoint.

How do I query an app?

For keyword sources use app downloads or app rankings with the app's Android bundle ID (e.g. com.openai.chatgpt). For live charts use get_top_trends with the feed type.

How fresh is the data?

Charts update through the day; download and ranking series update on their source cadence. Every response includes a timestamp.


Links

License

MIT - see LICENSE. Data is served by Trends API; usage of the API itself is subject to the plan limits on your key.

About

App Store Trends API as JSON: Android download estimates, chart ranking history, and live iOS App Store / Google Play top charts. Powered by AppBrain data. REST + MCP, free tier.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors