𝕏(twitter) Video Downloader avatar

𝕏(twitter) Video Downloader

Pricing

Pay per event

Go to Apify Store
𝕏(twitter) Video Downloader

𝕏(twitter) Video Downloader

Process one publicly accessible X post containing video for structured metadata and an optional stored video file. Choose metadata-only mode or a download quality preference.

Pricing

Pay per event

Rating

0.0

(0)

Developer

TrueFetch

TrueFetch

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Share

X Twitter Video Downloader turns one accessible X post containing video into a structured Dataset item and can optionally store the video file in Apify.

  • The effective input surface has two fields and requires only one public X post URL.
  • Four quality values separate metadata-only inspection from three media-download preferences.
  • The output contract contains 39 fields covering the post, author, media properties, processing context, and file delivery.
  • Comment retrieval is not a public feature; the reserved comments array is normally empty.

Run a one-result test

View API

Publish the Actor, use an accessible post you are authorized to process, and validate metadata before requesting a file.

What does X Twitter Video Downloader do?

X Twitter Video Downloader handles one X post that contains a video. It reads information available to the downloader and normalizes it into an Apify Dataset record. Depending on the post and media, available values can include the post ID, text or title, thumbnail, duration, publication time, author identity, engagement counts, dimensions, frame rate, and audio labels.

When a download quality is requested, the Actor can store an available video file and return its URL. Metadata mode skips that transfer and is the appropriate first test for a new URL or access condition. Quality is a preference: the source post determines which renditions exist, so high is not a promise of 4K.

The public contract has no X login, cookies, profile crawler, search, thread expansion, or comments input. Protected, deleted, age-gated, region-restricted, login-gated, or otherwise unavailable posts are outside the reliable public surface.

How do I run X Twitter Video Downloader?

Open the Actor draft in Apify Console and verify that its name and input are branded for X. Use the URL of one post, normally in /status/<id> form. Do not provide a profile, search result, list, bookmark page, community timeline, or an entire thread.

This README uses one illustrative scenario throughout:

{
"video_url": "https://x.com/SpaceX/status/1732824684683784516",
"video_quality": "metadata"
}

Replace that URL with a currently accessible video post you have the right to test. Start with metadata and inspect Results. If the identity and media fields match the post, repeat with a download quality only when your workflow needs the file. Do not add credentials or undocumented fields; the schema rejects additional properties.

What data does X Twitter Video Downloader return?

The Actor uses a 39-field cross-video contract:

AreaDataset fields
Processingprocessor, processed_at
Post and mediaid, thumbnail, platform, title, description, duration, published_at
Authorauthor, author_id, author_url
Classificationcategories, tags
Available engagementview_count, like_count, shares_count, dislike_count, comment_count
Media propertieswidth, height, fps, audio_title, audio_artist
Reserved and filecomments, video

An abbreviated illustrative item for the same post is:

{
"id": "1796229213979111882",
"platform": "Twitter",
"title": "Example X video post",
"author": "X",
"thumbnail": "https://example.com/x-video-thumbnail.jpg",
"duration": null,
"comments": [],
"video": ""
}

This shows the contract rather than a captured live response. X may omit fields, and access can change, so null and empty values are valid. A visible reply count is not a retrieved reply list. Metadata mode intentionally leaves video empty.

Source-dependent fields also present in every item:

FieldMeaning
source_urlCanonical page URL of the item on its own platform
media_typeKind of media the source reports, such as video or audio
live_statusWhether the item is a recording, currently live, or a finished stream
availabilitySource visibility, such as public, unlisted, or needs_auth
age_limitMinimum viewer age the source enforces; zero means no restriction
languagePrimary language of the item as reported by the source
followersFollower or subscriber count of the author at processing time
is_verifiedWhether the author's account carries a verified badge
saves_countTimes viewers saved the item, on sources that expose it
file_extContainer extension of the selected media, such as mp4 or webm
file_sizeSize of the selected media in bytes, exact or approximate
subtitlesLanguage codes of published subtitle tracks; auto-captions excluded
chaptersChapter markers with title and start and end time in seconds

What inputs can I configure?

The effective schema offers:

InputRequiredMeaning
video_urlYesOne publicly accessible X post URL containing video.
video_qualityNometadata, low, medium, or high; metadata skips file storage.

The URL field contains a status-link example. The optional quality field has no prefill, preserving whether the caller explicitly chose a mode; the runtime falls back to metadata when it is omitted. There is no comment-limit property because X replies are not a supported public retrieval feature in this Actor.

No username, profile, hashtag, query, date, language, country, batch, thread, cookie, or credential filter exists. A caller that needs several posts must submit separate runs or orchestrate them externally.

What platforms and markets does X Twitter Video Downloader cover?

Coverage is URL-based rather than country-based. The intended input is an individual video post on X; legacy twitter.com status links may be recognized by the underlying extractor, but release tests should prioritize current x.com URLs.

There is no market or language filter. Post availability can depend on deletion, author protection, account state, age controls, region rules, guest access, and X platform changes. A post that opens in a signed-in browser is not necessarily public to an Actor without credentials.

Before release, use a small access matrix: one clearly public video post, one public text-only post, one deleted post, and one protected or login-gated post. Expect a normalized item only when accessible video media exists. Keep the input, run status, redacted logs, and output shape for each case so the boundary is reviewable.

Why use X Twitter Video Downloader?

