Tokfluence
Tokfluence
API Docs
API reference

Posts

Posts are individual TikTok videos with stats, captions, hashtags, mentions, and music. Comments are paginated separately.

GET/v1/posts/:id#

Reads a single post from the local cache. :id is the TikTok video ID (the trailing number from a TikTok URL).

bash
curl "https://developers.tokfluence.com/v1/posts/7234567890123456789" \
  -H "Authorization: Bearer $TOKEN"

Response

json
{
  "data": {
    "post_id": "7234567890123456789",
    "url": "https://www.tiktok.com/@wwe/video/7234567890123456789",
    "caption": "Big match tonight #wwe #wrestling",
    "published_at": "2026-04-12T19:00:00Z",
    "cover_url": "https://...",
    "duration": 28,
    "views": 1240000,
    "likes": 84000,
    "comments": 1900,
    "shares": 5400,
    "saves": 720,
    "hashtags": ["wwe", "wrestling"],
    "mentions": [],
    "music": {
      "title": "original sound",
      "author": "wwe",
      "original": true
    },
    "is_sponsored": false
  }
}
Cached only
This endpoint reads from the local index; it does not trigger a fresh analysis. If you need fresh data, submit the post URL to POST /v1/posts/analyze first, then read.

GET/v1/posts/:id/comments#

Cursor-paginated comments for a post.

Query parameters

ParamTypeNotes
cursorintNumber of comments to skip. Defaults to 0.
limitintDefaults to 50, max 200.
bash
curl "https://developers.tokfluence.com/v1/posts/7234567890123456789/comments?limit=20" \
  -H "Authorization: Bearer $TOKEN"

Response

json
{
  "data": [
    {
      "comment_id": "7234567890123456789-c-1",
      "text": "Let's go!",
      "published_at": "2026-04-12T19:08:11Z",
      "likes": 42,
      "reply_count": 3,
      "parent_comment_id": null,
      "author_username": "fan1",
      "author_picture": "https://..."
    }
  ],
  "meta": {
    "total": 1900,
    "next_cursor": 20
  }
}

Loop until meta.next_cursor is null.

POST/v1/posts/analyze#

Submits a batch of TikTok post URLs to the analysis pipeline. The pipeline writes results back to the index, so you can read them via GET /v1/posts/:id after a short delay.

Live data — slower and more expensive than cached endpoints
Each URL fires a real fetch through our proxy network, so this is the most expensive endpoint we offer (25 credits per URL). A batch can take several seconds per URL on cold cache while we crawl. Plan accordingly:
  • Dedupe URLs client-side. We can't pre-check cache cheaply, so duplicates are billed.
  • Cap concurrent calls. The per-key throttle still applies on top of this.
  • Use GET /v1/posts/:id first if you only need cached data.

Body

ParamTypeNotes
urlsrequiredstring[]Up to 50 TikTok video URLs.
forceboolIf true, bypasses the freshness window and re-analyzes even recent posts.
bash
curl -X POST "https://developers.tokfluence.com/v1/posts/analyze" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "urls": [
      "https://www.tiktok.com/@wwe/video/7234567890123456789",
      "https://www.tiktok.com/@wwe/video/7234567890987654321"
    ]
  }'

Response

json
{
  "data": [
    { "url": "...", "postId": "7234567890123456789", "status": "analyzed" },
    { "url": "...", "postId": "7234567890987654321", "status": "fresh" }
  ],
  "meta": {
    "submitted": 2,
    "cost": 50
  }
}