Get TikTok account-level insights
Returns account-level TikTok insights from /v2/user/info/ (live) plus historical time series joined from Zernio's daily snapshotter (AccountStats). Response shape matches /v1/analytics/instagram/account-insights. Max 89 days, defaults to last 30 days. Requires the Analytics add-on and the user.info.stats scope on the account (412 if missing). Scope intentionally narrow. TikTok's public API exposes only the four counter metrics below. The deep metrics that live in TikTok Studio are NOT available on any public TikTok API, even for Business accounts: - profile_views - account-level impressions / reach - follower inflow / outflow breakdown - video watch time, average watch time, full-watched rate - impression_sources (FYP / Following / Hashtag / Search / Personal profile) TikTok's Research API doesn't expose those fields either, and is restricted to non-commercial academic use per TikTok's eligibility policy. There is no public API workaround. Post-level metrics (views, likes, comments, shares per video) are available via /v1/analytics?postId=... from TikTok's /v2/video/query/.
API key authentication - use your Zernio API key as a Bearer token
In: header
Query Parameters
The Zernio SocialAccount ID for the TikTok account.
Comma-separated list. Defaults to "follower_count,likes_count,video_count,followers_gained,followers_lost".
Live from /v2/user/info/ (requires user.info.stats scope):
- follower_count (cumulative; time series joined from AccountStats)
- following_count (cumulative; time series joined from AccountStats.metadata)
- likes_count (cumulative; time series joined from AccountStats.metadata)
- video_count (cumulative; time series joined from AccountStats.metadata)
Zernio-synthesized:
- followers_gained (sum of positive daily follower deltas)
- followers_lost (sum of absolute negative daily deltas)
Start date (YYYY-MM-DD). Defaults to 30 days ago.
dateEnd date (YYYY-MM-DD). Defaults to today.
date"total_value" returns the latest cumulative counter value. "time_series" returns daily values joined from AccountStats snapshots.
"total_value""time_series" | "total_value"Response Body
application/json
application/json
import Zernio from '@zernio/node';const zernio = new Zernio({ apiKey: process.env.ZERNIO_API_KEY });const { data } = await zernio.analytics.getTikTokAccountInsights({ query: { accountId: 'account_abc123', },});console.log(data);{
"success": true,
"accountId": "string",
"platform": "facebook",
"dateRange": {
"since": "2019-08-24",
"until": "2019-08-24"
},
"metricType": "time_series",
"breakdown": "string",
"metrics": {
"property1": {
"total": 0,
"values": [
{
"date": "2019-08-24",
"value": 0
}
],
"breakdowns": [
{
"dimension": "string",
"value": 0
}
]
},
"property2": {
"total": 0,
"values": [
{
"date": "2019-08-24",
"value": 0
}
],
"breakdowns": [
{
"dimension": "string",
"value": 0
}
]
}
},
"dataDelay": "Data may be delayed up to 48 hours"
}{
"error": "Unauthorized"
}Get frequency vs engagement GET
Returns the correlation between posting frequency (posts per week) and engagement rate, broken down by platform. Helps find the optimal posting cadence for each platform. Each row represents a specific (platform, posts_per_week) combination with the average engagement rate observed across all weeks matching that frequency. Requires the Analytics add-on.
Get YouTube channel-level insights GET
Returns channel-scoped aggregate metrics from YouTube Analytics API v2. Saves you from looping /v1/analytics/youtube/daily-views over every video when you only need channel totals. Response shape matches /v1/analytics/instagram/account-insights so the same client handling works. Requires yt-analytics.readonly scope (412 with reauthorizeUrl if missing). Data has a 2-3 day delay (endDate is clamped accordingly). Max 89 days, defaults to last 30 days. Requires the Analytics add-on. NOT exposed: impressions (Studio thumbnail impressions) and impressionsClickThroughRate. YouTube Analytics API v2 does not expose these for any principal type, not channel owners, not Partner Program channels, not content owners with CMS access. The only way to get them is Studio CSV export. This is a Google-side limitation.