The Actor can turn an authorized X video post into data that is easier to automate than a manual browser workflow. A communications team can preserve the post ID, publication time, author, thumbnail, and available engagement values alongside an approved media file. A researcher can create a reproducible record for one cited post. A developer can connect the Dataset result to a webhook or downstream media pipeline.

Metadata-first testing reduces transfer and exposes access problems before file work. The thumbnail-first Dataset overview makes individual media records easier to recognize. Nullable fields prevent the documentation from pretending that X exposes every cross-platform metric.

Who is X Twitter Video Downloader for?

Developers can add a one-post ingestion step to an application. Media, communications, trust-and-safety, and research teams can document publicly accessible video posts within their permissions and retention policies. AI teams can send an authorized stored file to a separate transcription, caption, or classification tool.

Console users can test one post without writing code after the Actor is published.

This Actor is not a profile scraper, search API, thread reader, replies collector, audience monitor, protected-content bypass, or rights-clearance service. It does not determine whether downloading or retaining a post is lawful for a particular purpose; the caller remains responsible for authorization, platform terms, privacy, and storage policy.

How can I use X Twitter Video Downloader through the API or MCP?

The following request uses the same illustrative post:

curl -X POST "https://api.apify.com/v2/acts/truefetch~x-twitter-video-downloader/runs?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"video_url":"https://x.com/SpaceX/status/1732824684683784516","video_quality":"metadata"}'

The matching hosted MCP configuration and example arguments are:

{
"mcpServers": {
"apify-x-video": {
"url": "https://mcp.apify.com?tools=truefetch/x-twitter-video-downloader",
"headers": {
"Authorization": "Bearer <APIFY_TOKEN>"
}
}
},
"exampleToolArguments": {
"video_url": "https://x.com/SpaceX/status/1732824684683784516",
"video_quality": "metadata"
}
}

Protect the token and follow the official Apify MCP instructions.

How much does X Twitter Video Downloader cost?

The local metadata contains flat event prices, not a verified published offer:

Declared eventUnitLocal price
apify-actor-startActor start$0.01
actor_usageMetered usage event$0.00001
metadataOne post processed without file download$0.11
downloadOne post processed with file storage$0.24

The smallest metadata run declares $0.12 in fixed start and metadata events, before metered usage or platform costs. A download uses the $0.24 event instead of the metadata event.

Verify publication settings and the completed run’s charges before scaling. No volume tiers or discounts are present locally.

How does X Twitter Video Downloader compare with alternatives?

OptionGood fitLimitation
X Twitter Video DownloaderOne accessible X video post needs normalized metadata or a stored filePublication and representative access tests remain pending.
Manual browser workflowA person needs to inspect or save one permitted postHarder to integrate with Dataset, API, and repeatable automation.
X APIAn authorized application needs supported platform data endpointsAccess, fields, quotas, and media delivery follow X’s current API product.
Best Video DownloaderInput URLs span multiple supported video hostsBroader scope with fewer X-specific access explanations.

Choose based on the needed contract. This Actor is narrow and media-focused; the official API is the appropriate reference when the requirement is broader X data access.

What are the limits and troubleshooting steps?

Only one post URL is accepted. There are no credentials, profile, thread, search, batch, comments, or market controls. Fields can be null, and quality is a preference. Repeating a run creates another processing attempt rather than deduplicating an earlier Dataset item.

If metadata fails, open the exact post in a private browser window. Confirm that it contains video and does not require login. Remove tracking fragments, preserve the /status/<id> URL, and retry metadata mode. A text-only post is not a valid video result.

If video remains empty after a download request, inspect the run log and key-value store. The source may offer no compatible media, or the post may have become unavailable. Never treat a missing engagement value as a measured zero. The Store and Issues surfaces were unavailable at the checkpoint, so live defect history is unknown.

X can delete posts, protect accounts, suspend authors, or change guest media access after a successful run. Scheduled workflows must expect later failure and must not use an older stored file as proof that the source is still public.

Frequently asked questions

Does it download an entire X profile or thread?

No. It accepts one post URL per run.

Can it retrieve replies or comments?

No public comments input exists; the reserved array is normally empty.

Can it access protected posts?

No login or cookie input exists. Use only genuinely accessible posts.

Does high quality guarantee 4K?

No. The source post’s available renditions determine the result.

Why are some engagement fields null?

The extractor did not receive those values. Null is not zero.

The underlying extractor may recognize legacy status links, but current x.com status URLs are the primary release target.

Can I schedule the Actor?

Yes, but a schedule repeats one configured URL and availability may change.

What happens if the post has no video?

The run ends without a Dataset item and no result event is charged. A text-only post, an image post, or a quote tweet whose media belongs to the quoted post all produce this outcome. Submit the status URL that actually hosts the video.

Which post URL should I submit for a thread?

Use the status URL of the individual post that carries the video, not the thread root. Each run resolves exactly one status, so a thread containing several videos needs one run per post.

How do I keep costs predictable across many posts?

Each run processes exactly one status and writes at most one Dataset item, so cost scales linearly with the number of posts you submit rather than with thread length or video duration. Stay in metadata mode while you validate that your status URLs resolve, then promote only the posts you actually need as files. Because a post without playable video ends the run with no Dataset item, failed lookups do not add result charges, and an account-level spending limit remains the reliable ceiling for a large batch.

Support

Include the public Actor link, stable ID, redacted input, access condition, and run ID in support requests.

Run a one-result test

View API