Skip to main content
The Analytics Reports API gives you programmatic access to 140+ report types: App Downloads, App Sessions, Commerce, App Store Engagement, Framework Usage, and more. Data is split into segments with downloadable URLs (gzip TSV).
Role required: Admin, Finance, or Sales and Reports. New report requests may take 24–48 hours before data is available.

Flow Overview

1. List/Create report request for your app
2. List reports for the request (e.g. "App Downloads Standard")
3. List instances for a report (daily, weekly, monthly granularity)
4. List segments for an instance
5. Download segment URL (gzip TSV with actual data)

List Report Requests

GET /v1/connect/apps/:appId/analytics/report-requests
List analytics report requests for an app. If empty, create one first.

Query Parameters

NameTypeDescription
accessTypestringFilter: ONGOING or ONE_TIME_SNAPSHOT
limitintegerMax results (default 50)

Response

{
  "data": {
    "data": [
      {
        "type": "analyticsReportRequests",
        "id": "7e9b84a2-b441-49ce-a723-649fa483029c",
        "attributes": {
          "accessType": "ONGOING",
          "stoppedDueToInactivity": false
        }
      }
    ]
  }
}

Create Report Request

POST /v1/connect/apps/:appId/analytics/report-requests
Create a new analytics report request. ONGOING generates daily reports; ONE_TIME_SNAPSHOT fetches historical data.

Request Body

{
  "accessType": "ONGOING"
}
FieldTypeDescription
accessTypestringONGOING (daily reports) or ONE_TIME_SNAPSHOT (historical)

List Reports for Request

GET /v1/connect/analytics/report-requests/:requestId/reports
List available reports (140+ types). Filter by category to narrow down.

Query Parameters

NameTypeDescription
categorystringAPP_USAGE, COMMERCE, APP_STORE_ENGAGEMENT, FRAMEWORK_USAGE, PERFORMANCE
limitintegerMax results (default 50)

Example Report Types

CategoryExamples
COMMERCEApp Downloads Standard, App Store Purchases, Pre-Orders
APP_USAGEApp Sessions, Installation and Deletion
APP_STORE_ENGAGEMENTDiscovery and Engagement
FRAMEWORK_USAGEHome Screen Widgets, Spatial Audio, etc.
PERFORMANCEApp Install Performance

List Report Instances

GET /v1/connect/analytics/reports/:reportId/instances
List instances for a report. Each instance represents a granularity (daily, weekly, monthly).

Path Parameters

NameTypeDescription
reportIdstringReport ID (e.g. r3-7e9b84a2-b441-49ce-a723-649fa483029c)

List Segments

GET /v1/connect/analytics/report-instances/:instanceId/segments
List segments for an instance. Each segment has a URL to download the actual data (gzip-compressed TSV).

Response

{
  "data": {
    "data": [
      {
        "type": "analyticsReportSegments",
        "id": "...",
        "attributes": {
          "url": "https://...",
          "checksum": "...",
          "sizeInBytes": 1234
        }
      }
    ]
  }
}

Download Report Data

  1. Take the url from a segment
  2. Fetch with your JWT (or the segment URL may be pre-signed by Apple)
  3. Decompress the gzip response
  4. Parse the TSV (tab-separated values)

Get Segment Details

GET /v1/connect/analytics/report-segments/:segmentId
Get a single segment’s details including the download URL.

Code Example

# 1. Create report request (if none exists)
curl -X POST "https://api.appeeky.com/v1/connect/apps/6759740679/analytics/report-requests" \
  -H "X-API-Key: YOUR_APEEKY_KEY" \
  -H "X-ASC-Issuer-Id: YOUR_ISSUER_ID" \
  -H "X-ASC-Key-Id: YOUR_KEY_ID" \
  -H "X-ASC-Private-Key: YOUR_PRIVATE_KEY" \
  -H "Content-Type: application/json" \
  -d '{"accessType":"ONGOING"}'

# 2. List reports (e.g. filter by COMMERCE)
curl -X GET "https://api.appeeky.com/v1/connect/analytics/report-requests/7e9b84a2.../reports?category=COMMERCE" \
  -H "X-API-Key: YOUR_APEEKY_KEY" \
  -H "X-ASC-Issuer-Id: YOUR_ISSUER_ID" \
  -H "X-ASC-Key-Id: YOUR_KEY_ID" \
  -H "X-ASC-Private-Key: YOUR_PRIVATE_KEY"

Credits

EndpointCredits
GET report-requests2
POST report-requests3
GET reports2
GET instances2
GET segments2
GET segment1