100 free credits on signup · no card required

TikTok Summary API

One URL in. Clean JSON out.

Give it a TikTok video URL and get back a short written summary plus three to five key points, as JSON. Under the hood it reads the video's captions, then runs one small-model pass over that text. 10 credits per video, and the result is cached forever because a published video's words do not change.

Credits 10 / video
Input ?url=
Cache
GET · BEARER
Request composing…
Cached forever
same bytes every call
Works with your stack
cURL Python Node.js Zapier n8n Make MCP
One key · one credit balance · plain REST

The difference

Stop parsing markup. Start reading fields.

On the left, what a headless browser hands you. On the right, what the endpoint hands you.

Scraping it yourself raw HTML · every call
<div class="css-1qb2n7d-DivItemContainer e148ts220" data-e2e="recommend-list-item"><div class="css-x6y88p-DivContainer"><a class="css-1g95xhm-AVideoContainer" href="/@tiktok/video/7231338487075638570"><video src="blob:https://www.tiktok.com/8f3a..."></video></a></div><div class="css-1f5bbrz-DivCardFooter"><strong data-e2e="video-views" class="css-ws4x78">1.2M</strong><strong data-e2e="like-count">88.4K</strong><strong data-e2e="comment-count">2,314</strong></div><h3 class="css-1yy6f0h">Behind the scenes of our new feature</h3><script id="__UNIVERSAL_DATA_FOR_REHYDRATION__" type="application/json">{"__DEFAULT_SCOPE__":{"webapp.video-detail"...
×Class names rotate; your selectors break weekly ×Headless browsers, proxies, blocks to babysit ×Counts arrive as strings, not numbers
One GET request 3 typed fields
{
"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"
}
Stable field names, documented nulls No proxies, no browser, no login session Counters are integers you can sort on

The payload

What comes back

{ data, meta?, request_id }
01 Three fields, nothing else

Three fields: a paragraph of roughly 150 words, an array of short bullet points, and the language code the transcript came back in. That is the whole object. There are no engagement counters, no author block and no timestamps here — this endpoint answers "what is this video about" and nothing else.

02 Built from the caption track

The summary is generated from the video's caption track, not from the on-screen description and not from the comments. If someone talks for ninety seconds about three supplement brands, the key points will name those brands. If the video is a silent transition edit set to music, there is nothing to summarize and the call fails rather than inventing content.

03 Cached forever, billed every time

Because a video's spoken content is fixed once posted, summaries are stored in the immutable cache class with no expiry. The first call for a given video does the real work and takes a few seconds; every call after that returns from cache in milliseconds. You are still charged 10 credits either way.

Field explorer Pick a key to see its type and the caveats.
string|null Nullable Per item
language

Language of the source transcript, as reported by the caption track. Null when the platform gave us no language tag, which happens more often than you would expect.

{
"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.",
"key_points": ["…"],
"language": "en"
}
Good fit

Reach for this when

  • Triaging a large list of videos before deciding which ones deserve a human watch — 200 summaries read faster than 200 videos, and you keep the URLs of the ones worth opening.
  • Building a searchable index of a creator's back catalogue where the full transcript is too long to embed but a 150-word gist is the right size for a vector store.
  • Brand and competitor monitoring, where you want to know whether a video that mentions you is a review, a complaint, or a passing reference, without a person watching each one.
  • Feeding a downstream classifier or tagging pipeline that needs compact text rather than a raw wall of caption lines.
  • Adding a one-line description to an internal dashboard next to the numbers from the TikTok Video Stats API.
Different job?

There's an endpoint for that

  • You need the exact words the creator said, for quoting, subtitle files or keyword matching — use the TikTok Transcript API, which returns the full text without a model in the middle.
  • You want views, likes, comments and shares. Those live on the TikTok Video Stats API and are not part of this response.
  • You want what viewers said rather than what the creator said — the TikTok Comments API returns comment text.
  • You are starting from a handle rather than a list of URLs. Pull the videos first with the TikTok Channel Videos API, then send the URLs here.

Pricing

Start free, pay for what comes back

One summary is 10 credits — about 5¢ on the monthly plan, so $5 covers roughly 100 videos; cached repeats cost the same, and calls that fail are never charged.

Estimate your bill
$29/ month
30 videos/day × 10 credits × 365 days = 109,500 credits/yr, or $348/yr on the annual plan plus 98 top-up blocks Whichever plan is cheaper for that volume, divided by 12.
30
102,000
Credits / yr 109,500
Plan Annual $54/yr
Per video

Estimate only, on a full-year basis. 10 credits per returned video. Monthly: $5 per 1,000 credits with $4/1,000 top-ups. Annual: $54 per 12,000 credits with $3/1,000 top-ups. We show whichever plan is cheaper for your annual volume, divided by 12. Failed calls are never charged; cache hits cost the same as fresh calls.

Free trial
100 credits

On signup, no card. Your key is on screen immediately.

Get your free API key
Monthly $5/mo 1,000 credits. Top-ups $4 per extra 1,000.
Annual $54/yr 12,000 credits. Top-ups $3 per extra 1,000.

Entry price, side by side

Cheapest way to start

Verified July 2026 from each vendor's live pricing page
ScraperSocial
$5 / mo 1,000 credits · 100 free credits, no card
Supadata
$5 / mo 300 credits, annual commitment · 100 free/mo
SocialKit
$29 / mo 12,000 credits · 20 free credits
Dumpling AI
$40 / mo Billed annually · free tier size unpublished
ScrapeCreators
$47 pack 25,000 credits, no subscription · 100 free once

Credits are not equivalent units across vendors — each meters differently. Price your own workload on both before deciding on entry price alone. At high volume, several of these are cheaper per credit than we are.

Engineering notes

Docs you can build on

We document exactly how every endpoint behaves — nulls, caching, billing — so what you ship on day one is still running in month six. No surprises, no support tickets.

Failed calls are never charged Public data only, no login session Built for parallel traffic

This runs on the caption track TikTok already carries for a video. There is no speech-to-text step in the current configuration, so a video with no captions produces a 404 with a message saying no transcript is available. TikTok auto-captions a large share of spoken content, which is why this endpoint is practical there and much less so on platforms that do not.

In practice the failures cluster in predictable places: music-only clips, videos with no speech at all, and some non-English uploads where the platform never generated a track. Failed calls are not charged, so a miss costs you latency and nothing else. If you are batching, expect a non-zero error rate and handle 404 as an ordinary outcome rather than an exception.

A language model compresses the transcript into the summary and the key points. It is a good compression, not a transcript, and it can smooth over a detail that mattered to you specifically. Do not quote the summary as if the creator said those words, and do not use it as evidence in anything that has consequences. Where accuracy matters, pull the transcript and read the source.

Numbers, prices and product names are the usual soft spots. If your pipeline depends on extracting a figure exactly, extract it from the transcript, not from the summary.

Once a video is summarized the result is stored with no expiry and returned to every later call for that same video. That is deliberate — the words in a published video do not change, so regenerating would burn credits for a near-identical paragraph.

It also means the summary is a product of the model and prompt in use at the time of the first call. We do not silently re-summarize old videos when the model changes. If a stored summary is genuinely wrong, ask us to invalidate it rather than expecting a repeat call to differ.

Summarizing a video requires a transcript, so the first summary call also produces and stores one. If you later call the TikTok Transcript API for the same video, it returns that stored transcript — you do not pay for the caption fetch twice in any meaningful sense, though each endpoint charges its own price per call.

Ordering matters slightly for latency, not correctness: whichever of the two you call first absorbs the fetch time, and the second one is fast.

Very long transcripts are truncated before the model sees them, so a forty-minute live replay is summarized from its opening stretch rather than end to end. For short-form TikTok content this practically never bites. If you are working with unusually long uploads, check the transcript length yourself before trusting the summary to be complete.

Questions

Frequently asked

Send a GET request to /v1/tiktok/summary with the video URL and your API key. The response is JSON containing a summary paragraph, an array of key points, and a language code. No TikTok developer account and no OAuth are involved — the endpoint reads the video's public caption track and summarizes it.

10 credits per video. Credits are $0.005 each on monthly billing and $0.0045 on annual, so one call is about five cents and $5 covers roughly 100 videos. Cached summaries cost the same as fresh ones. Calls that fail, including videos with no captions, are not charged.

No. The summary is built from the caption track TikTok already carries, and there is no speech-to-text fallback running right now. A video without captions returns a 404 saying no transcript is available, and you are not charged. Most spoken-word TikToks do carry captions, so the success rate is high, but music-only and silent clips will fail.

Good enough to decide whether a video is worth watching, not good enough to quote. The model reads the transcript and compresses it, which means specifics like prices, product names and numbers can drift. If exact wording matters for your use case, call the TikTok Transcript API and work from the source text instead.

Not in one call — they are separate endpoints with separate prices. They do share work, though. The first call to either one fetches and stores the transcript, so if you summarize a video and then request its transcript, the second call reads what is already stored and comes back quickly.

Yes, wherever TikTok carries a caption track for the video. The language field on the response tells you what the source transcript was in, though it comes back null when the platform provided no tag. The summary itself is generated from whatever text the captions contained.

The first call for a video takes a few seconds — it fetches the captions and then makes one model pass. Every later call for that same URL returns from cache in milliseconds, because summaries are stored permanently with no expiry. If you are processing a list, run the calls concurrently; each one is independent.

Next

Pairs well with

Full TikTok API reference →
/v1/tiktok/transcript
TikTok Transcript API Full transcript of a TikTok video with timestamped segments. 8 cr / video
/v1/tiktok/stats
TikTok Stats API Views, likes, comments and shares for a single TikTok video. 3 cr / video
/v1/instagram/summary
Instagram Summary API Short AI summary of an Instagram reel, built on its transcript. 42 cr / reel
/v1/twitter/summary
X/Twitter Summary API Short AI summary of a video posted on X, built on its transcript. 9 cr / video

More TikTok endpoints

/v1/tiktok/transcript Full transcript of a TikTok video with timestamped segments. 8 credits / video /v1/tiktok/stats Views, likes, comments and shares for a single TikTok video. 3 credits / video /v1/tiktok/comments Paginated comments on a TikTok video; charged per comment returned. 2 credits / comment /v1/tiktok/channel-stats Follower counts and profile metadata for a TikTok account. 3 credits / profile /v1/tiktok/channel-videos Latest videos from a TikTok account with per-video metrics. 3 credits / video /v1/tiktok/search Keyword search over TikTok videos. 4 credits / result /v1/tiktok/hashtag-search Videos posted under a TikTok hashtag. 3 credits / result /v1/tiktok/download Resolves a downloadable media URL for a TikTok video (URL expires within 1h). 7 credits / video

Try the TikTok Summary endpoint free

100 trial credits on signup — no card, key on screen immediately.

1 Sign up free no card · 30 seconds
2 Copy your key sk_live_...
3 GET the endpoint /v1/tiktok/summary
Get your free API key