TikTok Video Detail API
Get one video from its link, or its ID and handle: caption, author, plays, likes, comments, shares and post time.
- 1 credit per call
- Failed calls are free
- Updated
- tiktok.post.get
{ "video": { "like_count": 21300, "comment_count": 5615, "author_handle": "tiktok", "create_time": 1788307388, "description": "this summer was all about the classic hits. here's to the ones that never got away 💿 #SongsofTheSummer2026", "id": "7680721699171601694", "play_count": 460200, "share_count": 2289 }}
What you send
The input
object of the request, with every field the endpoint accepts.
| Field | Type | Required | What it does | Example |
|---|---|---|---|---|
| handle | string | one of | The creator's handle, sent with the video ID. | tiktok |
| url | string | one of | The video's link. | |
| video_id | string | one of | The video's ID, as an alternative to the link. Send it with the handle. | 7680721699171601694 |
Fields it returns
What each record in the response holds, with the values from the sample above.
| Field | Type | What it is | Example |
|---|---|---|---|
| video | object | The video. | 8 fields |
| video.description | string | The video's caption. | this summer was all about the classic hits. here's to the ones … |
| video.author_handle | string | The posting account's handle. | tiktok |
| video.play_count | integer | Views, as TikTok shows them. | 460,200 |
| video.like_count | integer | Likes, as TikTok shows them. | 21,300 |
| video.comment_count | integer | Comments, as TikTok shows them. | 5615 |
| video.share_count | integer | Shares, as TikTok shows them. | 2289 |
| video.create_time | integer | When the video was posted, as a Unix time in seconds. | 1,788,307,388 |
| video.id | string | TikTok's ID for the video. | 7680721699171601694 |
Call it from your code, or ask your agent
Set UPSCRAPE_API_KEY to your key and copy a working request.
curl --request POST \ --url https://data.upscrape.com/execute \ --header "Authorization: Bearer $UPSCRAPE_API_KEY" \ --header "Content-Type: application/json" \ --header "Prefer: wait=30" \ --data '{ "capability": "tiktok.post.get", "input": { "handle": "tiktok", "video_id": "7680721699171601694" }}'
import jsonimport osimport requestspayload = json.loads(r'''{ "capability": "tiktok.post.get", "input": { "handle": "tiktok", "video_id": "7680721699171601694" }}''')response = requests.post( "https://data.upscrape.com/execute", headers={ "Authorization": f"Bearer {os.environ['UPSCRAPE_API_KEY']}", "Content-Type": "application/json", "Prefer": "wait=30", }, json=payload,)response.raise_for_status()print(json.dumps(response.json(), indent=2))
const response = await fetch("https://data.upscrape.com/execute", { method: "POST", headers: { "Authorization": `Bearer ${process.env.UPSCRAPE_API_KEY}`, "Content-Type": "application/json", "Prefer": "wait=30", }, body: JSON.stringify({ "capability": "tiktok.post.get", "input": { "handle": "tiktok", "video_id": "7680721699171601694" }}),});if (!response.ok) { throw new Error(`Upscrape request failed: ${response.status}`);}console.log(JSON.stringify(await response.json(), null, 2));
https://data.upscrape.com/mcp
Using Upscrape, open tiktok.com/@tiktok/video/7680721699171601694 and tell me its plays, likes, comments and shares.
More from the TikTok API
- TikTok User Profile Detail API1 credit
- TikTok User Videos API1 credit
- TikTok Video Comments API1 credit
- TikTok Comment Replies API1 credit
- TikTok Keyword Video Search API1 credit
- TikTok Top Search Results API1 credit
- TikTok Hashtag Videos API1 credit
- TikTok Video Transcript API1 credit
- TikTok Shop Product Detail API1 credit
- TikTok Shop Product Search API1 credit
- TikTok Shop Store Products API1 credit
- TikTok Shop Product Reviews API1 credit
- TikTok Song Detail API1 credit
- TikTok Song Videos API1 credit
- TikTok Collection Videos API1 credit
- TikTok Trending Feed API1 credit
- TikTok Suggestions Search API1 credit
- TikTok User Live Status API1 credit
- TikTok Live Room Detail API1 credit
- TikTok User Followers API1 credit
- TikTok User Following API1 credit
The same data from other platforms
TikTok Video Detail API FAQ
The short answers. The docs have the long ones.
How much does the TikTok Video Detail API cost?
1 credit per successful call, shown before it runs. You buy credits once, and paid credits never expire.
What do I send?
Send url or video_id or handle. The input fields below list every option with its type and limits.
Do I need a TikTok login?
No. It reads public TikTok data; nothing runs on your account.
Can my AI agent call it?
Yes, over MCP: the agent finds tiktok.post.get, checks its price and runs it with the same credits as the REST API.
Your first TikTok call is free.
Up to 100 free credits to start, no card needed.