TikTok Comment API
Scrape TikTok Comment data with one API call. Resolves a single TikTok comment to a live comment object (current like count, reply count, pinned flag, author, timestamp) without you paginating the comment section. Pass `comment_url` (a `.../@{handle}/video/{id}?comment_id={cid}` link, an `m.tiktok.com` share link, or a `vm.tiktok.com`/`.../t/` shortlink — resolved automatically) OR `post_url` + `comment_id`. For a reply, also pass `parent_comment_id` (a reply URL does not carry its parent). Instead of a comment id you can search the comment section: `author_username` (find a specific author's comments) or `text_contains` (exact snippet) return up to `max` matches. The response includes a `lookup.position_hint` — pass it back on a later lookup of the same comment to make the re-check nearly free. Flat 2 credits (6 with `deep_scan=true`, which widens the scan budget); a not-found returns 404 and is fully refunded.
Last updated August 2026Maintained by the SocialCrawl team
Returns one TikTok comment with its current like count, reply count, pinned flag, author, and timestamp, found by link, by id, or by its text.
Use it to re-check a single known comment without paging the whole section; use post/comments when you want the section itself.
Searching 48 platforms in parallel
What can you do with the Comment API?
The Comment endpoint gives you structured TikTok data with computed fields in a single request. No scraping infrastructure to build or maintain.
Example Request
curl -H "x-api-key: YOUR_API_KEY" \
"https://www.socialcrawl.dev/v1/tiktok/comment"import requests
response = requests.get(
"https://www.socialcrawl.dev/v1/tiktok/comment",
headers={"x-api-key": "YOUR_API_KEY"},
)
data = response.json()const response = await fetch(
"https://www.socialcrawl.dev/v1/tiktok/comment",
{
headers: { "x-api-key": "YOUR_API_KEY" },
},
);
const data = await response.json();Parameters
| Parameter | Required | Description |
|---|---|---|
| comment_url | No | A TikTok comment URL: `https://www.tiktok.com/@{handle}/video/{videoId}?comment_id={cid}`, the `m.tiktok.com/v/{id}.html?...&share_comment_id={cid}` share form, or a `vm.tiktok.com/{code}` / `tiktok.com/t/{code}` shortlink. The `cid`/`comment_id`/`share_comment_id` query value may be numeric or the base64 form TikTok's share sheet emits (`?cid=NzY1...`) — both are accepted; base64 is decoded automatically. Mutually exclusive with `post_url`+`comment_id`. |
| post_url | No | The post URL (`https://www.tiktok.com/@{handle}/video/{videoId}`). Combine with `comment_id`, or with `author_username`/`text_contains` for a search. |
| comment_id | No | The target comment's numeric id (the `cid` from the comments endpoint). Requires `post_url`. Note that TikTok share links carry a base64-encoded `cid` — pass such a link as `comment_url` instead (decoded automatically), or base64-decode the value to its digits before passing it here. |
| parent_comment_id | No | The parent comment's numeric id — supply this when the target is a reply so it can be resolved directly via the native replies endpoint. |
| author_username | No | Return up to `max` comments authored by this username (no comment id needed). Mutually exclusive with `text_contains` and any comment id. |
| text_contains | No | Return up to `max` comments whose text contains this snippet (case-insensitive). Mutually exclusive with `author_username` and any comment id. |
| deep_scan | No | Widen the scan budget for deeply-buried comments (raises the page ceiling and deadline). Bills 6 credits instead of 2. |
| position_hint | No | Opaque token from a prior lookup's `lookup.position_hint`. Passing it back probes the comment's last-known location first, making a re-check of an already-found comment cheap. |
| max | No | For `author_username`/`text_contains` search: max matches to return (1–20, default 5). |
What does the TikTok Comment API return?
Every response follows one unified schema. Here is a real, unmodified response body, so you can see the exact fields you get back before spending a credit.
Example response
{
"success": true,
"platform": "tiktok",
"endpoint": "/v1/tiktok/comment",
"data": {
"comment": {
"id": "7654640784985211670",
"url": "https://www.tiktok.com/@mrbeast/video/7654638524729216287?comment_id=7654640784985211670",
"parent_id": null,
"post_id": "7654638524729216287",
"text": "[ステッカー] Usain bolt prime",
"author": {
"username": "viktorpalmcrantz",
"display_name": "Coolpro1023",
"avatar_url": "https://p19-common-sign.tiktokcdn-us.com/tos-maliva-avt-0068/aefcdd0d1f58ac22f5dec6c0835a48df~tplv-tiktokx-cropcenter:100:100.jpg?dr=9640&refresh_token=eb12c336&x-expires=1783202400&x-signature=YDkr9lrMW0EuDYlWhzeOseHRjGg%3D&t=4d5b0474&ps=13740610&shp=30310797&shcp=ff37627b&idc=useast5",
"verified": false
},
"engagement": {
"likes": 20370,
"replies": 49
},
"flags": {
"pinned": false,
"deleted": false
},
"published_at": "2026-06-23T17:15:54.000Z",
"ext": {
"published_at_epoch": 1782234954
}
},
"lookup": {
"found_via": "id_scan",
"pages_fetched": 5,
"comments_scanned": 100,
"sort_basis": "top",
"position_hint": "eyJ2IjoxLCJwbGF0Zm9ybSI6InRpa3RvayIsImN1cnNvciI6MH0"
}
},
"credits_used": 2,
"credits_remaining": 9999,
"request_id": "req-8Kq2ZmR4vT9xLb3P",
"cached": false
}Live sample illustrating the unified response shape. Field values reflect the record you query.
How does the TikTok Comment API work?
Send a GET request with your API key and get back clean, structured JSON in our unified schema. Supported computed fields are populated when the source provides the required inputs.
Method
GET
Response
JSON
How do you scrape social media data in seconds?
The fastest social media scraping API for developers. Scrape profiles, posts, comments, and analytics from 48 platforms covering 10B+ monthly active users.
One schema, every platform
Query 48 platforms with identical response structures. Write your integration once.
Computed fields, not just scraped
When an endpoint supports these metrics and the source provides the required inputs, the normalized record includes engagement_rate, estimated_reach, content_category, and language — ready to use.
See your data before you code
Visual Data Explorer — paste any URL, get rich result cards, sortable tables, CSV export.
import requests
response = requests.get(
'https://www.socialcrawl.dev/v1/tiktok/profile',
params={'handle': 'charlidamelio'},
headers={'x-api-key': 'sc_YOUR_API_KEY'}
)
data = response.json(){
"success": true,
"platform": "tiktok",
"data": {
"author": {
"username": "charlidamelio",
"followers": 152400000
},
"engagement": {
"likes": 12400000000,
"engagement_rate": 0.087
},
"metadata": {
"language": "en",
"content_category": "lifestyle"
}
}
}Ready to scrape TikTok Comment data?
Get your API key and start pulling TikTok data in under 60 seconds.
