Reference
Analytics
Analytics endpoints read ClickHouse-backed traffic metrics when analytics is configured. Inventory APIs continue to work even when analytics returns analytics_unavailable.
Link Analytics
GET/v1/analytics/links/{linkId}
| Parameter | Type | Required | Description |
|---|---|---|---|
| range | 24h | 7d | 30d | 90d | Optional | Defaults to 7d. |
| traffic | human | all | bots | Optional | Defaults to human. Use all to include bot traffic. |
Read link analytics
curl "https://api.shortify.com/v1/analytics/links/link_01HV4Z4Y6W3D4J9B2Y8QH6P8JS?range=30d&traffic=human" \
-H "api-key: sk_live_your_server_key"200
Success{
"success": true,
"data": {
"summary": {
"humanClicks": 128,
"uniqueVisitors": 94,
"botClicks": 7,
"totalClicks": 135,
"lastActivityAt": "2026-07-03T08:30:00.000Z",
"launchViewImpressions": 42,
"launchViewAutoOpenAttempts": 31,
"launchViewPrimaryClicks": 18,
"launchViewSecondaryClicks": 6
},
"customerEvents": [
{
"key": "purchase",
"label": "purchase",
"count": 4,
"percentage": 100
}
],
"timeseries": [],
"deviceBreakdown": [],
"browserBreakdown": [],
"osBreakdown": [],
"geoBreakdown": [],
"referrerBreakdown": [],
"campaignBreakdown": [],
"destinationBreakdown": [],
"recentEvents": [],
"launchViewMetrics": {
"impressions": 42,
"autoOpenAttempts": 31,
"primaryClicks": 18,
"secondaryClicks": 6
}
},
"requestId": "req_01HV4Z4Y6W3D4J9B2Y8QH6P8JS"
}Deep-Link App Analytics
GET/v1/analytics/deep-link-app
This endpoint uses an App API Key in the api-key header. The app is resolved from the key; callers do not pass an app ID.
| Parameter | Type | Required | Description |
|---|---|---|---|
| range | 24h | 7d | 30d | 90d | Optional | Defaults to 7d. |
| traffic | human | all | bots | Optional | Defaults to human. Use all to include bot traffic. |
Read app analytics
curl "https://api.shortify.com/v1/analytics/deep-link-app?range=7d&traffic=all" \
-H "api-key: app_live_your_app_key"Raw Event Export
GET/v1/analytics/events
| Parameter | Type | Required | Description |
|---|---|---|---|
| limit | integer | Optional | Default 25. Maximum 100. |
| cursor | string | Optional | Use pagination.nextCursor from the previous page. |
| range | 24h | 7d | 30d | 90d | Optional | Defaults to 7d. |
| eventType | all | click | launch_view_impression | launch_view_auto_open_attempt | launch_view_primary_click | launch_view_secondary_click | install | first_open | customer_event | Optional | Defaults to all. |
Export customer events
curl "https://api.shortify.com/v1/analytics/events?range=30d&eventType=customer_event&limit=50" \
-H "api-key: sk_live_your_server_key"Analytics Unavailable
When ClickHouse is not configured, unavailable, or not initialized, analytics routes return 503 withanalytics_unavailable. Treat this as a temporary reporting failure, not as a link-management failure.