TikTok API
Nine endpoints under /v1/tiktok/*. All are GET, authenticated with
Authorization: Bearer sk_live_..., and return the standard
{ data, meta?, request_id } envelope. TikTok is the richest surface: transcripts,
summaries, stats, comments, channel data, keyword and hashtag search, and downloads.
GET /v1/tiktok/transcript
Full transcript of a TikTok video with timestamped segments.
Credits: 8 per video · Caching: Cached forever
Parameters
| Name | Description | |
|---|---|---|
url | required | Public TikTok content URL. |
fresh | optional | true bypasses the cache at the same credit price. |
format | optional | json (default), csv or text where applicable. |
Request
curl "https://api.scrapersocial.com/v1/tiktok/transcript?url=https%3A%2F%2Fwww.tiktok.com%2F%40tiktok%2Fvideo%2F7231338487075638570" \ -H "Authorization: Bearer sk_live_..."Response
{ "data": { "platform": "tiktok", "entity_id": "7231338487075638570", "language": "en", "source": "subtitles", "text": "Today I want to show you the three settings everyone ignores when they set this up for the first time...", "segments": [ { "start": 0, "end": 3.2, "text": "Today I want to show you the three settings" }, { "start": 3.2, "end": 5.9, "text": "everyone ignores when they set this up" } ] }, "request_id": "req_01JZX4M8Q2TE9W"} GET /v1/tiktok/summary
Short AI summary of a TikTok video, built on its transcript.
Credits: 10 per video · Caching: Cached forever
Parameters
| Name | Description | |
|---|---|---|
url | required | Public TikTok content URL. |
fresh | optional | true bypasses the cache at the same credit price. |
format | optional | json (default), csv or text where applicable. |
Request
curl "https://api.scrapersocial.com/v1/tiktok/summary?url=https%3A%2F%2Fwww.tiktok.com%2F%40tiktok%2Fvideo%2F7231338487075638570" \ -H "Authorization: Bearer sk_live_..."Response
{ "data": { "platform": "tiktok", "entity_id": "7231338487075638570", "language": "en", "summary": "A quick tutorial covering three commonly missed configuration steps, with a before/after comparison and a call to check the pinned comment for the full guide." }, "request_id": "req_01JZX4M8Q2TE9W"} GET /v1/tiktok/stats
Views, likes, comments and shares for a single TikTok video.
Credits: 3 per video · Caching: Age-aware cache (15 min - 7 days)
Parameters
| Name | Description | |
|---|---|---|
url | required | Public TikTok content URL. |
fresh | optional | true bypasses the cache at the same credit price. |
format | optional | json (default), csv or text where applicable. |
Request
curl "https://api.scrapersocial.com/v1/tiktok/stats?url=https%3A%2F%2Fwww.tiktok.com%2F%40tiktok%2Fvideo%2F7231338487075638570" \ -H "Authorization: Bearer sk_live_..."Response
{ "data": { "platform": "tiktok", "entity_id": "7231338487075638570", "url": "https://www.tiktok.com/@tiktok/video/7231338487075638570", "author": { "handle": "tiktok", "name": "Example Creator" }, "posted_at": "2026-06-30T14:05:00Z", "metrics": { "views": 1204593, "likes": 88410, "comments": 2314, "shares": 10092 } }, "request_id": "req_01JZX4M8Q2TE9W"} GET /v1/tiktok/comments
Paginated comments on a TikTok video; charged per comment returned.
Credits: 2 per comment · Caching: Age-aware cache (15 min - 7 days) · Paginated (cursor/limit)
Parameters
| Name | Description | |
|---|---|---|
url | required | Public TikTok content URL. |
limit | optional | Items per page (default 20, max 50 sync; larger via async jobs). |
cursor | optional | Opaque cursor from the previous page's meta.cursor. |
fresh | optional | true bypasses the cache at the same credit price. |
format | optional | json (default), csv or text where applicable. |
Request
curl "https://api.scrapersocial.com/v1/tiktok/comments?url=https%3A%2F%2Fwww.tiktok.com%2F%40tiktok%2Fvideo%2F7231338487075638570" \ -H "Authorization: Bearer sk_live_..."Response
{ "data": [ { "id": "c_9021", "text": "This fixed it for me, thank you", "author": { "handle": "dev.casey" }, "likes": 412, "posted_at": "2026-07-01T09:12:00Z" }, { "id": "c_9022", "text": "Can you do a follow-up on the advanced settings?", "author": { "handle": "mariana.codes" }, "likes": 96, "posted_at": "2026-07-01T10:44:00Z" } ], "meta": { "count": 2, "limit": 50, "cursor": "eyJvZmZzZXQiOjUwfQ", "has_more": true }, "request_id": "req_01JZX4M8Q2TE9W"} GET /v1/tiktok/channel-stats
Follower counts and profile metadata for a TikTok account.
Credits: 3 per profile · Caching: Cached 12 hours
Parameters
| Name | Description | |
|---|---|---|
handle | required | Public TikTok handle (without @). |
fresh | optional | true bypasses the cache at the same credit price. |
format | optional | json (default), csv or text where applicable. |
Request
curl "https://api.scrapersocial.com/v1/tiktok/channel-stats?handle=tiktok" \ -H "Authorization: Bearer sk_live_..."Response
{ "data": { "platform": "tiktok", "handle": "tiktok", "name": "Example Creator", "bio": "Tutorials and behind-the-scenes. New video every Tuesday.", "verified": true, "metrics": { "followers": 2450318, "following": 132, "posts": 842 } }, "request_id": "req_01JZX4M8Q2TE9W"} GET /v1/tiktok/channel-videos
Latest videos from a TikTok account with per-video metrics.
Credits: 3 per video · Caching: Cached 3 hours (page 1: 1 hour) · Paginated (cursor/limit)
Parameters
| Name | Description | |
|---|---|---|
handle | required | Public TikTok handle (without @). |
limit | optional | Items per page (default 20, max 50 sync; larger via async jobs). |
cursor | optional | Opaque cursor from the previous page's meta.cursor. |
fresh | optional | true bypasses the cache at the same credit price. |
format | optional | json (default), csv or text where applicable. |
Request
curl "https://api.scrapersocial.com/v1/tiktok/channel-videos?handle=tiktok" \ -H "Authorization: Bearer sk_live_..."Response
{ "data": [ { "id": "7231338487075638570", "url": "https://www.tiktok.com/@tiktok/video/7231338487075638570", "caption": "Behind the scenes of our new feature", "posted_at": "2026-07-02T18:00:00Z", "metrics": { "views": 1204593, "likes": 88410, "comments": 2314 } }, { "id": "72313384870756385701", "url": "https://www.tiktok.com/@tiktok/video/7231338487075638570", "caption": "Behind the scenes of our new feature", "posted_at": "2026-07-02T18:00:00Z", "metrics": { "views": 1204593, "likes": 88410, "comments": 2314 } } ], "meta": { "count": 2, "limit": 20, "cursor": "eyJwYWdlIjoyfQ", "has_more": true, "item": "video" }, "request_id": "req_01JZX4M8Q2TE9W"} GET /v1/tiktok/search
Keyword search over TikTok videos.
Credits: 4 per result · Caching: Age-aware cache (15 min - 7 days) · Paginated (cursor/limit)
Parameters
| Name | Description | |
|---|---|---|
query | required | Search keywords. |
limit | optional | Items per page (default 20, max 50 sync; larger via async jobs). |
cursor | optional | Opaque cursor from the previous page's meta.cursor. |
fresh | optional | true bypasses the cache at the same credit price. |
format | optional | json (default), csv or text where applicable. |
Request
curl "https://api.scrapersocial.com/v1/tiktok/search?query=coffee%20brewing" \ -H "Authorization: Bearer sk_live_..."Response
{ "data": [ { "id": "v_77120", "url": "https://example-result-url", "caption": "How I plan a week of posts in 30 minutes", "author": { "handle": "plannerpro" }, "metrics": { "views": 88210, "likes": 5120 }, "posted_at": "2026-07-08T16:20:00Z" }, { "id": "v_771201", "url": "https://example-result-url", "caption": "How I plan a week of posts in 30 minutes", "author": { "handle": "plannerpro" }, "metrics": { "views": 88210, "likes": 5120 }, "posted_at": "2026-07-08T16:20:00Z" } ], "meta": { "count": 2, "limit": 20, "cursor": "eyJwYWdlIjoyfQ", "has_more": true, "item": "result" }, "request_id": "req_01JZX4M8Q2TE9W"} GET /v1/tiktok/hashtag-search
Videos posted under a TikTok hashtag.
Credits: 3 per result · Caching: Age-aware cache (15 min - 7 days) · Paginated (cursor/limit)
Parameters
| Name | Description | |
|---|---|---|
query | required | Search keywords. |
limit | optional | Items per page (default 20, max 50 sync; larger via async jobs). |
cursor | optional | Opaque cursor from the previous page's meta.cursor. |
fresh | optional | true bypasses the cache at the same credit price. |
format | optional | json (default), csv or text where applicable. |
Request
curl "https://api.scrapersocial.com/v1/tiktok/hashtag-search?query=coffee%20brewing" \ -H "Authorization: Bearer sk_live_..."Response
{ "data": [ { "id": "v_77120", "url": "https://example-result-url", "caption": "How I plan a week of posts in 30 minutes", "author": { "handle": "plannerpro" }, "metrics": { "views": 88210, "likes": 5120 }, "posted_at": "2026-07-08T16:20:00Z" }, { "id": "v_771201", "url": "https://example-result-url", "caption": "How I plan a week of posts in 30 minutes", "author": { "handle": "plannerpro" }, "metrics": { "views": 88210, "likes": 5120 }, "posted_at": "2026-07-08T16:20:00Z" } ], "meta": { "count": 2, "limit": 20, "cursor": "eyJwYWdlIjoyfQ", "has_more": true, "item": "result" }, "request_id": "req_01JZX4M8Q2TE9W"} GET /v1/tiktok/download
Resolves a downloadable media URL for a TikTok video (URL expires within 1h).
Credits: 7 per video · Caching: Cached 7 days (media URLs max 1h)
Parameters
| Name | Description | |
|---|---|---|
url | required | Public TikTok content URL. |
fresh | optional | true bypasses the cache at the same credit price. |
format | optional | json (default), csv or text where applicable. |
Request
curl "https://api.scrapersocial.com/v1/tiktok/download?url=https%3A%2F%2Fwww.tiktok.com%2F%40tiktok%2Fvideo%2F7231338487075638570" \ -H "Authorization: Bearer sk_live_..."Response
{ "data": { "platform": "tiktok", "entity_id": "7231338487075638570", "media_url": "https://cdn.example/video/master.mp4?sig=...", "mime_type": "video/mp4", "expires_at": "2026-07-15T13:00:00Z", "warning": "media_url is short-lived (max 1h) — download promptly or re-request." }, "request_id": "req_01JZX4M8Q2TE9W"}Related: Instagram API · Pagination · Caching & freshness