Social Video Transcript Scraper — TikTok & Instagram · AI
Pricing
from $6.00 / 1,000 caption transcripts
Social Video Transcript Scraper — TikTok & Instagram · AI
Transcribe TikTok & Instagram videos to text. Paste video links (Reels, posts, TikTok videos) for instant transcripts, or bulk-transcribe whole TikTok profiles. Caption-first (free, instant) + AI Whisper for no-caption clips. Metadata + engagement + full text. No login.
Pricing
from $6.00 / 1,000 caption transcripts
Rating
0.0
(0)
Developer
Muhamed Didovic
Maintained by CommunityActor stats
0
Bookmarked
24
Total users
22
Monthly active users
28 minutes ago
Last modified
Categories
Share
Social Video Transcript Scraper — TikTok & Instagram (Captions + AI)
Turn TikTok and Instagram videos into text — two ways. Paste direct video links (TikTok videos, Instagram Reels / video posts / IGTV) and each becomes one transcript row, or give TikTok profile URLs to bulk-transcribe every video a creator has posted. Caption-first where captions exist (free, instant, accurate); on-device AI speech-to-text (Whisper) where they don't. One clean row per video: full metadata + transcript. JSON or CSV.
No API keys, no login, no manual cookies. TikTok captions come straight from TikTok's own data, so most talking videos transcribe for a fraction of a cent. Instagram ships no public captions, so IG links are transcribed with AI Whisper automatically.
Why Use This Scraper?
- Whole profile in one run — point it at a creator, get transcripts for all their videos. Not one-video-at-a-time.
- Caption-first = cheap + accurate — uses TikTok's own caption track (its native speech-to-text) when present, so you pay ~$0.006/video, not AI-compute prices.
- AI fallback when you need it — flip on
whisperFallbackto transcribe videos that have no caption (music clips, non-English audio) with on-device Whisper. Most competitors can only read captions. - Block-resistant discovery — videos are found via a real stealth browser that intercepts TikTok's own
item_listrequests, so there's no fragile signature/token juggling and no captcha walls. - You only pay for transcripts you get — videos with no caption (when AI is off) come back as metadata-only and are not charged.
Overview
Each input profile is expanded into one dataset row per video. A row always carries the video's metadata (id, author, description, duration, engagement stats, URL) and a transcriptSource telling you how it was transcribed:
caption— TikTok's own caption track was used (free path, the default).whisper— no caption existed and you enabled AI fallback, so Whisper transcribed the audio.none— no caption and AI fallback was off; the row is metadata-only (and not billed).
Direct video links (videoUrls) work the same way — each link becomes one row with the same transcriptSource semantics. Instagram links always use the AI (whisper) path because Instagram exposes no caption track to the public. This is not a comments/followers scraper — it is built to turn spoken video content into searchable text.
Supported Inputs
| Input | Field | What you get |
|---|---|---|
https://www.tiktok.com/@user/video/7301… | videoUrls | That one TikTok video, transcribed (caption-first, AI fallback) |
https://www.instagram.com/reel/Dabg9j1xNHM/ | videoUrls | That Instagram Reel, transcribed with AI Whisper |
https://www.instagram.com/p/… / /tv/… | videoUrls | Instagram video posts and IGTV, same pipeline |
https://www.tiktok.com/@gordonramsayofficial | startUrls | Every discoverable video on that profile, each transcribed |
| Multiple URLs of either kind | either | All of them, processed in turn |
Not supported: hashtag/sound/search pages, comments, followers, live streams, or Instagram profile crawling (paste specific IG video links instead). Image-only IG posts are skipped free — there is no audio to transcribe.
Use Cases
| Audience | What they pull |
|---|---|
| Content & trend researchers | Searchable text of a creator's whole catalog — find topics, hooks, recurring phrases |
| Marketers & agencies | Transcribe competitor creators to mine messaging, CTAs, and product mentions |
| Lead generation | Surface spoken contact info / offers across a profile's videos |
| Accessibility & repurposing | Captions/transcripts for re-subtitling, blogs, newsletters, show notes |
| AI / dataset builders | Bulk speech-to-text corpora keyed to engagement stats |
- Discover — each profile is opened in a stealth browser (Playwright + stealth). TikTok's own page fires its
item_listrequests with a valid in-browser token; the actor intercepts those while scrolling. No signing, no captcha. Retries with a fresh residential exit IP if a load comes back empty. - Caption-first — for each video the actor reads TikTok's inline caption track (
claInfo.captionInfos) and fetches the WebVTT inside the same browser session — free, instant, accurate. - AI fallback (optional) — if a video has no caption and
whisperFallbackis on, the audio is pulled withyt-dlpand transcribed on-device with OpenAI Whisper. Off by default. - Emit & bill — one row per video; you're charged only for videos that actually produced a transcript.
Input Configuration
Provide videoUrls (direct links), startUrls (TikTok profiles), or both.
| Field | Type | Notes |
|---|---|---|
videoUrls | array | Direct video links — TikTok videos and/or Instagram Reels / video posts / IGTV. One transcript row per link. |
startUrls | array | TikTok profile URLs — bulk mode, every discoverable video on the profile |
maxItems | integer | Max videos to process (per profile in bulk mode; total in direct mode; default 10) |
transcribe | boolean | Add transcripts (default true). false = metadata only |
whisperFallback | boolean | Transcribe no-caption TikTok videos with AI Whisper (default false). Instagram links always use Whisper — IG has no public captions |
whisperModel | string | tiny (default) / base / small |
language | string | Direct mode: spoken-language ISO code, or auto (default) to detect per video |
maxDurationSec | integer | Skip no-caption videos longer than this for Whisper (default 120; 0 = no cap) |
proxy | object | Proxy for the stealth browser; residential strongly recommended |
Example input — direct video links (TikTok + Instagram)
{"videoUrls": [{ "url": "https://www.tiktok.com/@bogus_tat2/video/7362361102816054571" },{ "url": "https://www.instagram.com/reel/Dabg9j1xNHM/" }],"language": "auto","maxItems": 25}
Example input — whole TikTok profile (bulk)
{"startUrls": [{ "url": "https://www.tiktok.com/@gordonramsayofficial" }],"maxItems": 25,"transcribe": true,"whisperFallback": false}
Output Overview
One row per video. The transcript object holds the text plus its source and detected language; transcriptSource and captionAvailable let you filter quickly (e.g. keep only caption rows, or find which videos lack captions).
Output Samples
transcriptSource: "caption" (the default, free path)
{"id": "7341108653442829601","author": "gordonramsayofficial","createTime": 1709235062,"desc": "Its curry in a hurry from #NextLevelKitchen !","durationSec": 87,"stats": {"playCount": 27300000,"diggCount": 1900000,"commentCount": 14900,"shareCount": 102500,"collectCount": 477800},"videoUrl": "https://www.tiktok.com/@gordonramsayofficial/video/7341108653442829601","transcriptSource": "caption","captionAvailable": true,"transcript": {"source": "caption","language": "en","text": "For my favourite dishes, butter chicken. Let's go get that chicken. Touch of salt, some pepper, fresh turmeric, cumin as well, ground coriander, cayenne…"}}
transcriptSource: "none" (no caption, AI fallback off — metadata only, not charged)
{"id": "7229884545150061851","author": "gordonramsayofficial","durationSec": 88,"videoUrl": "https://www.tiktok.com/@gordonramsayofficial/video/7229884545150061851","transcriptSource": "none","captionAvailable": false}
Key Output Fields
Identity & link
id— video idauthor— profile handlevideoUrl— canonical linkcreateTime— Unix seconds
Content
desc— caption/description textdurationSec— length in seconds
Engagement (stats)
playCount,diggCount(likes),commentCount,shareCount,collectCount
Transcript
transcriptSource—caption|whisper|nonecaptionAvailable— was a TikTok caption usedtranscript.text— the transcripttranscript.source—caption|whispertranscript.language— detected language (e.g.en)
FAQ
Is this AI transcription or TikTok's captions? Both — caption-first. It uses TikTok's own caption track (its native speech-to-text) whenever a video has one, which is the default and the cheap path. Real AI (Whisper) only runs if you turn on whisperFallback for videos that have no caption.
Why are some videos returned with no transcript? Music clips, no-speech skits, and some ads have no TikTok caption. With AI fallback off (the default) those come back as transcriptSource: "none" — metadata only, and you are not charged for them.
How good are the transcripts? TikTok's captions are accurate on clear speech and even capture short non-English phrases. The optional Whisper fallback handles audio TikTok never captioned.
Does it need cookies or a login? No. Discovery runs in a stealth browser against public profile pages.
Why a residential proxy? TikTok rate-limits datacenter IPs. Paying runs are routed through a residential exit automatically; free runs can configure Apify Proxy.
How many videos can it do? It's built for bulk whole-profile runs. Caption extraction is fast; the AI Whisper fallback is CPU-heavy, so keep maxItems modest when whisperFallback is on.
Can I get only captioned videos? Yes — leave whisperFallback off and filter rows where transcriptSource === "caption".
Support
Found a bug or need a field added? Open an issue on the actor's Issues tab, or email muhamed.didovic@gmail.com. Include the input you ran and a run ID.
Additional Services
Need a custom TikTok or social pipeline — comments, followers, sound/hashtag feeds, scheduled monitoring, or delivery straight to a database/sheet? I build bespoke scrapers and enrichment flows. Reach out via the email above.
Explore More Scrapers
- TikTok Search Suggestions — autocomplete/keyword expansion with popularity scoring
- Instagram, YouTube & social profile scrapers — metadata + media at scale
- Tours & Activities (GetYourGuide / Viator / Klook / Tiqets) — listings + reviews
- Google Play / App Store — app metadata, reviews, ASO
- Browse all actors on the memo23 Apify Store profile
⚠️ Disclaimer
This Actor accesses publicly available data on TikTok for legitimate research, market-intelligence, accessibility, and business-analysis purposes. Use of this Actor must comply with TikTok's Terms of Service and all applicable laws including data-protection regulations (GDPR, CCPA, etc.). The Actor's authors are not responsible for any misuse. Users must:
- Respect rate limits and avoid overloading TikTok's infrastructure
- Not use scraped data to violate user privacy or TikTok's terms
- Use the data in compliance with applicable jurisdictions
- Not republish scraped content in violation of copyright
TikTok is a trademark of ByteDance Ltd.; this Actor is not affiliated with, endorsed by, or sponsored by TikTok or ByteDance. We do not store any scraped data; the Actor returns it directly to your Apify dataset for your authorized use.
SEO Keywords
tiktok scraper, tiktok transcript scraper, tiktok video transcription, tiktok captions scraper, tiktok subtitles export, tiktok speech to text, tiktok profile scraper, bulk tiktok transcripts, tiktok whisper transcription, tiktok video to text, tiktok content research, tiktok api alternative, tiktok data extraction, tiktok json export, tiktok csv export, social media transcription, video transcription api, creator content analysis, tiktok bulk export, no-code tiktok scraper