X (Twitter) Video Transcriber — Timestamps + Bulk URLs avatar

X (Twitter) Video Transcriber — Timestamps + Bulk URLs

Pricing

from $0.70 / 1,000 transcriptions

Go to Apify Store
X (Twitter) Video Transcriber — Timestamps + Bulk URLs

X (Twitter) Video Transcriber — Timestamps + Bulk URLs

Transcribe X (Twitter) videos to text with timestamps. Paste one or many status URLs, get structured transcripts plus best-effort post metadata when available. Built for content repurposing, research, brand monitoring, and AI training pipelines. Affordable pay-per-event pricing.

Pricing

from $0.70 / 1,000 transcriptions

Rating

5.0

(2)

Developer

TicTech

TicTech

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

an hour ago

Last modified

Share

Transform your X (Twitter) videos into actionable insights! Instantly convert public X / Twitter video posts (x.com, twitter.com) into searchable transcripts with optional timestamps, speaker labels, and automatic (or manual) language detection. Process one link or many in a single run. Unlock the full value of your content for analysis, accessibility, and growth.

Note: Only publicly available media can be transcribed. Private or restricted files are not supported.

Important: Due to CORS security and anti-scraping/bot measures, success rates are not guaranteed. The source platform may block automated access, which can result in failed downloads even for public content.

Why Use This Tool?

  • Automate tedious work: No more manual transcription, get results in minutes, not hours.
  • Unlock hidden insights: Search, analyze, and repurpose your content for new opportunities.
  • Boost accessibility: Make your media inclusive for all audiences with accurate transcripts.
  • Enhance discoverability: Improve SEO and compliance with rich, timestamped text.
  • Stay ahead: Track trends, monitor competitors, and optimize your content strategy with ease.

Features

  • Supports public X / Twitter video posts (x.com, twitter.com) only
  • Bulk transcription: process multiple URLs in a single run
  • Timestamps: [start - end] markers on each line (on by default; can be turned off)
  • Optional speaker diarization: label different speakers ([Speaker 0], [Speaker 1], …) inside the transcript text (off by default)
  • Language: auto-detect by default, or pick a specific language (see supported languages below)

Use Cases

  • Content Creators: Generate captions, repurpose content, and analyze performance.
  • Marketers: Track brand mentions, analyze trends, and optimize strategy.
  • Researchers: Study public discourse and extract insights from spoken content.
  • Businesses: Create training materials, monitor feedback, and maintain compliance records.

Supported Languages

  • Bulgarian bg, Catalan ca, Chinese (Simplified) zh-CN, Chinese (Traditional) zh-TW
  • Czech cs, Danish da, Dutch / Flemish nl, English en, Estonian et, Finnish fi
  • French fr, German de, German (Switzerland) de-CH, Greek el, Hindi hi, Hungarian hu
  • Indonesian id, Italian it, Japanese ja, Korean ko, Latvian lv, Lithuanian lt
  • Malay ms, Norwegian no, Polish pl, Portuguese pt, Romanian ro, Russian ru
  • Slovak sk, Spanish es, Swedish sv, Thai th, Turkish tr, Ukrainian uk, Vietnamese vi

Input Example

{
"urls": [
"https://x.com/CaptainAmerica/status/719944021058060289"
],
"include_timestamps": true,
"enable_diarization": false,
"language": "auto"
}

All fields except urls are optional. include_timestamps defaults to true, enable_diarization to false, and language to "auto" (auto-detect).

Output Example (Success)

{
"sourceUrl": "https://x.com/CaptainAmerica/status/719944021058060289",
"videoId": "unique-video-id",
"status": "success",
"durationSec": 45.2,
"transcript": "[0.00s - 2.50s] Welcome! [2.50s - 8.10s] Here is the main point.",
"detected_language": "en",
"author": "Example User",
"handle": "example",
"media_title": "Example post title",
"caption": "Post caption text...",
"posted_at": "2024-01-01T12:00:00Z",
"like_count": 123,
"view_count": 4567,
"comment_count": 8,
"repost_count": 2,
"post_url": "https://x.com/CaptainAmerica/status/719944021058060289",
"media_url": null,
"timestamp": "2024-01-01T12:00:00.000Z"
}

