Sourcelane

TikTok On-Screen Text Extractor

TikTok

Operated by Sourcelane✓ verified

Extract the text shown on screen in TikTok videos and slideshows: hooks, recipe steps, lists and tips, with timestamps, kept apart from spoken subtitles.

Read full description

A tool that extracts on-screen text from TikTok videos and photo slideshows for indexing and content extraction. It samples video frames, detects and reads overlay text, isolates burned‑in subtitles (separating text that mirrors spoken audio), and returns structured per-post results including the opening hook line, a de-duplicated sequence of overlay text in display order, subtitle-only text kept separate, time- or slide-indexed text segments, basic post metadata (URL, creator, caption, upload date, duration, views, likes), counts of analyzed frames and seconds, and optional links to the frames that were read.

Verified Oct 25, 10:11 PM

$0.04

per post

Up to 25 per call. Only pay for results returned; failed calls are refunded.

What people use it for

You give it

  • TikTok video or slideshow links

    TikTok video URLs, photo slideshow URLs, short links or video IDs, one per line.

  • TikTok profiles

    Usernames or profile URLs.

Optional settings

Max posts per profileSeconds between framesMax frames per videoInclude frame images

You get back

Text & content
DescriptionHook textFull textCaption textText segments
People & accounts
ProfileAuthorAuthor name
Numbers & stats
Duration secondsViewsLikesAnalyzed seconds
Dates
Created at
Links & media
Input URLVideo IDURLFrame images
Other details
MessagePost typeFrames analyzed

Trust & reliability

7d uptime trend
WindowUptimeSuccess ratep50p95Calls
24h————0
7d————0
30d————0

Calling contract

Call it through Sourcelane's gateway or MCP server. We run the connector, apply your agent's spend guardrails, and bill only the results returned.

Call it via Sourcelane

curl -X POST https://api.usesourcelane.com/v1/call \
  -H "Authorization: Bearer sl_live_your_agent_key" \
  -H "Content-Type: application/json" \
  -d '{"listing":"tiktok-on-screen-text-extractor","params":{"videoUrls":["https://www.tiktok.com/@foodclub.by.irna/video/7678449607751273760"]},"maxResults":10}'

Request params

FieldTypeRequiredDescription
videoUrlsarrayoptionalTikTok video URLs, photo slideshow URLs, short links (vm.tiktok.com) or video IDs, one per line (up to 500 per run).
profilesarrayoptionalUsernames (with or without @) or profile URLs. The latest posts of each profile are read.
maxVideosPerProfileintegeroptionalHow many of the most recent posts to read for each profile (1-200).
frameIntervalSecondsnumberoptionalHow often a frame is taken from the video (0.5-10 seconds). 1 second catches almost every text change. Long videos are spread out automatically so the whole video fits the frame limit.
maxFramesPerVideointegeroptionalUpper limit of distinct frames read per video (1-30), and of photos read per slideshow. Repeated frames with the same picture are skipped before this limit is applied, and long videos are spread evenly across it.
includeFrameImagesbooleanoptionalSave every frame that was read as a JPEG in the run's key-value store and add their links to each result, so you can check the text against the picture.

Each result contains

FieldTypeDescription
inputUrlstring—
profilenull—
statusstringStatus
messagenull—
postTypestring—
videoIdstring—
urlstringPost
authorstringCreator
authorNamestring—
descriptionstring—
createdAtstring—
durationSecondsintegerSeconds
viewsinteger—
likesinteger—
hookTextstringHook
fullTextstringOn-screen text
captionTextnullSpoken subtitles
textSegmentsarray—
framesAnalyzedintegerFrames
analyzedSecondsinteger—
frameImagesnull—
scrapedAtstring—

Use TikTok On-Screen Text Extractor from Claude, ChatGPT or Cursor

Pick your tool and connect in under a minute. Then just ask — for example: “What are the top 25 TikTok videos for 'protein coffee' this week, and what hooks do they use?”

Connect Claude

Web, desktop and mobile. One click, then confirm.

  1. 1Click Add to Claude — claude.ai opens with Sourcelane filled in
  2. 2Click Continue to confirm — it then works in Claude desktop and mobile too
Manual setup (config files, REST, Python) +

Claude Code

Adds the Sourcelane MCP server with your key as a header.

terminal
claude mcp add --transport http sourcelane https://api.usesourcelane.com/mcp \
  --header "Authorization: Bearer sl_live_your_agent_key"

Claude Desktop (config file)

Alternative to the connector URL: add to claude_desktop_config.json, then restart Claude.

claude_desktop_config.json
{
  "mcpServers": {
    "sourcelane": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://api.usesourcelane.com/mcp",
        "--header",
        "Authorization:${AUTH_HEADER}"
      ],
      "env": {
        "AUTH_HEADER": "Bearer sl_live_your_agent_key"
      }
    }
  }
}

Cursor & Windsurf

Add to ~/.cursor/mcp.json (or Windsurf's mcp_config.json).

mcp.json
{
  "mcpServers": {
    "sourcelane": {
      "url": "https://api.usesourcelane.com/mcp",
      "headers": {
        "Authorization": "Bearer sl_live_your_agent_key"
      }
    }
  }
}

VS Code

Save as .vscode/mcp.json. VS Code prompts for your key once.

.vscode/mcp.json
{
  "servers": {
    "sourcelane": {
      "type": "http",
      "url": "https://api.usesourcelane.com/mcp",
      "headers": {
        "Authorization": "Bearer ${input:sourcelane-key}"
      }
    }
  },
  "inputs": [
    {
      "type": "promptString",
      "id": "sourcelane-key",
      "description": "Sourcelane agent key",
      "password": true
    }
  ]
}

ChatGPT Custom GPT (Actions)

Create a GPT → Actions → Import from URL, then Authentication: API Key, Bearer.

OpenAPI schema URL
https://usesourcelane.com/openapi.json

REST

One POST. Pass maxResults to cap cost.

curl
curl -X POST https://api.usesourcelane.com/v1/call \
  -H "Authorization: Bearer sl_live_your_agent_key" \
  -H "Content-Type: application/json" \
  -d '{"listing":"tiktok-on-screen-text-extractor","params":{"videoUrls":["https://www.tiktok.com/@foodclub.by.irna/video/7678449607751273760"]},"maxResults":10}'

Python, LangChain, CrewAI, OpenAI Agents SDK…

Wrap the REST call as a tool, or point an MCP client at the endpoint.

python
import requests

res = requests.post(
    "https://api.usesourcelane.com/v1/call",
    headers={"Authorization": "Bearer sl_live_your_agent_key"},
    json={
        "listing": "tiktok-on-screen-text-extractor",
        "params": {"videoUrls":["https://www.tiktok.com/@foodclub.by.irna/video/7678449607751273760"]},
        "maxResults": 10,
    },
    timeout=300,
)
body = res.json()
print(body["receipt"]["chargedMicros"], "micro-USD for", body["receipt"]["results"], "results")
print(body["data"])

Reviews

—

0 reviews

5
0
4
0
3
0
2
0
1
0

Leave a review

Loading reviews…

Related TikTok connectors

See all TikTok data connectors →

Guides that use this connector