Skip to main content
GET
/
api
/
partner
/
v1
/
analytics
/
summary
curl --request GET \
  --url 'https://www.genviral.io/api/partner/v1/analytics/summary?range=30d&platforms=tiktok,instagram' \
  --header 'Authorization: Bearer <token>'
{
  "ok": true,
  "code": 200,
  "message": "Analytics summary retrieved",
  "data": {
    "range": {
      "start": "2026-01-15",
      "end": "2026-02-14"
    },
    "filters": {
      "platforms": ["tiktok", "instagram"],
      "accountIds": []
    },
    "kpis": {
      "publishedVideos": { "value": 41, "delta": 8 },
      "activeAccounts": { "value": 5, "delta": 1 },
      "views": { "value": 815422, "delta": 102881 },
      "likes": { "value": 51220, "delta": 6412 },
      "comments": { "value": 2941, "delta": 318 },
      "shares": { "value": 1822, "delta": 205 },
      "saves": { "value": 1104, "delta": 121 },
      "engagementRate": { "value": 6.86, "delta": 0.42 }
    },
    "interactionSeries": [],
    "engagementSeries": [],
    "postingHeatmap": [],
    "postingStreak": 3,
    "contentMix": []
  }
}
Returns the same summary dataset used by the internal analytics dashboard: KPI deltas, interaction timeline, engagement series, posting heatmap, posting streak, and content mix.

Query Parameters

range
string
default:"30d"
Date preset. Supported values: 14d, 30d, 90d, 1y, all.
start
string
Custom range start date (YYYY-MM-DD). Must be used with end.
end
string
Custom range end date (YYYY-MM-DD). Must be used with start.
platforms
string
Comma-separated platform filter (for example: tiktok,instagram). You can also use platform.
accounts
string
Comma-separated analytics target IDs. You can also use account_ids.

Response

range
object
Selected date range with start and end.
filters
object
Applied platform/account filters.
kpis
object
KPI values and deltas for published videos, active accounts, views, likes, comments, shares, saves, and engagement rate.
interactionSeries
array
Per-day interaction totals (views, likes, comments, shares).
engagementSeries
array
Per-day engagement rate values.
postingHeatmap
array
Per-day posting counts used for the calendar heatmap.
postingStreak
number
Current consecutive posting-day streak ending at the selected range end date.
contentMix
array
Posts split by platform with percentage share.
curl --request GET \
  --url 'https://www.genviral.io/api/partner/v1/analytics/summary?range=30d&platforms=tiktok,instagram' \
  --header 'Authorization: Bearer <token>'
{
  "ok": true,
  "code": 200,
  "message": "Analytics summary retrieved",
  "data": {
    "range": {
      "start": "2026-01-15",
      "end": "2026-02-14"
    },
    "filters": {
      "platforms": ["tiktok", "instagram"],
      "accountIds": []
    },
    "kpis": {
      "publishedVideos": { "value": 41, "delta": 8 },
      "activeAccounts": { "value": 5, "delta": 1 },
      "views": { "value": 815422, "delta": 102881 },
      "likes": { "value": 51220, "delta": 6412 },
      "comments": { "value": 2941, "delta": 318 },
      "shares": { "value": 1822, "delta": 205 },
      "saves": { "value": 1104, "delta": 121 },
      "engagementRate": { "value": 6.86, "delta": 0.42 }
    },
    "interactionSeries": [],
    "engagementSeries": [],
    "postingHeatmap": [],
    "postingStreak": 3,
    "contentMix": []
  }
}

Error Responses

  • 400 — invalid range, invalid date parameters (start/end), invalid date ordering, or invalid platforms filter values
  • 401/403 — authentication failed or key lacks workspace access
  • 500 — unexpected analytics query error
All error responses from analytics endpoints include an error_code field.