1. Core TikTok Analytics Metrics Available via REST API
Unlike web scrapers that only capture surface-level view counts from HTML cards, TikTokAPI.io returns the complete upstream aweme statistics object for every video, creator, hashtag, and sound.
| Metric Category | JSON Field Paths | Endpoint | Cost (Unified Credits) |
|---|---|---|---|
| Creator Account KPIs | stats.followerCount, stats.heartCount, stats.videoCount, stats.followingCount, user.verified | GET /v1/user/info | 10 Credits / profile ($0.001) |
| Per-Video Engagement Counters | play_count, digg_count, comment_count, share_count, collect_count (saves/bookmarks), download_count | GET /v1/user/posts · /v1/video/search | 2 Credits / video ($0.20 / 1K videos) |
| Viral Velocity & Cadence | create_time (Unix epoch), duration (seconds), is_top (pinned post), region (ISO country) | GET /v1/user/posts | Included in video payload |
| Audience & Follower Graph | followers[].unique_id, followers[].follower_count, followers[].region | GET /v1/user/followers | 1 Credit / follower ($0.10 / 1K users) |
| Comment Sentiment Corpus | comments[].text, comments[].digg_count, comments[].reply_total, comments[].user | GET /v1/comment/list | 1 Credit / comment ($0.10 / 1K comments) |
| Commercial Ad Performance | ctr, impression_tier, like_count, objective, landing_page | GET /v1/ads/top/ads | 10 Credits / ad ($1.00 / 1K ads) |
2. Standard Formulas for Influencer Vetting & Viral Detection
When evaluating creators or tracking brand campaigns in Python, raw follower counts are easily inflated by dormant accounts. Production analytics platforms compute four normalized ratios from the last 35 posts returned by a single GET /v1/user/posts call:
- Engagement Rate by Views (ERV): (digg_count + comment_count + share_count + collect_count) / play_count. Benchmark: 4.5%–8.0% is healthy; >10% indicates strong algorithmic amplification.
- Save-to-View Ratio (High-Intent Signal): collect_count / play_count. TikTok's recommendation engine weights bookmarks (collect_count) and shares (share_count) significantly higher than passive likes.
- Views-to-Followers Ratio (Reach Efficiency): median(play_count of last 20 non-pinned videos) / stats.followerCount. Identifies creators whose recent videos actively reach the For You Page (>15%) versus stagnant accounts (<2%).
- Views Per Hour (Viral Velocity): play_count / ((now_epoch - create_time) / 3600). Detects breakout videos within the first 6–24 hours of publication.
3. Production Python TikTok Analytics Pipeline (httpx / requests)
The example below fetches a creator's profile and their latest 35 videos in two API calls (total cost: 80 Credits = $0.008), filters out pinned posts, and calculates median views, engagement rate by views, and save-to-view ratio.
Compute Creator Analytics & Engagement Rate in Python, cURL & Node.js
Fetches GET /v1/user/info and GET /v1/user/posts to compute real-time engagement metrics.
# 1. Fetch creator profile KPIs (10 Credits)
curl -s "https://api.tiktokapi.io/v1/user/info?unique_id=tiktok" \
-H "x-api-key: tk_live_your_api_key" | jq '.data.stats'
# 2. Fetch latest 35 videos with full engagement counters (2 Credits/video)
curl -s "https://api.tiktokapi.io/v1/user/posts?unique_id=tiktok&count=35" \
-H "x-api-key: tk_live_your_api_key" | jq '.data.videos[0] | {video_id, play_count, digg_count, comment_count, share_count, collect_count}'Interactive Engineering Workbench · GET /v1/user/info
Verify real-time latency, pagination math & JSON schema
Frequently Asked Questions
- Can I fetch historical daily follower growth with the TikTok Analytics API?
- TikTok's public profile object exposes real-time point-in-time counters (followerCount, heartCount, videoCount). To build daily time-series growth charts, poll GET /v1/user/info once per day per tracked creator (10 Credits = $0.001 per creator/day, or $0.03/month per creator) and store the snapshot in PostgreSQL or ClickHouse.
- Does the API return bookmark / save counts (collect_count) and share counts?
- Yes. Every video object returned by /v1/video/detail, /v1/user/posts, /v1/video/search, and /v1/challenge/posts includes play_count, digg_count, comment_count, share_count, collect_count (bookmarks/saves), and download_count.
- How fast can I poll thousands of creators in Python?
- Paid plans support 120 RPM (Starter), 300 RPM (Pro), and 600 RPM (Business). At 600 RPM, a Python asyncio/httpx worker can refresh full 35-video analytics for 300 creators per minute (18,000 creators per hour).