Skip to main content
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.
Requires connected ASC account. Connect your App Store Connect API key and Vendor Number in appeeky.com → Settings → Integrations. Data syncs nightly and on manual sync.
Pro feature — requires Indie plan or higher. API key path: 2 credits per request. JWT (web): plan check only.

Overview

EndpointDescription
GET /v1/connect/metricsOverview: totals, per-app breakdown, daily rows
GET /v1/connect/metrics/appsList app IDs that have metrics data
GET /v1/connect/metrics/apps/:appIdSingle 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

GET /v1/connect/metrics
Returns totals and per-app breakdown for the date range.

Query parameters

NameTypeDefaultDescription
fromstring30 days agoStart date YYYY-MM-DD
tostringtodayEnd date YYYY-MM-DD
appIdstringOptional: 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

NameDescription
appIdApp Store Connect app ID (numeric)

Query parameters

NameTypeDefaultDescription
fromstring90 days agoStart date YYYY-MM-DD
tostringtodayEnd 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

StatusCodeWhen
401MISSING_AUTHNo Authorization or X-API-Key header
401INVALID_TOKENInvalid or expired JWT
401INVALID_API_KEYInvalid or inactive API key
403PRO_FEATUREFree plan — upgrade to Indie or higher
404USER_NOT_FOUNDUser not in system (connect ASC first)
429RATE_LIMIT_EXCEEDEDNot enough credits (2 per request)
500METRICS_ERRORDatabase or sync error