Video Transcript Scraper: TikTok, Instagram, YouTube & X avatar

Video Transcript Scraper: TikTok, Instagram, YouTube & X

Pricing

from $1.60 / 1,000 transcript from subtitles

Go to Apify Store
Video Transcript Scraper: TikTok, Instagram, YouTube & X

Video Transcript Scraper: TikTok, Instagram, YouTube & X

Get transcripts from TikTok, Instagram Reels, YouTube videos and Shorts, and X videos. Native subtitles first, Whisper speech-to-text when a video has none. Timestamped segments, language, author, caption and stats. Pay only for transcripts.

Pricing

from $1.60 / 1,000 transcript from subtitles

Rating

0.0

(0)

Developer

Scrape Lads

Scrape Lads

Maintained by Community

Actor stats

1

Bookmarked

26

Total users

10

Monthly active users

a day ago

Last modified

Share

What does Video Transcript Scraper do?

Video Transcript Scraper turns TikTok, Instagram Reels, YouTube videos and Shorts, and X (Twitter) videos into clean text transcripts with timestamps. Paste video links, or a creator's profile to get their latest videos, and get one row per video. Each row has the full transcript, timestamped segments, the detected language, the author, caption, duration and engagement stats.

It reads the platform's own subtitles first (TikTok's captions and YouTube's captions), which are fast and cheap. When a video has none (every Instagram Reel, X videos, and TikToks without captions), it transcribes the audio with Whisper speech-to-text. Every row says which method was used.

Run it in Apify Console, call it from the API, schedule it, or connect it to Make, Zapier, n8n, Google Sheets or your own code. Apify takes care of proxies, retries and monitoring.

What data can you extract from a video?

📝 Full transcript⏱️ Timestamped segments🗣️ Language
📱 Platform👤 Author📰 Title and caption
⏳ Duration🔢 Word count🎙️ Captions or speech-to-text
👀 Views❤️ Likes💬 Comments
🔁 Shares📅 Published at🖼️ Thumbnail

Why use this video transcript scraper?

  • One actor for four platforms. You get a TikTok transcript, an Instagram transcript, a YouTube transcript and an X video transcript in the same format, with no extra tools.
  • Reels transcript without subtitles. Instagram doesn't publish captions, so most tools give up. This one transcribes the speech.
  • Cheap when subtitles exist. Native subtitles cost less than speech-to-text, and you only pay for speech-to-text when it is actually needed.
  • Pay only for transcripts. Private, deleted or silent videos are free.

Common uses:

  • AI and RAG: feed creator videos into a knowledge base or a GPT, or summarize them.
  • Content research: see what top creators actually say in their hooks, scripts and calls to action.
  • Repurposing: turn short videos into blog posts, newsletters and captions.
  • Brand and ad monitoring: search spoken mentions of products, competitors or claims.
  • Accessibility and translation: start subtitles or translations from an accurate transcript.

TikTok transcript, Instagram transcript, YouTube transcript and X video transcript

All four platforms come back in the same row format. TikTok and YouTube use their own captions when they exist. An Instagram Reels transcript and an X video transcript always come from speech-to-text, because those platforms publish no subtitles.

How to get transcripts from TikTok, Instagram, YouTube and X

  1. Click Try for free and open the Input tab.
  2. Paste video URLs into Video URLs, or creators into Profiles or channels, and set how many of the latest videos to take.
  3. Leave Speech-to-text on "Fallback" (recommended), or pick "Never" for subtitles only.
  4. Click Start. A few videos take seconds.
  5. Download the results as JSON, CSV, Excel or HTML, or read them through the API.

Input

Everything is set on the Input tab. Example:

{
"urls": [
"https://www.tiktok.com/@garyvee/video/7696603359335288078",
"https://www.instagram.com/reel/Dd-VQPnRz0t/",
"https://www.youtube.com/shorts/aNI2jv7lBPQ",
"https://x.com/elonmusk/status/1585341984679469056"
],
"profiles": ["https://www.tiktok.com/@garyvee", "https://www.youtube.com/@MrBeast/shorts"],
"maxVideosPerProfile": 10,
"speechToText": "fallback",
"language": "",
"includeSegments": true
}
FieldWhat it does
urlsVideo links. Accepted: TikTok videos and short links, Instagram Reels and video posts, YouTube videos, Shorts and youtu.be links, and X/Twitter posts with a video.
profilesCreators whose latest videos you want: tiktok.com/@name, instagram.com/name, youtube.com/@channel (add /shorts for the Shorts tab).
maxVideosPerProfileHow many of the newest videos to take per profile (Instagram serves at most 12 without a login).
speechToTextfallback (subtitles first, speech-to-text when there are none), always, or never.
languageOptional two-letter code. Picks the matching subtitle track and tells Whisper which language is spoken.
includeSegmentsInclude the timestamped segments (on by default).
maxSpeechToTextSecLongest video sent to speech-to-text (default 1,800 s).

Output

One row per video. You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.