With include_timestamps: false, the transcript is plain text without the [start - end] markers. With enable_diarization: true, lines are labeled [Speaker 0] ... inside transcript (no separate speakers field).

Social metadata (author, handle, media_title, caption, posted_at, engagement counts, post_url, media_url) is best-effort from the platform and never blocks the transcript if missing.

Output Example (Failed)

{
"sourceUrl": "https://x.com/CaptainAmerica/status/719944021058060289",
"videoId": "unique-video-id",
"status": "failed",
"errorCode": "DOWNLOAD_FAILED",
"error": "Failed to download media (may be private or restricted)",
"timestamp": "2024-01-01T12:00:00.000Z"
}

Output Fields

  • sourceUrl: Original post URL
  • videoId: Unique identifier for the processed item
  • status: "success" or "failed"
  • durationSec: Media duration in seconds (success only)
  • transcript: Transcribed text with optional [start - end] / [Speaker N] labels (success only)
  • detected_language: BCP-47 code when available (success only)
  • author / handle / media_title / caption / posted_at: best-effort post/profile metadata
  • like_count / view_count / comment_count / repost_count: best-effort engagement
  • post_url / media_url: canonical post and media URLs when available
  • errorCode / error: failure detail (failed only)
  • timestamp: Processing time

How to Run on Apify

  1. Open the actor on Apify and click Try actor.
  2. Add one or more public X / Twitter video URLs in Video URLs (urls). Optionally toggle timestamps, speaker diarization, or pick a language. Private/restricted posts will fail.
  3. Start the run. When it finishes, check the Dataset tab for the transcripts.

Input Schema

  • urls (string[]): public media URLs to process (one or many).
  • include_timestamps (boolean, default true): add [start - end] markers to each line.
  • enable_diarization (boolean, default false): label different speakers inside the transcript.
  • language (string, default "auto"): spoken language, or auto-detect.
  • start_urls (string): deprecated single-URL field, kept for backward compatibility. Ignored when urls is provided.

Output Location

  • Results are saved to the run’s Dataset in JSON items matching the examples above.

More tools from TicTech

NeedActor
TikTok / IG / Facebook / YouTube Shorts → transcriptShorts Transcriber
Scrape X posts, search & watchlistsX / Twitter Monitor

Need captions outside X? Use Shorts Transcriber for TikTok, Instagram, Facebook, and YouTube Shorts. Keep X / Twitter video posts on this Actor.

Usage Limits

  • Free Apify accounts: Limited to 5 Actor runs on this Actor (Actor-side free-tier gate), plus your monthly platform credit (typically $5) for pay-per-event charges.
  • Paid plans: Unlimited Actor runs (subject to your monthly credit) and discounted PPE rates per Apify limits.

Hit the free-run cap? Upgrade at Apify Pricing.

Pricing

This actor uses Apify's pay-per-event model. You are charged for two things: starting a URL, and each second of media transcribed. Platform usage (compute, storage, proxies) is included at no extra cost, so there are no separate infrastructure charges on top of the rates below.

Check Cost → Pricing on the Actor page in Apify Console for the live tier table (Free / Bronze / Silver / Gold+).

EventUnitFreeBronzeSilverGold / Platinum / Diamond
Transcriptionper second of media$0.0012$0.0010$0.0008$0.0007
Actor startper URL$0.005$0.003$0.003$0.003

Apify's pricing page lists the same rates per 1,000 units: on the Free tier, $1.20 per 1,000 seconds and $5.00 per 1,000 URLs. Higher plans receive an automatic discount.

total = (actor start × number of URLs) + (per-second rate × total seconds of media)

Two details that matter:

  • Actor start is charged per URL, not per run. A single run containing 10 URLs is charged 10 actor-start events. Bulk runs do not amortize this fee.
  • Length is rounded to the nearest second, measured from the media's audio track. A 30.4 second file bills as 30 seconds. A file that rounds to 0 seconds is not charged for transcription.

Example, 10 items of 30 seconds each on the Free tier: (10 × $0.005) + (300 × $0.0012) = $0.41.

A URL that cannot be downloaded (private, removed, geo-blocked, or blocked by anti-bot measures) is still charged the actor start fee, because the download was attempted. It is not charged any transcription seconds. At Free tier rates, a failed URL costs $0.005.


For more details, contact the maintainer or email us at contact@tictech.id