API
API access for tracked apps, reviews, rankings, and availability.
appreports.io exposes API access for selected backend operations. Use these APIs when you want to bring tracked data into internal dashboards, scripts, or reporting workflows.
Base URL
https://api.appreports.io
Authentication
Send the generated appreports.io API key as a bearer token:
Authorization: Bearer apr_ak_...
The key is shown only when generated. Regenerating a key invalidates the previous key. Revoking a key disables the API access until a new key is generated.
Rate limit
API keys are limited to one request per second. Rate-limited requests return
429 Too Many Requests with Retry-After header.
List tracked apps
GET /tracked-apps
Lists apps tracked through the authenticated account.
Example response:
{
"items": [
{
"trackedAppId": "ta_123",
"appStoreAppId": "1234567890",
"name": "Runway Planner",
"bundleId": "io.example.runway",
"platform": "IOS"
}
]
}
List tracked app reviews
GET /tracked-apps/{trackedAppId}/reviews?maxResults=25&nextToken=...
Lists raw paginated customer reviews for a tracked app.
Query parameters:
| Name | Required | Description |
|---|---|---|
maxResults | No | Maximum backend page size. |
nextToken | No | Token returned by a previous response. |
Example response:
{
"items": [
{
"reviewId": "review_123",
"rating": 5,
"title": "Exactly what our team needed",
"body": "The new release fixed our onboarding issue.",
"territory": "US",
"createdAt": "2026-05-01T12:30:00Z"
}
],
"nextToken": "opaque-pagination-token"
}
List tracked app rankings
GET /tracked-apps/{trackedAppId}/rankings?country=US&from=2026-05-01&to=2026-05-31
Lists stored ranking chart appearances for a tracked app. Missing days or territories mean the app was not found in the synced chart for that scope.
Common query parameters:
| Name | Required | Description |
|---|---|---|
country | Yes | marketplace territory/country code. |
from | Yes | Start date in YYYY-MM-DD format. |
to | Yes | End date in YYYY-MM-DD format. |
chartType | No | Chart type filter when supported by stored data. |
genreId | No | Genre filter when supported by stored data. |
Example response:
{
"items": [
{
"date": "2026-05-01",
"territory": "US",
"chartType": "top-free",
"genreId": "6012",
"rank": 18
}
]
}
Get tracked app availability
GET /tracked-apps/{trackedAppId}/availability
Reads the latest synced marketplace territory availability for a tracked app.
Example response:
{
"trackedAppId": "ta_123",
"availableTerritoryCount": 172,
"syncedAt": "2026-05-01T10:00:00Z"
}