Video Transcriber: Instagram, X, Facebook & TikTok to Text
Pricing
from $1.50 / 1,000 video processeds
Video Transcriber: Instagram, X, Facebook & TikTok to Text
Transcribe Instagram, X (Twitter), Facebook and TikTok videos to text with timestamps, SRT and language, plus author and engagement data. Export CSV, Excel, JSON, XML.
Pricing
from $1.50 / 1,000 video processeds
Rating
0.0
(0)
Developer
ParseForge
Maintained by Apify PartnerActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share

🎙️ Video Transcriber Scraper
🚀 Export video transcripts in seconds. Paste Instagram, X (Twitter), Facebook and TikTok links, mixed in one list, and get the spoken words of every video as clean text, timestamped segments and a ready SRT subtitle file, next to 28 columns of author and engagement data. 5 videos from 4 platforms took 11 seconds in our verification run.
This Actor opens each public video the way a logged out visitor does, takes only its audio track (not the whole video file), and runs speech-to-text on it. You get the transcript as one plain text, the same text split into phrases with start and end seconds, an SRT file you can drop into any video editor, and the detected language. When TikTok or X already publish a caption track for a video, the Actor can use it instead, at no speech-to-text cost.
Every row also carries the context you need to rank what was said: caption, publish date, duration, author and verification, plus likes and comments on all four platforms, views on TikTok and Facebook, and shares on TikTok and Facebook reels. Speech-to-text understands 100+ languages and transcribes them as spoken.
| 🎯 Target Audience | 💡 Primary Use Cases |
|---|---|
| Content marketers and social media managers | Turn top performing reels and clips into posts, newsletters and scripts |
| AI and data teams | Feed clean, timestamped speech into LLM, RAG and search pipelines |
| Agencies and creators | Build swipe files of hooks and scripts across four platforms |
| Brand and trend analysts | Hear what creators actually say about a product, not just what they caption |
| Video editors | Get an SRT subtitle file for any public clip in one step |
| Researchers and journalists | Archive and quote spoken content from public posts |
📋 What the Video Transcriber does
- Accepts public video links, one per line, platforms mixed: Instagram reels and posts, X posts, Facebook reels, videos and watch links, TikTok videos and
vm.tiktok.comshare links. Duplicates are processed once. - Loads each post and reads the video, author and engagement data the platform shows to any visitor.
- Downloads only the audio track of the video (a 2.5 minute reel is about 1 MB), which keeps runs fast.
- Transcribes the speech with AI and returns the transcript, timestamped segments, an SRT file and the detected language. With the default mode, a caption track published by TikTok or the creator on X is used first, for free.
- Emits one row per video, and one free error row for every link that is deleted, private, photo only or not a video.
💡 Why it matters: most transcript tools either cover one platform or only read captions, and social videos rarely have captions. This Actor listens to the audio, so every video with speech gets a transcript, and the
transcriptSourcecolumn tells you which engine produced each one.
🎬 Full Demo (🚧 Coming soon)
📊 Output
Each dataset row is one video. 28 columns per row.
| Field | Type | Description |
|---|---|---|
🖼 imageUrl | string | Video thumbnail |
📝 title | string | The post text or caption |
🔗 url | string | Canonical video URL |
📱 platform | string | Instagram, X, Facebook or TikTok |
🆔 id | string | Platform video or post ID |
🗣 transcript | string | Full spoken transcript as one clean text, or N/A when the video has no speech |
🎙 transcriptSource | string | AI speech-to-text, Creator captions, Platform auto-captions or None |
🌐 transcriptLanguage | string | Spoken language (ISO 639-1, for example en, es) |
🔢 transcriptWordCount | number | Words in the transcript |
ℹ️ transcriptNote | string | Why a transcript is missing, when it is (No speech detected, video over your length limit...) |
⏱ durationSeconds | number | Video length |
📅 publishedAt | string | Publish date and time (ISO 8601) |
👤 authorUsername | string | Author handle |
🪪 authorName | string | Author display name |
🔗 authorUrl | string | Author profile URL |
✅ authorVerified | string | Yes, No or Not Disclosed |
👁 views | number | View count (TikTok, Facebook) |
❤️ likes | number | Likes or reactions |
💭 comments | number | Comment or reply count |
🔁 shares | number | Share count (TikTok, Facebook reels) |
#️⃣ hashtags | array | Hashtags in the post |
🎞 videoIndex | number | Position of the video inside a post with several videos |
🎞 videoCount | number | Videos in that post |
⏲ segments | array | Phrases with start, end (seconds) and text |
💬 srt | string | The transcript as an SRT subtitle file |
📥 inputUrl | string | The link you supplied |
🕒 scrapedAt | string | When the row was collected |
❌ error | string | Populated only on failed rows |
Values a platform does not publish to logged out visitors come back as Not Disclosed (for example Instagram and X view counts), never as an empty cell.
Real sample records
Three rows from a verification run, one per platform. segments and srt are shortened here to the first phrases.
{"imageUrl": "https://scontent-iad3-1.cdninstagram.com/v/t51.82787-15/523950930_18382602892192930_7056202034204658927_n.jpg?stp=dst-jpg_e15_tt6&_nc_cat=104&ig_cache_key=MzY4MzgyNzUwODE4NTcwMzcxNQ%3D%3D.3-ccb7-5&ccb=7-5&_nc_sid=58cdad&efg=eyJ2ZW5jb2RlX3RhZyI6IkNMSVBTLnhwaWRzLjEwODAuc2RyLnZpZGVvX2RlZmF1bHRfY292ZXJfZnJhbWUuQzMifQ%3D%3D&_nc_ohc=682nSNChvRgQ7kNvwENpgB6&_nc_oc=Adruqsnez7P3TkRmKXokNnD_DVANCfOUZeuVWmMQgczXhlLjInULii55P-naymnD0_k&_nc_zt=23&_nc_ht=scontent-iad3-1.cdninstagram.com&_nc_gid=X6jg-tGmfZPCcZXpV-cxOQ&_nc_ss=70689&oh=00_AQI3_Ie8O2VrPuhGJY6Cmu0aPUlSI2zbhBqex5ltCUAXNg&oe=6ABB812A","title": "An \"intermediate-sized\" black hole is tricky to detect. Somewhere between small and supermassive black holes, this type is hard to find because they don't shine unless they're caught in the act of eating a nearby star! Hubble and @nasachandraxray teamed up to study one of these rare events. Learn more in this video and at the link in our bio! #NASA #Hubble #Chandra #BlackHole #science #news #astronomy #telescope #universe #cosmos","url": "https://www.instagram.com/reel/DMflZnXOKUj/","platform": "Instagram","id": "DMflZnXOKUj","transcript": "Just a few years after its launch in 1990, NASA's Hubble Space Telescope made a groundbreaking discovery. Nearly every galaxy in the universe appears to have a supermassive black hole at its center. Some are millions or even billions of times more massive than our sun. [...] This discovery shows the importance of different telescopes looking at the universe in different types of light.","transcriptSource": "AI speech-to-text","transcriptLanguage": "en","transcriptWordCount": 291,"transcriptNote": "N/A","durationSeconds": 152,"publishedAt": "2025-07-24T14:16:39.000Z","authorUsername": "nasahubble","authorName": "Hubble Space Telescope","authorUrl": "https://www.instagram.com/nasahubble/","authorVerified": "Yes","views": "Not Disclosed","likes": 11273,"comments": 46,"shares": "Not Disclosed","hashtags": ["NASA", "Hubble", "Chandra", "BlackHole", "science", "news", "astronomy", "telescope", "universe", "cosmos"],"videoIndex": 1,"videoCount": 1,"segments": [{ "start": 0.65, "end": 5.77, "text": "Just a few years after its launch in 1990," },{ "start": 5.9, "end": 8.57, "text": "NASA's Hubble Space Telescope" },{ "start": 8.57, "end": 10.59, "text": "made a groundbreaking discovery." }],"srt": "1\n00:00:00,650 --> 00:00:05,770\nJust a few years after its launch in 1990,\n\n2\n00:00:05,900 --> 00:00:08,570\nNASA's Hubble Space Telescope","inputUrl": "https://www.instagram.com/reel/DMflZnXOKUj/","scrapedAt": "2026-09-24T21:34:05.984Z","error": null}
{"imageUrl": "https://pbs.twimg.com/amplify_video_thumb/2042756826111053826/img/yNDBDC9D_d3mBDF-.jpg","title": "Welcome home Reid, Victor, Christina, and Jeremy! 🫶 The Artemis II astronauts have splashed down at 8:07pm ET (0007 UTC April 11), bringing their historic 10-day mission around the Moon to an end. https://t.co/1yjAgHEOYl","url": "https://x.com/NASA/status/2042756933686337713","platform": "X","id": "2042756933686337713","transcript": "Houston, Integrity splashdown, sending post landing command now. Splashdown confirmed. Copy splashdown, waiting on VLDR. Splashdown confirmed at 7:07 p.m. Central time, 5:07 p.m. Pacific time. From the pages of Jules Verne to a modern day mission to the moon, a new chapter of the exploration of our celestial neighbor is complete. Integrity's astronauts, back on earth.","transcriptSource": "AI speech-to-text","transcriptLanguage": "en","transcriptWordCount": 57,"transcriptNote": "N/A","durationSeconds": 32,"publishedAt": "2026-04-11T00:09:40.000Z","authorUsername": "NASA","authorName": "NASA","authorUrl": "https://x.com/NASA","authorVerified": "Yes","views": "Not Disclosed","likes": 383271,"comments": 6640,"shares": "Not Disclosed","hashtags": [],"videoIndex": 1,"videoCount": 1,"segments": [{ "start": 5.11, "end": 8.01, "text": "Houston, Integrity splashdown, sending post landing command now." },{ "start": 8.57, "end": 9.91, "text": "Splashdown confirmed." },{ "start": 10.51, "end": 12.3, "text": "Copy splashdown, waiting on VLDR." }],"srt": "1\n00:00:05,110 --> 00:00:08,010\nHouston, Integrity splashdown, sending post landing command now.\n\n2\n00:00:08,570 --> 00:00:09,910\nSplashdown confirmed.","inputUrl": "https://x.com/NASA/status/2042756933686337713","scrapedAt": "2026-09-24T21:34:01.568Z","error": null}
{"imageUrl": "https://scontent-iad6-1.xx.fbcdn.net/v/t15.5256-10/490455794_9818802761492294_4254408151381799631_n.jpg?stp=dst-jpg_tt6&cstp=mx720x405&ctp=s720x405&_nc_cat=106&ccb=1-7&_nc_sid=be8305&_nc_ohc=4SkwDGnNH4QQ7kNvwH3adM0&_nc_oc=Ado2jlLvp8kNpM7VWYa5CDe3NOWG8XrVmxLMVkm_GbyFj2nm6CQBJqevGlSfjKhjjvI&_nc_zt=23&_nc_ht=scontent-iad6-1.xx&_nc_gid=bSR0qpb0DKmCHzaksD0dMA&_nc_ss=70180&oh=00_AQKNC9luxlQN981dygn1m4rdIdE90NsP-uaxVdXB65UQog&oe=6ABB7D5B","title": "He came. He saw. He took great pictures. Now, it’s time for him to come home. Watch live as NASA astronaut Don Pettit and two cosmonauts depart the International Space Station aboard the Soyuz...","url": "https://www.facebook.com/NASA/videos/696829239355289/","platform": "Facebook","id": "696829239355289","transcript": "I come alive when I'm in orbit. And it's like my being should be in space. Some people are born to be cowboys and ride a horse. I'm born to ride a rocket and be in space. There's NASA Astronaut Don Pettit flying in to the International Space Station. [...] So the the photographs help complete the story of what it means for human beings to expand into space and uh expand into this frontier.","transcriptSource": "AI speech-to-text","transcriptLanguage": "en","transcriptWordCount": 269,"transcriptNote": "N/A","durationSeconds": 153,"publishedAt": "2025-04-18T15:24:23.000Z","authorUsername": "Not Disclosed","authorName": "NASA - National Aeronautics and Space Administration","authorUrl": "https://www.facebook.com/NASA","authorVerified": "Not Disclosed","views": 368107,"likes": 6426,"comments": 716,"shares": "Not Disclosed","hashtags": [],"videoIndex": 1,"videoCount": 1,"segments": [{ "start": 1.76, "end": 6.03, "text": "I come alive when I'm in orbit." },{ "start": 6.03, "end": 11.76, "text": "And it's like my being should be in space." },{ "start": 11.76, "end": 17.39, "text": "Some people are born to be cowboys and ride a horse." }],"srt": "1\n00:00:01,760 --> 00:00:06,030\nI come alive when I'm in orbit.\n\n2\n00:00:06,030 --> 00:00:11,760\nAnd it's like my being should be in space.","inputUrl": "https://www.facebook.com/NASA/videos/nasa-astronaut-don-pettit-turns-the-camera-on-science/696829239355289/","scrapedAt": "2026-09-24T21:34:05.620Z","error": null}
The same run transcribed a TikTok video from TikTok's own auto-captions and a 205 second NASA video on X from the creator's caption track, both without any speech-to-text cost.
✨ Why choose this Actor
- Four platforms, one list. Mix Instagram, X, Facebook and TikTok links in the same run and get the same columns back for all of them.
- Speech-to-text, not only captions. Social videos rarely carry captions. This Actor listens to the audio, so any video with speech gets a transcript, in 100+ languages.
- Free captions when they exist. In the default mode a caption track published by TikTok or by the creator on X is used instead of speech-to-text, so you do not pay for minutes you do not need.
- Three shapes of the same text. A plain
transcript, phrase levelsegmentswith start and end seconds, and ansrtsubtitle file ready for any editor. - Context on every row. Caption, date, duration, author, verification, likes and comments, plus exact views on Facebook and TikTok.
- You always know the source.
transcriptSourcelabels every transcript andtranscriptNoteexplains every empty one. - Budget guard for long uploads. Videos longer than your limit (30 minutes by default, up to 60) return their data without speech-to-text.
- Honest failures, never charged. Deleted, private and photo only posts come back as error rows with the reason, and error rows are free.
- No login and no cookies from you. Only public posts, read the way a logged out visitor sees them.
📈 How it compares to alternatives
| This Actor | Single platform transcript tools | Caption-only tools | Manual copying | |
|---|---|---|---|---|
| Instagram, X, Facebook and TikTok in one run | Yes | No | Varies | Yes |
| Videos without captions | AI speech-to-text | Varies | Empty row | Type it yourself |
| Timestamped segments | Yes, per phrase | Varies | Sometimes | No |
| SRT subtitle file per video | Yes | Rarely | Rarely | No |
| Free use of existing captions | TikTok and X | Varies | Yes | N/A |
| Source of each transcript labelled | Yes | Rarely | No | N/A |
| Author and engagement data | Yes | Varies | Varies | No |
| Charged when a link fails | Never | Varies | Varies | N/A |
Limits of the public web, stated plainly: Instagram and X do not show view counts to logged out visitors, Facebook does not show share counts on regular videos, and private, age restricted or login only videos cannot be read. AI timestamps are the model's estimates and can drift by a second or so. AI transcripts reflect whatever can be heard, which can include the lyrics of a song.
🚀 How to use
- Create a free Apify account. New accounts include $5 of free platform credit, which is plenty to try this out: console.apify.com/sign-up
- Open the Actor and go to the Input tab.
- Paste video links, one per line, any mix of platforms.
- Set how many videos to process with Max Items.
- Pick a Transcript source: platform captions with speech-to-text for the rest (default), speech-to-text for every video, or captions only.
- Click Start. The log prints each video's word count and source as it lands.
- Open the Dataset tab and download as CSV, Excel, JSON or XML, or pull it from the API.
{"videoUrls": ["https://www.instagram.com/reel/DMflZnXOKUj/","https://x.com/NASA/status/2042756933686337713","https://www.tiktok.com/@apifylife/video/7338085038258457889"],"maxItems": 100,"transcriptionMode": "CAPTIONS_THEN_AI"}
💼 Business use cases
Content repurposing across platforms
Collect the best performing reels, clips and TikToks of a creator or a campaign, run them in one batch and hand transcript to your writers or an LLM. likes and comments stay on each row, so you repurpose what worked.
Hook and script research
The first entries of segments are the hook. Sort by likes, read the first two or three phrases of each video and you have a cross platform swipe file of openings, with the exact second each line lands.
Brand and product monitoring
Transcribe the videos that mention your product and read what people say out loud, not only what they caption. transcriptLanguage routes Spanish, Portuguese or German videos to the right team.
AI, search and subtitles
Load segments into a vector store and link each answer back to the second of the video it came from, with url and publishedAt for citations. Video teams can take the srt column straight into an editor to subtitle a clip.
🔌 Automating Video Transcriber
- Make and Zapier: trigger a run when a new link lands in a sheet or a form, then push the transcript into Notion, Airtable or your CMS.
- Slack: post the transcript of every new competitor video into a channel for the content team.
- Airbyte: sync datasets into Snowflake, BigQuery or Postgres next to your social analytics.
- GitHub: schedule runs from Actions and keep versioned transcript archives.
- Google Drive: drop a CSV or Google Sheet into a shared folder after every run.
- API and webhooks: every run emits a dataset ID. Subscribe to the run succeeded webhook and pull the rows into any system.
🌟 Beyond business use cases
- Research: study language, misinformation or public health messaging in short form video with searchable, timestamped text.
- Personal: save the recipe, workout or tutorial someone explained in a reel as text you can search.
- Non-profit: monitor how causes and campaigns are discussed across platforms and languages.
- Experimentation: build a small corpus of spoken social media language for classification or summarisation experiments.
🤖 Ask an AI assistant about this scraper
Paste this into ChatGPT, Claude or any assistant to get help designing your run:
I am using the ParseForge Video Transcriber on Apify. It accepts public Instagram, X (Twitter), Facebook and TikTok video URLs and returns one row per video with 28 fields, including transcript (plain text), segments (start, end, text), srt, transcriptSource (AI speech-to-text, Creator captions, Platform auto-captions or None), transcriptLanguage, platform, durationSeconds, publishedAt, authorUsername, authorName, likes, comments, views (TikTok and Facebook) and hashtags. Help me design a run and an analysis to answer this question: [your question here].
❓ Frequently Asked Questions
🔐 Do I need an account or cookies on these platforms? No. The Actor reads public posts exactly as a logged out visitor sees them. Private, age restricted and login only videos cannot be read.
🔗 Which link formats work?
Instagram /reel/, /p/ and /tv/ links, X and twitter.com /status/ links, Facebook /reel/, /videos/ and /watch?v= links, TikTok video links and vm.tiktok.com share links. Links from other sites return a free error row.
🗣 What is the difference between captions and speech-to-text?
Captions are a text track published with the video by the platform or the creator. Speech-to-text is produced by this Actor from the audio. Both come back in the same transcript, segments and srt columns, labelled by transcriptSource.
🌍 Which languages are supported? Speech-to-text detects the spoken language automatically, 100+ languages, and transcribes it as spoken, without translating.
🔇 Why is a transcript N/A?
Read transcriptNote: the video has no speech (music only), it is longer than your length limit, captions only mode was chosen and the platform has none, or the audio could not be retrieved. The row still carries all the video data.
🎞 What about posts with several videos?
Each video in the post becomes its own row, with videoIndex and videoCount telling you where it sits in the post. Photo only posts return a free error row.
⏳ How long can a video be? Up to 60 minutes. The default limit is 30 minutes; raise Max video length to transcribe longer videos. Videos above the limit still return their data.
⏱ Are the timestamps exact? For platform captions they are the platform's own timings. For speech-to-text they are the model's estimates and can drift by a second or so.
🌐 Do I need a proxy? No for normal runs. Switch on Apify Proxy only for very large batches or if you see repeated load errors.
💵 How much does it cost? It is pay per event. Each video costs $0.003 on the free Apify plan tier and less on higher tiers (down to $0.001), with platform captions included when they exist. Speech-to-text, only for videos without captions or when you ask for it, adds $0.01 per started minute of video (down to $0.005). Videos over your length limit, error rows and failed links are free, and there is no run-start fee. Choose Platform captions only to pay for the video rows alone.
📥 What export formats are supported? CSV, Excel, JSON, XML, plus direct API access and integrations with Make, Zapier, Airbyte, Slack, Google Drive and more.
⚖️ Is this legal? The Actor reads publicly available posts. You are responsible for how you use the transcripts, including copyright, privacy law and each platform's terms where they apply to you.
🔌 Integrate with any app
Every run writes to an Apify dataset reachable through a REST API, so the output drops into whatever you already use. Native integrations cover Make, Zapier, Airbyte, Slack, Google Drive, GitHub, Google Sheets and webhooks, and the API covers everything else.
🔗 Recommended Actors
- Instagram Reel Scraper - Views, Audio & Captions - collect reel links and stats, then transcribe them here.
- X / Twitter Scraper - 42 Fields Per Post - find the posts, then transcribe their videos.
- Facebook Reels Scraper - reel data with exact counters.
- TikTok Profile Scraper - Bio, Counts & Videos - a creator's video links to feed into this Actor.
- Audio Transcriber - Speech to Text - transcribe audio files from any URL.
💡 Pro Tip: browse the complete ParseForge collection.
🆘 Need Help? Open our contact form
⚠️ Disclaimer: independent tool, not affiliated with Instagram, Facebook, Meta, X, TikTok or ByteDance; only publicly available data.