Android app install estimates as a time series keyed by bundle ID. Track download velocity, cumulative installs, and growth for any Google Play app through a single POST endpoint.
Mobile market research usually means signing into a dashboard, exporting a CSV, and reconciling bundle IDs by hand. The app downloads source returns install estimates in the same JSON shape as every other Trends MCP source. The keyword must be the Android bundle ID.
POST https://api.trendsmcp.ai/api
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
Every Google Play listing exposes its package name in the URL:
https://play.google.com/store/apps/details?id=com.openai.chatgpt
^^^^^^^^^^^^^^^^^^
bundle ID (keyword)
Common mistakes: passing "ChatGPT" or "OpenAI" as the keyword returns 404. The bundle ID is case-sensitive and must match exactly.
Request install history for any Android app.
{
"source": "app downloads",
"keyword": "com.openai.chatgpt"
}
Response excerpt (Trends MCP API snapshot, June 19 2026):
[
{
"date": "2026-06-18",
"value": 6.4,
"volume": 4625228,
"volume_cumulative": 1333414107,
"keyword": "com.openai.chatgpt",
"datatype": "app downloads"
},
{
"date": "2026-06-16",
"value": 10.0,
"volume": 7270825,
"volume_cumulative": 1328788879,
"keyword": "com.openai.chatgpt",
"datatype": "app downloads"
}
]
Three fields matter here. volume is estimated installs for that date. volume_cumulative is total installs to date (roughly 1.33 billion for ChatGPT on this snapshot). value normalizes install velocity to 0-100 for cross-app comparison.
Data arrives on roughly two-day intervals, not strict weekly cadence like Google Search.
Track whether install velocity is accelerating or cooling.
{
"source": "app downloads",
"keyword": "com.openai.chatgpt",
"percent_growth": ["12M", "3M"]
}
Response excerpt (June 19 2026):
{
"search_term": "com.openai.chatgpt",
"data_source": "app downloads",
"results": [
{
"period": "12M",
"growth": -1.54,
"direction": "decrease",
"volume_available": true,
"recent_volume": 4625228,
"baseline_volume": 4704102,
"volume_growth": -1.68
}
],
"metadata": {
"total_data_points": 169,
"calculations_completed": 2,
"all_successful": true
}
}
ChatGPT's install velocity index dipped slightly year over year on this reading. That flatline at the top of the market is a different signal than a startup doubling installs from a small base. Context from volume_cumulative helps separate the two.
Custom date comparison for launch or feature release windows:
{
"source": "app downloads",
"keyword": "com.duolingo",
"percent_growth": [
{ "name": "post-campaign", "recent": "2026-06-01", "baseline": "2026-03-01" }
]
}
Preset periods: 7D 14D 30D 1M 2M 3M 6M 9M 12M 1Y 18M 24M 2Y 36M 3Y 48M 60M 5Y MTD QTD YTD
| Field | Type | Meaning |
|---|---|---|
value |
number | Normalized install velocity, 0-100 |
volume |
number | Estimated installs for the date window |
volume_cumulative |
number | Total estimated installs to date |
datatype |
string | Always "app downloads" for this source |
Zero-volume days appear when AppBrain reports no fresh estimate. A string of zeros followed by a spike usually reflects upstream data gaps, not a real drop to zero installs.
Install trends diverge from web search interest in instructive ways. A consumer app can show flat Google Search volume while installs climb on paid acquisition. Pull both sources in separate calls:
{ "source": "app downloads", "keyword": "com.duolingo" }
{ "source": "google search", "keyword": "duolingo" }
Compare the curves. Divergence between install velocity and search interest often flags paid growth or retention problems that search data alone would miss. The app download trends page covers MCP setup; this page documents the REST contract.
No bundle ID needed for chart rankings:
{
"mode": "top_trends",
"type": "Google Play",
"limit": 25
}
Use chart data to discover bundle IDs, then pull install history for specific apps.
Python
import requests
BUNDLE_ID = "com.openai.chatgpt"
res = requests.post(
"https://api.trendsmcp.ai/api",
headers={"Authorization": "Bearer YOUR_API_KEY"},
json={"source": "app downloads", "keyword": BUNDLE_ID}
)
series = res.json()
latest = series[-1]
print(f"Installs: {latest['volume']:,}, Cumulative: {latest['volume_cumulative']:,}")
JavaScript
const res = await fetch("https://api.trendsmcp.ai/api", {
method: "POST",
headers: {
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json"
},
body: JSON.stringify({
source: "app downloads",
keyword: "com.openai.chatgpt",
percent_growth: ["12M"]
})
});
const data = await res.json();
cURL
curl -X POST https://api.trendsmcp.ai/api \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"source": "app downloads", "keyword": "com.duolingo"}'
Tools for this workflow
get_trendsChart daily install velocity and cumulative downloads for any Android app by bundle ID.
get_trends(keyword='com.openai.chatgpt', source='app downloads')
get_growthMeasure install velocity changes over 3M, 12M, or custom date windows.
get_growth(keyword='com.openai.chatgpt', source='app downloads', percent_growth=['12M', '3M'])
FAQ