appreports.io

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:

NameRequiredDescription
maxResultsNoMaximum backend page size.
nextTokenNoToken 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:

NameRequiredDescription
countryYesmarketplace territory/country code.
fromYesStart date in YYYY-MM-DD format.
toYesEnd date in YYYY-MM-DD format.
chartTypeNoChart type filter when supported by stored data.
genreIdNoGenre 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"
}