ScavioScavio
Pricing
Tools
Sign InsGet Startedg
Blog
TikTok6 min readOct 27, 2026

How to Get TikTok Video and Comment Data Through an API

Use Scavio's TikTok API: one POST returns a video's views, likes, saves and shares, another returns 50 comments with likes and reply counts. 1 credit a call.

Scavio Team

Oct 27, 2026

Try the TikTok API free
scavio
Comments / Social listening
TikTok

To get TikTok video and comment data programmatically, use Scavio's TikTok API. POST /api/v1/tiktok/video with a video id returns the video's description, author, sound and statistics (views, likes, saves, shares and comment count); POST /api/v1/tiktok/video/comments returns up to 50 comments a call with text, likes, reply counts and timestamps, and /video/comments/replies opens any thread. Hashtag and search endpoints find the videos, and /video/transcript returns what is said in them. Every call is 1 credit, about $0.002 on the Growth plan billed yearly.

TikTok's own APIs do not cover this for most teams: the Research API is for approved non-commercial researchers, and the Display API reads only the videos of a user who logs in to your app, with no comments at all. Rejected for TikTok's Research API? covers who qualifies.

Step 1: Find videos by hashtag or keyword

Resolve the hashtag name to its id first:

Bash
curl -s https://api.scavio.dev/api/v1/tiktok/hashtag \
  -H "Authorization: Bearer $SCAVIO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"hashtag_name": "booktok"}'

On October 27, 2026, data.challengeInfo.challenge.id came back as 1622962893630470, and statsV2 reported 88,078,371 videos and 562,242,547,824 views. Pass the id to hashtag videos:

Bash
curl -s https://api.scavio.dev/api/v1/tiktok/hashtag/videos \
  -H "Authorization: Bearer $SCAVIO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"hashtag_id": "1622962893630470"}'

Each page returned 20 videos in data.aweme_list, with cursor and has_more for the next page. Three pages gave 60 rows and 57 distinct videos, so key your store on aweme_id. The feed is ranked by TikTok, not sorted by date: those 57 ran from August 2021 to the day we pulled them. For a keyword instead of a hashtag, send {"keyword": "book recommendations"} to /api/v1/tiktok/search/videos; it returned 12 videos with the same statistics, each under search_item_list[].aweme_info.

Step 2: Read one video's statistics

Bash
curl -s https://api.scavio.dev/api/v1/tiktok/video \
  -H "Authorization: Bearer $SCAVIO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"video_id": "7456818947573222689"}'

The response sits under data.aweme_detail. Trimmed to the fields most pipelines keep, as captured:

JSON
{
  "aweme_id": "7456818947573222689",
  "create_time": 1736175971,
  "region": "GB",
  "author": { "unique_id": "fionalucasauthor" },
  "music": { "title": "original sound - fionalucasauthor", "id_str": "7456819020759730977" },
  "statistics": {
    "play_count": 1269637,
    "digg_count": 47880,
    "comment_count": 4445,
    "share_count": 2126,
    "collect_count": 6998,
    "download_count": 371,
    "whatsapp_share_count": 285
  }
}

digg_count is likes and collect_count is saves. Across the 57 #BookTok videos the median video drew 91.5 likes, 7.1 saves, 6.0 shares and 0.71 comments per 1,000 views, so saves and shares carry more signal than comment counts; the chart is in the best TikTok video and comment APIs. video.duration is in milliseconds (110300 here).

Step 3: Pull the comments

Bash
curl -s https://api.scavio.dev/api/v1/tiktok/video/comments \
  -H "Authorization: Bearer $SCAVIO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"video_id": "7456818947573222689", "count": 50}'

count takes 1 to 50 and defaults to 20; a 50-row page took 0.8 s server time. The first page also reports total (4,461 here). One comment, trimmed (commenter fields omitted):

JSON
{
  "cid": "7462505518641660715",
  "text": "Helpful tips! Thanks!",
  "digg_count": 94,
  "reply_comment_total": 0,
  "create_time": 1737499986,
  "comment_language": "en",
  "is_author_digged": true,
  "is_high_purchase_intent": false
}

Send the returned cursor back for the next page and stop when has_more is 0. The cursor is an offset into a ranked list that keeps moving as people like and reply, so deduplicate on cid. is_author_digged tells you the creator liked the comment, and is_high_purchase_intent is TikTok's own flag for comments that read like buying interest. Our post on why a TikTok comment pull returns about half the count measures how much of total is replies.

Step 4: Open the replies

Bash
curl -s https://api.scavio.dev/api/v1/tiktok/video/comments/replies \
  -H "Authorization: Bearer $SCAVIO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"video_id": "7456818947573222689", "comment_id": "7457546236569355041"}'

Replies are not inlined in the comments payload. The comment id above belongs to the video's top comment (162 likes), which reported 11 replies; this returned the 10 still visible, in the same comment shape, including one from the creator. Call it only where reply_comment_total is above zero.