{
"url": "https://www.instagram.com/reel/Dd-VQPnRz0t/",
"platform": "instagram",
"status": "success",
"author": "feelgoodfoodie",
"caption": "As soon is fall rolls around, I love to start roasting spaghetti squash...",
"durationSec": 30,
"language": "en",
"transcript": "If you want an easier way to cut spaghetti squash, microwave it first for three minutes. Then it's so much easier to cut in half...",
"segments": [
{ "start": 0, "end": 2.5, "text": "If you want an easier way to cut spaghetti squash," },
{ "start": 2.5, "end": 4.4, "text": "microwave it first for three minutes." }
],
"wordCount": 100,
"transcriptSource": "speech-to-text",
"subtitleKind": null,
"stats": { "views": 171362, "likes": 2831, "comments": 357, "shares": null },
"fromProfile": null,
"errorCode": null,
"charged": true
}

The Output tab has three views: Transcripts, Videos and stats, and Status per URL.

Data fields

FieldDescription
url, platform, videoIdThe video and where it lives (tiktok, instagram, youtube, x).
author, authorName, authorUrlCreator handle, display name and profile link.
title, captionYouTube title, or the post caption or description.
durationSec, publishedAt, thumbnailUrlVideo length, publish date (when available), cover image.
transcriptFull transcript as one text.
segments{ start, end, text } with times in seconds.
languageTwo-letter language of the transcript.
transcriptSourcesubtitles (platform captions) or speech-to-text (Whisper).
subtitleKindcreator (written by the creator) or auto (platform speech recognition).
statsViews, likes, comments and shares, when the platform shows them.
wordCount, fromProfileTranscript length; the profile the video came from.
status, errorCode, messagesuccess, no_transcript or failed, with a reason such as private_or_removed, no_speech or too_long.
chargedWhether this row was billed.

How much does it cost to get video transcripts?

Pay per result, with no subscription:

  • $2 per 1,000 subtitle transcripts (TikTok and YouTube videos that have captions).
  • $5 per 1,000 speech-to-text transcripts (Instagram Reels, X videos, and videos without captions), covering the first minute of audio. Longer videos add $0.0025 per extra started minute (a 3-minute video costs $0.01).
  • A small $0.005 start fee per run.

Failed, private, removed and silent videos are free. Example: 1,000 TikTok transcripts plus 1,000 Instagram Reels under a minute cost about $7. The free Apify plan's monthly credit covers hundreds of transcripts.

Tips

  • Use Fallback mode. TikTok and YouTube captions are the cheapest and most accurate source, and speech-to-text fills the gaps.
  • Choose Never to get subtitles only. Videos without them come back free with no_subtitles.
  • Set Language when you need a specific subtitle track (for example es), or to help Whisper with a less common language.
  • Turn off Include timestamped segments if you only need the plain text.
  • Lower Longest video for speech-to-text to stop long uploads from adding extra-minute charges.

Run it on a schedule

Save your input as a task, then open Schedules in Apify Console and pick how often it runs. Daily on a creator's profile picks up each new video's transcript. Each run creates a new dataset, so you can compare runs over time.

To send results somewhere automatically, use the Integrations tab: Google Sheets, Slack, Make, Zapier, n8n and webhooks are built in. AI agents such as Claude or ChatGPT can run it as a tool through the Apify MCP server.

ActorWhat it does
Recipe ExtractorTurns cooking videos and recipe pages into structured recipe JSON.
TikTok Scraper ProTikTok hashtags, profiles, keyword search, comments and followers.
YouTube Shorts Scraper & Channel Email FinderYouTube Shorts, channel videos and creator contact emails.
Instagram ScraperInstagram posts, profiles, hashtags and comments.
Reddit ScraperReddit posts, comments, search results and users.

FAQ, limits and support

Is it legal to scrape video transcripts? The actor only reads public videos that anyone can watch without logging in. You are responsible for how you use the data: respect copyright, platform terms and privacy laws such as the GDPR, and don't republish creators' content without permission.

Which videos can't be transcribed? Private or deleted videos, age-restricted posts, and Instagram posts with embedding turned off. YouTube videos without captions can only be transcribed when they are very short, because YouTube doesn't serve the full audio to logged-out players. Music-only videos come back as no_speech and are free.

How accurate is speech-to-text? It uses Whisper large-v3 turbo, which handles 90+ languages and is very accurate on clear speech. Background music and heavy slang lower accuracy.

Facebook videos? Not supported yet. Open an Issue if you need them.

Found a problem or need a field? Open an Issue on the actor page. We fix things fast. For a custom pipeline, such as transcripts sent straight into your database or an AI summary per video, get in touch through the Issues tab.

Does TikTok, Instagram, YouTube or X have an official API? Why use this instead? YouTube's Data API only lets video owners download captions, and TikTok, Instagram and X have no public transcript API at all. This Actor reads public subtitles where they exist and transcribes the speech when they do not, for all four platforms in one format.

What are the alternatives to this Actor? You can use a browser extension one video at a time, upload files to a paid transcription service, or download and transcribe videos yourself. None of these takes a list of links across platforms. This Actor does, and you pay per transcript.

Privacy

To see which searches are useful, this Actor sends anonymous run inputs (such as keywords, hashtags and usernames) and a hashed account ID to the developer. Tokens, cookies and proxy settings are never sent. Nothing from your results is collected.