Documentation Index
Fetch the complete documentation index at: https://docs.appeeky.com/llms.txt
Use this file to discover all available pages before exploring further.
The App Store Connect Metrics API returns aggregated sales data from your connected App Store Connect account. Data is synced daily from Apple’s Sales and Trends reports into Appeeky — no need to pass ASC credentials on each request.
Pro feature — requires Indie plan or higher. API key path: 2 credits per request. JWT (web): plan check only.
Overview
| Endpoint | Description |
|---|
GET /v1/connect/metrics | Overview: totals, per-app breakdown, daily rows |
GET /v1/connect/metrics/apps | List app IDs that have metrics data |
GET /v1/connect/metrics/apps/:appId | Single app: daily series + country breakdown |
Data available
- App Units (downloads)
- Revenue (USD)
- In-App Purchases (count)
- Subscriptions (snapshot)
- Free Trials (snapshot)
- Country/Territory breakdown (per-app detail only)
Sync fetches up to 90 days of data. Use from and to to filter the range.
Get Overview Metrics
Returns totals and per-app breakdown for the date range.
Query parameters
| Name | Type | Default | Description |
|---|
from | string | 30 days ago | Start date YYYY-MM-DD |
to | string | today | End date YYYY-MM-DD |
appId | string | — | Optional: filter to one app |
curl "https://api.appeeky.com/v1/connect/metrics?from=2026-02-19&to=2026-03-21" \
-H "X-API-Key: apk_your_key_here"
Response (200 OK):
{
"data": {
"from": "2026-02-19",
"to": "2026-03-21",
"totals": {
"downloads": 1250,
"revenue": 89.5,
"subscriptions": 42,
"trials": 12,
"iap_count": 320
},
"apps": [
{
"appId": "6759740679",
"appName": "Voice Tape Record",
"downloads": 1100,
"revenue": 75.2,
"subscriptions": 38,
"trials": 10,
"iap_count": 280
}
],
"rows": [
{
"app_apple_id": "6759740679",
"app_name": "Voice Tape Record",
"metric_date": "2026-03-20",
"downloads": 45,
"revenue": 3.2,
"subscriptions": 2,
"trials": 0,
"iap_count": 12
}
]
}
}
List Apps with Metrics
GET /v1/connect/metrics/apps
Returns distinct app IDs that have metrics data (for linking to app detail).
curl "https://api.appeeky.com/v1/connect/metrics/apps" \
-H "X-API-Key: apk_your_key_here"
Response (200 OK):
{
"data": [
{ "app_apple_id": "6759740679", "app_name": "Voice Tape Record" }
]
}
Get App Detail (Daily + Countries)
GET /v1/connect/metrics/apps/:appId
Returns daily time series and country/territory breakdown for a single app.
Path parameters
| Name | Description |
|---|
appId | App Store Connect app ID (numeric) |
Query parameters
| Name | Type | Default | Description |
|---|
from | string | 90 days ago | Start date YYYY-MM-DD |
to | string | today | End date YYYY-MM-DD |
curl "https://api.appeeky.com/v1/connect/metrics/apps/6759740679?from=2026-02-19&to=2026-03-21" \
-H "X-API-Key: apk_your_key_here"
Response (200 OK):
{
"data": {
"appId": "6759740679",
"appName": "Voice Tape Record",
"from": "2026-02-19",
"to": "2026-03-21",
"totals": {
"downloads": 1100,
"revenue": 75.2,
"subscriptions": 38,
"trials": 10,
"iap_count": 280
},
"daily": [
{
"metric_date": "2026-03-20",
"downloads": 45,
"revenue": 3.2,
"subscriptions": 2,
"trials": 0,
"iap_count": 12
}
],
"countries": [
{ "country": "US", "downloads": 520, "revenue": 42.1 },
{ "country": "GB", "downloads": 180, "revenue": 12.5 }
]
}
}
Error Codes
| Status | Code | When |
|---|
| 401 | MISSING_AUTH | No Authorization or X-API-Key header |
| 401 | INVALID_TOKEN | Invalid or expired JWT |
| 401 | INVALID_API_KEY | Invalid or inactive API key |
| 403 | PRO_FEATURE | Free plan — upgrade to Indie or higher |
| 404 | USER_NOT_FOUND | User not in system (connect ASC first) |
| 429 | RATE_LIMIT_EXCEEDED | Not enough credits (2 per request) |
| 500 | METRICS_ERROR | Database or sync error |