Live iOS App Store and Google Play chart rankings as structured JSON. Pull top free, top paid, and Google Play rankings via a single POST endpoint - no Apple or Google developer credentials required.
App Store Connect gives you data about your own app. It tells you nothing about what's ranking across the store. Apple has no public API for top chart rankings - getting that data cleanly requires either scraping or a third-party tool.
Trends MCP returns live App Store Top Free, Top Paid, and Google Play rankings as JSON. One request, no Apple or Google credentials.
POST https://api.trendsmcp.ai/api
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
{
"mode": "top_trends",
"type": "App Store Top Free",
"limit": 50
}
{
"mode": "top_trends",
"type": "App Store Top Paid",
"limit": 50
}
{
"mode": "top_trends",
"type": "Google Play",
"limit": 50
}
Response shape (same for all types):
{
"as_of_ts": "2026-03-30T12:00:00Z",
"type": "App Store Top Free",
"limit": 50,
"count": 50,
"data": [
[1, "App Name"],
[2, "Another App"]
]
}
The data array returns [rank, name] pairs. Set limit up to 200.
Python
import requests
res = requests.post(
"https://api.trendsmcp.ai/api",
headers={"Authorization": "Bearer YOUR_API_KEY"},
json={"mode": "top_trends", "type": "App Store Top Free", "limit": 50}
)
data = res.json()
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({ mode: "top_trends", type: "App Store Top Free", limit: 50 })
});
const data = await res.json();
cURL
curl -s -X POST https://api.trendsmcp.ai/api \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"mode":"top_trends","type":"App Store Top Free","limit":50}'
A chart position alone doesn't tell you if an app is in the middle of a spike or has been there for months. Cross-referencing with Google Search volume adds that context:
import requests
headers = {"Authorization": "Bearer YOUR_API_KEY"}
base = "https://api.trendsmcp.ai/api"
charts = requests.post(base, headers=headers,
json={"mode": "top_trends", "type": "App Store Top Free", "limit": 10}).json()
top_app = charts["data"][0][1]
growth = requests.post(base, headers=headers,
json={"source": "google search", "keyword": top_app, "percent_growth": ["7D", "30D"]}).json()
| Status | Code | Meaning |
|---|---|---|
| 401 | Missing or invalid API key | |
| 429 | rate_limited |
Monthly limit reached |
| 500 | internal_error |
Unexpected server error |
FAQ