Twitter video downloader & image downloader. Download X videos, photos & GIFs from $0.00015 per delivered media row. Get MP4 links or stored files from posts or profiles, with subtitles. No X login. World's fastest & cheapest X (Twitter) scraper service. Not affiliated with X Corp.
2026-10-24. A run of many targets now starts more reads at once & ends sooner.
2026-10-24. Rows of a photo its author edited in X's own editor carry
editedWithNativeEditor: true.
2026-10-17. A run now ends as soon as its work is done, even while Xquik is
down.
2026-10-18. A run now says X was unavailable when X's outage stops a target.
2026-10-14. A profile link by user ID, like x.com/i/user/11348282, now reads
that account.
2026-10-13. An account can be named by its user ID of 16 to 19 digits, like a
handle. This works in X handles & profile links.
2026-10-13. Field help & the README drop colons & semicolons.
2026-10-13. The run status drops its colons. A finished run starts Finished.
& says how many rows it saved.
2026-10-12. A list that keeps starting over from its first page stops after 2
restarts in a row, & the status says X stopped returning new results. No
restart charges a row twice.
2026-10-12. The Store title is now X (Twitter) Video Downloader, & the
description leads with videos. Runs, inputs & prices stay the same.
2026-10-12. Shape your rows with fields, omitFields, renameFields,
flatten, joinFields & constantFields.
2026-10-09. Rows of a Grok image carry grokImageAnnotation, the prompt it
came from, when X sends one.
2026-10-09. Successful runs with rows end their status with a short review
request.
2026-10-07. A read that gets no answer retries at once, & a stalled lookup
gives up after a few seconds, so runs lose less time to slow requests.
2026-10-07. A run that reads every target & gets no row back writes no
diagnostics record. Its status says why, & the run costs less.
2026-10-05. includeSubtitles adds 1 row with every caption track of a post's
video.
2026-10-05. Runs with many targets save progress less often, finish sooner &
cost less.
2026-10-05. startUrls & profileUrls now take plain URL strings as well as
{ "url": ... } objects.
2026-10-05. Large runs upload their rows faster.
2026-10-05. Runs of under 5 IDs or handles end with a tip to batch them.
2026-10-04. A run of single lookups fills maxItems in input order, whichever
answers first.
2026-10-04. A run whose sources need other targets names the field to fill.
2026-10-04. An account X suspended now reads "X suspended 1 account." with the
cause target_suspended, instead of a missing target.
2026-10-04. The Actor version in diagnostics & run reports is now the Apify
build number.
2026-10-04. A run no longer stops early when an upload's answer is lost. Its
rows are charged once.
1.0.73, 2026-10-04
Every run uses 256 MB again, which is faster & more reliable for small runs.
1.0.72, 2026-10-04
A repost target returns the photos & videos of the post it reposts.
Each of those rows names the reposted post as its source.
1.0.71, 2026-10-01
When Xquik stays busy, each retry waits longer than the last.
If Xquik stays busy too long, that target fails & the run says why.
Busy answers are never charged.
1.0.70, 2026-09-30
A run near its time limit stops before a read it can't finish.
1.0.69, 2026-09-29
A run that started late says how long it waited, out of its time limit.
1.0.68, 2026-09-29
Requests to Xquik never follow a redirect, so the key stays with Xquik.
1.0.67, 2026-09-29
A run waits out a brief Xquik outage instead of failing.
Rows saved before an outage stay saved & are charged once.
1.0.66, 2026-09-29
Reply media stops reading once it holds the rows the run keeps.
1.0.65, 2026-09-29
Runs with over 5 targets, replies or maxItemsPerTarget above 50 keep 256 MB.
1.0.64, 2026-09-29
Runs up to maxItems 50 & 5 targets, without downloadMedia, use 128 MB.
Runs that download videos no longer run out of memory.
Downloaded files upload faster, since the Actor sends them uncompressed.
The README's Framer video opens at 6:07.
1.0.63, 2026-09-28
A run that finds nothing skips run-report, so it costs less in Apify usage.
An empty run's status says to check the targets & filters.
The README names the Actor as Xquik's X Media Downloader & adds a how-to,
pricing question & FAQ.
1.0.62, 2026-09-28
Runs under 34 results cost less in Apify usage, with no progress saves.
1.0.61, 2026-09-28
An aborted run's status counts its saved results, even during a slow upload.
1.0.60, 2026-09-27
During a run, the status shows how many results it has collected so far.
The status says when the run waits to retry.
1.0.59, 2026-09-27
The new alwaysSaveRunRecords input keeps run-report on every run.
1.0.58, 2026-09-27
Article URLs such as x.com/name/article/123 now work as post URLs.
Profile & Media tab URLs in X Post URLs now get that profile's media.
The run reads URLs only from x.com & twitter.com, with or without
https://.
X pages such as x.com/home or x.com/search no longer count as handles.
The run lists each input it cannot read & says how to fix it.
With nothing to read, the run writes a free diagnostic with the fix.
1.0.54, 2026-09-27
Runs open their dataset while they read X, so they finish sooner.
1.0.52, 2026-09-27
Handles that differ only in case, such as NASA & nasa, now read once. Runs
finish sooner.
Profile URLs such as X.com/NASA, x.com/@nasa & x.com/nasa?s=20 now work.
1.0.50, 2026-09-27
Small runs that go well skip run-report, so they cost less in Apify usage.
The run status now says why the run stopped, with its charged results &
targets.
Runs that stop on their input now name the diagnostics output in their status.
1.0.49, 2026-09-27
Runs that stop for missing or unusable input cost less in Apify usage.
1.0.48, 2026-09-27
Support now sees a finished run even while the service is busy.
Runs with a time limit keep a little more time to finish.
1.0.47, 2026-09-27
Runs with a time limit now stop in time & keep their results.
Large runs save their progress faster.
1.0.46, 2026-09-27
The run status now says where to find its diagnostics.
1.0.44, 2026-09-27
If the Actor cannot start, the run now ends with 1 free diagnostic.
Runs with hundreds of targets use less CPU.
1.0.43, 2026-09-26
Replies over a date range with no replies no longer make a run partial.
1.0.42, 2026-09-26
Runs now start collecting results sooner, so small runs finish faster.
1.0.41, 2026-09-26
A run that fills maxItems no longer reports a time limit.
1.0.40, 2026-09-26
Large runs use less memory.
1.0.39, 2026-09-26
Targets no longer fail when Xquik is busy. The Actor waits & tries again until
its time limit.
A page the service answers slowly in busy hours now arrives instead of timing
out.
1.0.38, 2026-09-26
Support can now see where each run spends its time.
1.0.37, 2026-09-26
Targets no longer fail when the service is busy. The Actor waits a few seconds
& tries again until its time limit.
1.0.36, 2026-09-25
Input & Output tab descriptions now say what each field does.
The README now focuses on what you get & how to run it.
Replies no longer show as incomplete when every reply was collected.
1.0.35, 2026-09-25
The status now says when X has no match for an account.
Missing accounts no longer count as failures or log errors.
A run with no rows now says why in its status.
Runs with many targets finish faster.
Support can now look up every finished run.
1.0.34, 2026-09-25 update
Replies X hides no longer mark a thread as partly available.
1.0.34, 2026-09-25
Runs recover faster from temporary service delays.
Long runs are less likely to stop early.
A slow page now ends in time & keeps its rows.
1.0.33, 2026-09-23
The status now names every reason a run stopped early.
The diagnostic lists each cause in stopCauses, with advice.
A partly available reply thread no longer counts as a failed target.
1.0.32, 2026-09-20
quotes runs finish sooner.
1.0.31, 2026-09-16
The input form shows targets, limits & common filters first.
Output tabs & dataset views show the most useful fields first.
1.0.30, 2026-09-15
Run reports are more accurate when fewer results exist than requested.
1.0.29, 2026-09-13
Resumed runs keep their progress.
Long runs use the full configured time limit.
1.0.28, 2026-09-13
Downloads use less memory & follow only safe redirects.
Resumed runs keep collected results.
1.0.27, 2026-09-10
Minor fixes improve reliability & speed.
1.0.26, 2026-09-10
Runs keep their progress after temporary storage errors.
1.0.25, 2026-09-10
Resumed runs retry failed targets without double charges.
1.0.24, 2026-09-10
Runs recover from temporary errors more reliably.
1.0.8 through 1.0.23, 2026-09-01
The Actor uses a newer runtime & reports peak memory use.
One result price now applies on every plan. Diagnostics are free.
Profile & engagement runs read further.
The default limit is 10,000 rows.
Output includes media from nested replies.
1.0.6 through 1.0.7, 2026-08-12
Runs start faster & the build is smaller. Long runs respect time limits.
1.0.1 through 1.0.5, 2026-08-12
Runs start faster. Filters & caps stay exact.
1.0.0, 2026-08-12
Launch filtered media downloads with size variants, storage & resumable runs.