TikTok Analytics API: Which One Returns Your Metrics
For an account that authorized your app, TikTok's analytics live in TikTok API for Business. The business get endpoint returns daily views, followers, and demographics for up to 60 days back, and the business video list endpoint returns per-post reach, watch time, and retention. TikTok for Developers returns only lifetime counts. The Research API is for non-commercial research. Adeli wraps the Business API in three endpoints.
A TikTok analytics API, for an account that has authorized your app, means the Accounts API in TikTok API for Business. Its /business/get/ endpoint returns a profile, daily metrics, and follower demographics, and its /business/video/list/ endpoint returns per-post reach, watch time, and retention. TikTok for Developers only returns lifetime counts, and the Research API is closed to commercial products.
Below is which API returns which numbers, the requests for each, and the limits behind most empty responses. If you haven't picked a portal yet, start with TikTok API for Business vs. Developers.
Which TikTok API returns analytics?
Three official APIs return TikTok numbers, and only one of them returns analytics in the dashboard sense.
| API | Portal | What it returns | Who can use it |
|---|---|---|---|
Accounts API (/business/get/, /business/video/list/) |
TikTok API for Business | Daily account metrics, follower demographics, per-post reach, watch time, retention, traffic sources | Apps the account owner authorized |
| User info and video list (often called the Display API) | TikTok for Developers | Lifetime follower, like, and video counts; per-video views, likes, comments, shares | Apps the account owner authorized |
| Research API | TikTok for Developers | Public video and account data for research queries | Approved academic and not-for-profit researchers only |
TikTok's ads, pixel, and shop analytics are separate products with their own APIs and don't cover organic account performance.
What does TikTok's Display API return?
Lifetime counters, with no history. The user info endpoint at GET https://open.tiktokapis.com/v2/user/info/ returns follower_count, following_count, likes_count, and video_count when the user grants the user.info.stats scope.
The video list endpoint (POST /v2/video/list/, scope video.list) pages through a user's public posts, at most 20 per request. Each video object can carry view_count, like_count, comment_count, and share_count.
That's enough for a follower counter or a "top videos" widget. It isn't enough for a report: there are no daily values, no reach, no watch time, and no demographics. To chart growth over time with these endpoints, you'd have to poll and store snapshots yourself.
How do I get TikTok account insights?
Call /business/get/ with the account's business_id and the metric names in fields. The business_id is the open_id returned by the Business API's /tt_user/oauth2/token/ exchange, and the access token goes in an Access-Token header. From TikTok's get profile data reference:
curl -G "https://business-api.tiktok.com/open_api/v1.3/business/get/" \
-H "Access-Token: $TIKTOK_ACCESS_TOKEN" \
--data-urlencode "business_id=$OPEN_ID" \
--data-urlencode "start_date=2026-09-01" \
--data-urlencode "end_date=2026-09-28" \
--data-urlencode 'fields=["followers_count","video_views","profile_views","likes","comments","shares","daily_new_followers","audience_countries"]'Profile fields come back at the top level. Daily figures come back as rows in a metrics array, one per day.
The rules that decide what you get:
- 60-day look-back. TikTok's reference says "the maximum supported look-back period is 60 days." Without dates,
start_datedefaults to 7 days ago andend_dateto yesterday, both in UTC. - 24 to 48 hours of lag. Most daily metrics update at "T + 24-48 hrs (UTC time)", so yesterday is often empty.
- TikTok Analytics has to be on. The reference says the data you can get depends on whether the same data shows in TikTok Analytics in the app. If it's missing there, the API won't return it either.
- The
user.insightsscope. The daily metrics such asunique_video_viewsare listed underuser.insights. - Account type matters. Unique video views are reported only for Business Accounts, and several click and lead metrics only for Verified Business Accounts.
- 100 followers for some breakdowns. Hourly follower activity needs at least 100 followers.
Save each day's rows as you fetch them. Anything older than 60 days is gone from the endpoint, so a report covering a quarter only works if you've been storing data all along.
How do I get TikTok video analytics?
Call /business/video/list/ and request the insight fields along with the post fields. TikTok's get post data reference says it returns "reach and engagement data for all the public video, photo, or text posts" of the account, including posts set to show only in ads.
| Field group | Examples | Scope |
|---|---|---|
| Post and counters | item_id, media_type, is_ad, caption, likes, comments, shares, favorites, video_views, reach |
video.list |
| Watch metrics | total_time_watched, average_time_watched, full_video_watched_rate, video_view_retention |
video.insights |
| Audience and sources | impression_sources, audience_countries, audience_genders, new_followers, profile_views |
video.insights |
Results are paginated with max_count. Three limits to plan for:
- 365 days. "Post data will stop updating 365 days after the post is published."
- 24 to 48 hours. Watch metrics such as
total_time_watchedupdate at T + 24-48 hrs, so a post from this morning has counters but no watch data. - Some metrics need more access. TikTok marks a few post metrics, such as website clicks, as available only to accounts with Advanced Access or Verified Business Accounts.
Can I use the TikTok Research API for analytics?
Not for a commercial product. The Research API is open to academic institutions in the US, EEA, UK, Canada, and Switzerland, plus some not-for-profit research bodies, and applicants must be independent of commercial interests. Its video query covers at most 30 days per request (end date no more than 30 days after the start date) and returns public counts, not an account owner's private insights.
Do I need TikTok's approval for the Accounts API?
Yes. TikTok's docs say that starting March 20, 2026, developers must complete the Accounts API Access Application Form before submitting a new app, or asking for more scopes, with the "TikTok Accounts" permission. That's on top of the developer app itself and the authorization flow with each account owner. We cover the steps in how to get TikTok API access.
How does Adeli return TikTok analytics?
Adeli wraps the Business API's insights in three endpoints, one per question. Adeli's TikTok API holds its own TikTok API for Business app, completed TikTok's app review, and manages each connected account's tokens. Adeli requests the insight scopes when an account connects. If a connection is missing one, the endpoint returns 422 connection_expired and reconnecting fixes it.
| Adeli endpoint | What it returns |
|---|---|
| TikTok account analytics | Profile, isBusinessAccount, and lifetime followers, following, likes, and videos |
| TikTok account insights | Daily views, profile views, engagement, follower gains and losses, clicks, hourly activity, and follower demographics |
| TikTok post insights | Counters, reach, watch time, retention, traffic sources, and audience for up to 20 posts |
A daily insights request for a 28-day window:
curl -G "https://app.tryadeli.com/api/v1/analytics/tiktok/account-insights" \
-H "Authorization: Bearer $ADELI_API_KEY" \
--data-urlencode "accountId=$ACCOUNT_ID" \
--data-urlencode "startDate=2026-09-01" \
--data-urlencode "endDate=2026-09-28"And post insights for specific posts:
curl -G "https://app.tryadeli.com/api/v1/analytics/tiktok/video-insights" \
-H "Authorization: Bearer $ADELI_API_KEY" \
--data-urlencode "accountId=$ACCOUNT_ID" \
--data-urlencode "videoIds=6990565363377392901"What we ran into while building these:
- TikTok's limits still apply.
startDatecan be at most 60 days ago,endDatehas to be before today in UTC, and the default is the last 28 complete days. nullmeans TikTok didn't report it. Business-only metrics, metrics that need 100 followers, and figures still inside the 24 to 48 hour lag come backnullor as an empty list, never0.- Leave out
videoIdsand post insights returns the account's most recent page of posts. - Don't store
coverImageUrl. It's a signed TikTok URL that expires, so fetch it again when you need it.
The same API key reads Instagram, Facebook, TikTok, and YouTube analytics and publishes to Facebook, Instagram, TikTok, YouTube, X, and Bluesky. A TikTok account counts as one connected account, and your first 3 connected accounts are free.