Step 5: Get what the video says

Bash
curl -s https://api.scavio.dev/api/v1/tiktok/video/transcript \
  -H "Authorization: Bearer $SCAVIO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"video_id": "7456818947573222689"}'

The 110-second video returned available: true, language_code: "en", is_auto_generated: false, 38 timestamped segments and a 340-word text. The first segment, as captured:

JSON
{ "start": 0.08, "end": 3.92, "text": "so if you're new to BookTok and you want to know how do you join BookTok" }

Pair the transcript with the comments and you have both sides of the conversation for an LLM to summarise.

All the endpoints for this job

EndpointWhat it returnsCredits
/api/v1/tiktok/hashtagHashtag id, description, video and view counts1
/api/v1/tiktok/hashtag/videos20 videos a page under a hashtag, with statistics1
/api/v1/tiktok/search/videosVideos for a keyword, with statistics1
/api/v1/tiktok/videoOne video: description, author, sound, full statistics1
/api/v1/tiktok/video/commentsUp to 50 comments a page, with likes and reply counts1
/api/v1/tiktok/video/comments/repliesReplies under one comment1
/api/v1/tiktok/video/transcriptTimestamped transcript and full text1
/api/v1/tiktok/user/postsA creator's videos, keyed on sec_uid1

Every TikTok endpoint costs 1 credit; the full list of 24 is on the TikTok API page.

Getting started

  1. Sign up at dashboard.scavio.dev/sign-up: 50 free credits, no card required.
  2. Copy your API key from the dashboard.
  3. Send a POST to /api/v1/tiktok/video/comments with a video id and your key in the Authorization header.

Try the TikTok API free in the playground first, or call it from Claude and other agents through the MCP server.

Reference: TikTok API overview · video · comments · replies · transcript · hashtag videos

Frequently asked questions

How do I get all the comments on a TikTok video?

Call Scavio's /api/v1/tiktok/video/comments with the video id and count 50, then pass the returned cursor back until has_more is 0. Deduplicate on cid, because the list is ranked and can shift between pages, and call /api/v1/tiktok/video/comments/replies for any comment whose reply_comment_total is above zero.

What is the TikTok video id and where do I find it?

It is the long number at the end of a video URL, after /video/. In https://www.tiktok.com/@fionalucasauthor/video/7456818947573222689 the id is 7456818947573222689. Hashtag, search and user-post responses return it as aweme_id on every row.

Can I get TikTok saves and shares through an API?

Yes. Scavio's video, hashtag videos, search and user posts endpoints return a statistics object with play_count, digg_count (likes), comment_count, share_count, collect_count (saves) and download_count for every video. TikTok's own Display API returns view, like, comment and share counts only for the logged-in user's videos.

Can I get the transcript of a TikTok video?

Yes, for videos that carry a caption track. POST a video id or URL to /api/v1/tiktok/video/transcript and get timestamped segments plus the full text, with the language and whether the captions were auto-generated. A video with no speech returns available: false.

How much does TikTok comment data cost?

Every TikTok call on Scavio is 1 credit, and a comments call returns up to 50 comments, so 1,000 comments take 20 credits: about $0.04 on the Growth plan billed yearly and about $0.09 on the $30 monthly Project plan. New accounts get 50 free credits with no card.

TikTok videos and comments as JSON

  • Video stats, comments and replies
  • Transcripts and hashtag feeds
  • 1 credit a call, no developer application
Try the TikTok API free

50 free credits, no credit card

On this page

  1. Step 1: Find videos by hashtag or keyword
  2. Step 2: Read one video's statistics
  3. Step 3: Pull the comments
  4. Step 4: Open the replies

Related articles

View all
  • scavio
    Comparison / Comments
    TikTok
    5 Best TikTok Video and Comment APIs in 2026: Why Scavio Costs 4 Cents per 1,000 Comments
  • scavio
    Research / Comments
    TikTok
    Rejected for TikTok's Research API? Here Is Who Qualifies and How to Get the Data Anyway
ScavioScavio

One scraper API for every social, search, e-commerce and real estate platform. Built for AI agents.

Product

  • Features
  • Pricing
  • Dashboard
  • Affiliates

Developers

  • Documentation
  • API Reference
  • Quickstart
  • MCP Integration
  • Python SDK

Alternatives

  • Tavily Alternative
  • SerpAPI Alternative
  • Firecrawl Alternative
  • Exa Alternative
  • Serper Alternative
  • Tavily vs Scavio
  • SerpAPI vs Scavio
  • All alternatives
  • Compare Scavio vs alternatives

Search APIs

  • Google Search API
  • Amazon Product API
  • YouTube API
  • Reddit API
  • Walmart Product API
  • TikTok API
  • Instagram API

Tools

  • All Tools

© 2026 Scavio. All rights reserved.

Featured on TAAFT
Terms of ServicePrivacy Policy