X (Twitter) Video Transcript Scraper avatar

X (Twitter) Video Transcript Scraper

Pricing

from $10.00 / 1,000 posts

Go to Apify Store
X (Twitter) Video Transcript Scraper

X (Twitter) Video Transcript Scraper

The X (Twitter) Video Transcript Scraper turns posted videos into searchable text, capturing full AI transcripts with timestamps and detected language, plus author, handle, post text, publish date, likes and replies — ideal for content research, competitor analysis and AI pipelines.

Pricing

from $10.00 / 1,000 posts

Rating

0.0

(0)

Developer

FalconScrape

FalconScrape

Maintained by Community

Actor stats

1

Bookmarked

40

Total users

27

Monthly active users

11 hours ago

Last modified

Share

🐦 X (Twitter) Video Transcript Scraper: Twitter Video to Text

Turn X (Twitter) videos into searchable text. Point the X (Twitter) Video Transcript Scraper at an account or at specific post URLs and get a timestamped Twitter video transcript for every video, together with the full post data: author, post text, publish date, likes and replies. It works as a Twitter transcript generator for marketers, researchers, journalists and AI pipelines.

X has no transcript download, so the spoken part of a video stays invisible to search, analysis and AI tools. This Actor fills that gap, with no X account, no login and no code.

🎯 Use Cases

  • Transcribe Twitter videos in bulk: paste a list of post URLs and get every X video transcript as text in one dataset.
  • Monitor accounts' video messaging: track what a brand, politician, founder or competitor says on camera, not just what they type.
  • Twitter video to text for AI: feed transcripts into an LLM to summarise announcements, pull quotes or extract talking points at scale.
  • Search an account's video archive: schedule runs against the accounts you follow and build a searchable record of their video content.
  • Clip and quote faster: use the timestamped paragraphs to jump straight to a statement or cut a clip.
  • Media and research datasets: combine transcript, engagement and author data for content analysis or academic work.

✨ Features

  • AI transcription: clean, punctuated text with automatic language detection, or pick one of 19 spoken languages yourself.
  • Timestamped paragraphs: each transcript is split into paragraphs with start and end times in seconds, ready for clipping, subtitles or quoting.
  • Full post context: post text and language, publish date, like and reply counts, author name, handle, profile URL and verified badge.
  • Video details: direct video file link, video resolution, thumbnail and length in seconds.
  • Confidence score: every transcript carries transcriptConfidence, so you can filter on quality.
  • Correct attribution: reposts and quotes are credited to whoever actually posted them, not to the timeline they were found on. discoveredVia tells you where each post was found.
  • Accounts or post URLs: type a handle such as nasa, paste a profile URL, or paste x.com or twitter.com status links (or bare post IDs).
  • Length guard: set a maximum video length so one hour-long clip can't blow up a run's cost.
  • Video-first: by default only posts with video are returned, so you don't pay for empty rows.
  • Never billed twice: the same video reposted in several posts is transcribed and charged once per run.
  • Stops at your max charge: the run ends cleanly when the next video would go over the limit you set.

🛠️ How to Transcribe Twitter Videos

  1. Add accounts or posts: type a handle such as nasa, paste a profile URL, or drop in specific post URLs. Posts you name directly are processed first; account posts follow, newest first.
  2. Set your options: choose how many posts to return, a maximum video length, and the spoken language (or leave it on automatic).
  3. Run the scraper: click Start, then download the dataset as JSON, CSV, Excel or HTML, or pull it through the Apify API.

⚙️ Input

FieldWhat it does
AccountsX (Twitter) accounts: a handle like nasa, or a full profile URL.
Post URLsSpecific posts to transcribe: x.com or twitter.com status links, or a bare post ID.
Only posts with videoSkip posts with no video. On by default. Turn it off to also get text and image posts, without a transcript.
Only the account's own postsSkip reposts and quotes of other accounts. Off by default.
Max video length (minutes)Longer videos are returned with their post data but no transcript, and no transcription charge. Default 20, up to 180.
Include older postsAlso look beyond the account's recent posts for earlier ones. Adds time and usually finds only a handful.
Spoken languageLanguage of the audio, or Automatic to detect it. Default Automatic.
Max resultsMaximum number of posts returned across the whole run. Default 20, up to 1,000.
{
"profiles": ["nasa"],
"postUrls": ["https://x.com/NASA/status/2108221043743793212"],
"onlyVideoPosts": true,
"maxVideoMinutes": 20,
"language": "auto",
"maxResults": 20
}

💰 Pricing

Pay only for the posts and transcripts you get. No monthly rental.

EventPriceWhen it's charged
Post$0.01 per post ($10.00 per 1,000)Each post returned, with all its post and video data.
Transcript$0.02 per videoOnce for each video turned into text.
Transcript minute$0.025 per started minuteEach started minute of transcribed audio.
Actor start$0.00005 per runCharged once when the run starts.

