# TikTok Video Screen Text API (https://www.socialcrawl.dev/platforms/tiktok/video-screen-text) > Extracts the text shown ON a TikTok post itself: the overlay captions creators put on screen, which the regular caption and transcript never carry. Two layers are merged: native text-sticker data (present when the creator used TikTok's built-in text tool) and AI OCR of the post's images, which also catches text burned in with editors like CapCut that no data provider returns. What the OCR layer reads depends on the post. On a video, the cover frame by default, so text that appears later in the video is not read; with `frames=all` the whole video is read instead, up to 3 minutes (180 seconds), and the response adds `subtitles` (on-screen captions of the speech, kept apart from `texts`), a `timeline` of every text block with `at_seconds`, the second it first appears, and `kind` (text or subtitle), and `duration_seconds`. On a photo post (pass its `/photo/` link), every slide in order, 10 slides a call: the first 10 by default, and the next 10 with `slide_offset=10`; a longer photo post's response carries a warning giving its full slide count, and `slide_offset` and `next_slide_offset` say where this call started and which offset reads the rest (null when every slide has been read). `texts` is the deduplicated union in reading order; `native_texts` and `ocr_texts` expose each layer separately and `source` says which layers produced data. On a photo post, `images` lists each slide read with its own `texts` and its 0-based `index`, so you know which slide said what. A post with no on-screen text returns an empty `texts` array (that is a real answer, not an error). Costs 5 credits for a video's cover or for each call on a photo post (10 slides), and 10 credits for a whole video with `frames=all`; auto-refunds when the post lookup or the whole extraction fails, or when a parameter does not fit the post. TL;DR: `GET /v1/tiktok/video/screen-text` costs 5 credits a call, the same for a video's cover or a photo post page of 10 slides. 10 credits with `frames=all` on a video; when the post is a photo post, or the video cannot be read and the cover is read instead, the call costs 5 and the response says so in `warnings`. Refunded when the post cannot be found, when nothing on it could be read, or when a parameter does not fit the post (a `slide_offset` past the last slide or on a video, a video over 180 seconds with `frames=all`). and returns SocialCrawl's unified JSON schema. Single x-api-key auth, 100 free credits on signup. ## Parameters | Parameter | Required | Description | | --- | --- | --- | | `url` | yes | Full URL of the TikTok video or photo post (a `/video/` or `/photo/` link) | | `frames` | no | What to read on a video. `cover` (the default) reads the cover frame for 5 credits. `all` reads the whole video, up to 180 seconds, for 10 credits, and adds `subtitles`, `timeline` and `duration_seconds`. Has no effect on photo posts, which are read as usual for 5 credits. (cover \| all) | | `slide_offset` | no | Photo posts only: the 0-based index of the first slide to read, 10 slides a call. Default 0. `slide_offset=10` reads slides 11 to 20. Each slide in `images` keeps its index in the whole post, and `next_slide_offset` gives the value for the next call. | ## Code example ```bash curl -G "https://www.socialcrawl.dev/v1/tiktok/video/screen-text" \ --data-urlencode "url=https://www.tiktok.com/@stoolpresidente/video/7499229683859426602" \ -H "x-api-key: sc_YOUR_API_KEY" ``` ## FAQ ### What does the TikTok Video Screen Text API return? Returns the text shown on the video itself: native text stickers plus AI OCR of the cover frame, so burned-in editor captions are caught too. The response uses the same JSON envelope as every SocialCrawl endpoint, with the data, credits_used and request_id fields. ### When should I use the TikTok Video Screen Text endpoint? Use it for the on-screen overlay text; the caption lives on post and the spoken words on post/transcript. ### How much does the TikTok Video Screen Text API cost? The price depends on the request, from 5 to 10 credits per call. Every new account gets 100 free credits. Credits for failed or empty calls are refunded automatically, and there is no subscription. ### What parameters does the TikTok Video Screen Text API need? The one required parameter is url (full URL of the TikTok video or photo post). It also accepts 2 optional parameters, all listed on this page. ### How do I call the TikTok Video Screen Text API? Send a GET request to https://www.socialcrawl.dev/v1/tiktok/video/screen-text?url=https%3A%2F%2Fwww.tiktok.com%2F%40stoolpresidente%2Fvideo%2F7499229683859426602 with your API key in the x-api-key header. An Authorization: Bearer header works too. See the full TikTok API: https://www.socialcrawl.dev/platforms/tiktok ## Pricing - Standard endpoints: 1 credit per call - Advanced endpoints: 5 credits per call - Premium endpoints: 10 credits per call - 100 free credits on signup, no credit card required. Cached responses cost 0 credits. Credit packs never expire. - Full pricing: https://www.socialcrawl.dev/pricing ## Explore with AI Questions this API answers, phrased for an AI assistant: - What does the SocialCrawl TikTok Video Screen Text API return? - How do I get TikTok Video Screen Text data with the SocialCrawl API?