Examples:

  • A 22-second video: $0.01 + $0.02 + $0.025 = $0.055. 100 videos under a minute = $5.50.
  • A 3-minute video: $0.01 + $0.02 + 3 × $0.025 = $0.105.
  • A post whose video has no speech, or is longer than your max length: $0.01 (post only).

Posts without video are skipped by default, videos with no speech (music, b-roll, silent clips) are not charged for transcription, and a video that appears in several posts is transcribed and charged once. New Apify accounts include free monthly usage credits, so you can try it at no cost.

📊 Sample Output: Twitter Video Transcript

{
"tweetId": "2108221043743793212",
"postUrl": "https://x.com/NASA/status/2108221043743793212",
"postedAt": "2026-10-08T15:40:40.000Z",
"discoveredVia": "@nasa",
"authorName": "NASA",
"authorHandle": "NASA",
"authorUrl": "https://x.com/NASA",
"authorVerified": true,
"text": "They're back! Crew-12 splashed down off the coast of California at 11:34am ET (1534 CT), wrapping up their mission of scientific exploration and discovery. …",
"lang": "en",
"likeCount": 1088,
"replyCount": 41,
"hasVideo": true,
"videoUrl": "https://video.twimg.com/amplify_video/2108220806966792192/vid/avc1/3840x2160/zpOIRkvfAMFxp679.mp4",
"videoQuality": "3840x2160",
"thumbnailUrl": "https://pbs.twimg.com/amplify_video_thumb/2108220806966792192/img/-SwTDu49BUef0cv1.jpg",
"durationSeconds": 21.994688,
"transcript": "And as you can see on your screen, we have visual confirmation of splashdown. Dragon Freedom has returned home, and Jessica, Jack, Sophie, Andre splashdown. On behalf of SpaceX, welcome home, crew 12.",
"transcriptLanguage": "en",
"transcriptConfidence": 0.9941406,
"transcriptParagraphs": [
{
"text": "And as you can see on your screen, we have visual confirmation of splashdown. …",
"start": 7.7599998,
"end": 21.399687,
"speaker": null
}
]
}

discoveredVia is the account timeline the post was found on (or direct for a URL you pasted), while authorHandle is who actually posted it, so reposts keep the right author. transcriptParagraphs holds the timestamped segments in seconds from the start of the video. When a transcript is skipped, transcriptNote says why, for example "No speech detected in this video." or "This video also appears in another post in this run."

🔁 Schedule and Integrate

To follow what accounts say on video, run it once a day with the same accounts: each account's recent posts are reachable, so a daily run keeps up with new videos and builds a growing archive. Set it up in Apify Schedules. Send transcripts to Google Sheets, Zapier, Make, n8n or a webhook with Apify integrations, so new videos land where your team or your AI workflow already works.

🤖 Use with AI Agents (MCP)

This Actor works as a tool in Claude, ChatGPT, Cursor and other MCP clients through the Apify MCP server (https://mcp.apify.com), so an agent can transcribe X videos and summarise them in one step. An agent can call it with:

{ "postUrls": ["https://x.com/NASA/status/2108221043743793212"], "maxResults": 5 }

❓ FAQ

Does X (Twitter) have an official API for video transcripts? X's official API is paid, needs a developer account, and returns post data and media links, but not a transcript of what is said in a video. This Actor needs no key or developer account and returns the spoken text with timestamps, next to the post's author and engagement data.

How do I transcribe a Twitter video to text? Paste the post URL into Post URLs and run the Actor. The transcript field holds the full text and transcriptParagraphs the timestamped segments. For many videos, paste many URLs or add the account instead.

Can I use the transcript as Twitter video captions or subtitles? Yes. Each paragraph has start and end times, which you can turn into a caption or subtitle file. Paragraphs are a few sentences long, so for short on-screen captions split them further.

Do I need an X account or cookies? No. The Actor reads only publicly visible posts: no login, no cookies, nothing to configure. Posts from protected accounts or deleted posts are skipped.

How many posts can I get per account? Roughly 17 of an account's own recent posts are reachable, plus the reposts on its timeline. Include older posts can add a handful more. The Actor is built to monitor accounts over time, not to backfill an entire posting history in one run; for older videos, paste their post URLs. Turn on Only the account's own posts if you want strictly the account's own content.

Why is a transcript empty? The video has no speech (music or b-roll), is longer than your Max video length, or repeats a video already transcribed in the same run. transcriptNote gives the reason, and none of these are charged for transcription.

How accurate are the transcripts, and is this legal? Clear speech typically scores above 0.95 in transcriptConfidence; heavy background music or crosstalk scores lower, so filter on it. The Actor collects only publicly available post data, including the author's public name, handle and profile URL. You are responsible for using it in line with X's terms and applicable laws, and if you process data of EU residents, GDPR applies to what you do with it.

Found a bug or need another field? Open an issue in the Actor's Issues tab.