Social Video Downloader - TikTok, Instagram, Facebook, X
Pricing
from $17.00 / 1,000 video downloadeds
Social Video Downloader - TikTok, Instagram, Facebook, X
Download TikTok, Instagram Reels, Facebook, X (Twitter), Reddit and Vimeo videos by URL as MP4 up to 1080p or MP3/M4A audio, from 1,000+ sites. A direct download link per video with title, author, duration and file size. Bulk links, no login. Errors are free.
Pricing
from $17.00 / 1,000 video downloadeds
Rating
0.0
(0)
Developer
Scrapewise Data
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
1
Monthly active users
7 hours ago
Last modified
Categories
Share
Social Video Downloader: TikTok, Instagram, Facebook, X (Twitter), Reddit
Social Video Downloader saves public videos as MP4 files from TikTok, Instagram reels and video posts, Facebook videos and reels, X (Twitter), Reddit, Vimeo, Dailymotion and 1,000+ other video pages. Paste the links, run, and get one row per video with a direct download link to the file, plus title, author, date, duration, resolution, codec and file size.
Need only the sound? Turn on Audio only and get M4A or MP3 files instead.
No login, no cookies, no browser extension. US$ 0.02 per file downloaded. Errors are free.
Social video downloader at a glance
- Price: US$ 0.02 per video (or audio file) delivered, no run start fee, no monthly fee
- Quality: best available (up to 1080p), or cap it at 1080p, 720p, 480p or 360p
- Formats: MP4 video; M4A or MP3 audio
- Download link: every row has
downloadUrl, a public link to the file that opens in a browser,curlor any app - What we charge for: only files saved and delivered. Private, deleted, too-large, unsupported and duplicate links are free rows with an
errorCode - Speed: a short TikTok or reel takes about 2 to 5 seconds; 3 videos are downloaded at the same time
What it fixes
- Many links in one run, from different sites mixed together: TikTok, Instagram, Facebook, X, Reddit, Vimeo and more. One row per video.
- Every site, not only TikTok. Each site in the table below is tested on Apify with real public links, and a
link that fails gives a row that says why (
LOGIN_REQUIRED,NOT_FOUND,NOT_A_VIDEO...) instead of an empty run marked as a success. - Best quality by default, the same from the Console and from the API: the highest resolution the site serves
(up to 1080p), or the cap you set with
quality.width,heightand the codecs are on every row. - Duration always in seconds (
durationSeconds), and file size in bytes, on every site. - No third-party download service in the middle, so no expiring API keys, no "invalid API key" or "server error"
outages, and no garbled binary text in the output: the file is in the run's storage and
downloadUrlopens it. - Share text works. Paste the whole text copied from an app ("Watch this! https://vm.tiktok.com/... #fyp"): the link inside is used.
- Clear answers for what cannot be saved: stories and private videos need a login (
LOGIN_REQUIRED), and YouTube, Spotify and other DRM or unsupported pages return a free row instead of a broken file.
Switching from another video downloader? Your existing input works
Paste the input you already use. These names and values are read as they are:
| You may already send | Read as |
|---|---|
postUrls, posts, videoUrls, tweetUrls, startUrls, link, videoUrl (text or { "url": ... }) | urls |
quality: best, 1080, 720, 480, 360 (also 1080p, hd, max, low) | quality |
audioOnly; downloadMusic: true with downloadVideo: false | audioOnly |
maxItems, maxFileSizeMb | same names |
{ "postUrls": ["https://www.instagram.com/reel/DaSz9gXgFla/"] }
{ "videoUrls": ["https://www.tiktok.com/@natgeo/video/7549930445127896333"], "quality": "720" }
Options for other services (cloud buckets, link expiry, cover images, transcription) are accepted and ignored:
files always go to the run's key-value store with a signed downloadUrl.
What the video downloader returns
TikTok video downloaded on Apify on 2026-10-07 (quality: best):
{"type": "video","url": "https://www.tiktok.com/@natgeo/video/7549930445127896333","pageUrl": "https://www.tiktok.com/@natgeo/video/7549930445127896333","platform": "TikTok","id": "7549930445127896333","title": "Ever wondered where you'd end up if you started digging a hole throug...","author": "natgeo","authorId": "6780344874811442181","authorUrl": "https://www.tiktok.com/@natgeo","publishedAt": "2025-09-14T13:07:07Z","durationSeconds": 74.4,"width": 720,"height": 1280,"videoCodec": "hevc","audioCodec": "aac","fileSizeBytes": 3823392,"format": "mp4","downloadUrl": "https://api.apify.com/v2/key-value-stores/qV9T0xMS4V1dpoVxw/records/tiktok-7549930445127896333.mp4?signature=1QpduAg0Bv4CRruUUsurm","fileKey": "tiktok-7549930445127896333.mp4","thumbnail": "https://p16-common-sign.tiktokcdn-us.com/tos-useast5-p-0068-tx/...","viewCount": 1400000,"likeCount": 98900,"commentCount": 727,"errorCode": null}
The row also carries description (the full caption), source (the link exactly as you gave it) and scrapedAt.
Supported video sites
Tested on Apify on 2026-10-06 and 2026-10-07 with real public links:
| Site | Links that work | Tested |
|---|---|---|
| TikTok | tiktok.com/@user/video/ID | 2 of 2, up to 1080p |
instagram.com/reel/CODE/, /p/CODE/, /tv/CODE/ | 2 of 2, up to 1080p | |
facebook.com/PAGE/videos/ID, /reel/ID, /watch/?v=ID | 3 of 3, up to 1080p | |
| X (Twitter) | x.com/user/status/ID, twitter.com/... | 2 of 2; a post with several videos gives one file per video |
reddit.com/r/.../comments/ID/..., redd.it/ID, v.redd.it/ID, share links | 2 of 2 | |
| Vimeo | vimeo.com/ID, player.vimeo.com/video/ID | 1 of 1, 720p |
| Dailymotion | dailymotion.com/video/ID | 1 of 1 |
| Other sites | any page the open-source yt-dlp reads (Twitch clips, Loom, Bilibili, SoundCloud, news sites and more) | best effort |
Single videos only for now: profile, channel and playlist links come back as a free NOT_A_SINGLE_VIDEO row.
Video downloader input
| Field | What it does |
|---|---|
urls | Video links, one per line |
quality | best (default), 1080, 720, 480 or 360. Counts the short side, so 1080 means 1080x1920 for vertical videos |
maxCompatibility | Prefer H.264 MP4, which plays in every player and editor, even at a lower resolution |
audioOnly | Deliver the sound only, as audioFormat |
audioFormat | m4a (default, original AAC sound) or mp3 (192 kbps) |
maxItems | Stop after this many files; 0 = every link |
maxFileSizeMb | Larger files become a free MEDIA_TOO_LARGE row. Default 300, up to 2,000 |
proxyConfiguration | Used only when a site refuses the first try |
Example: three short videos in H.264, up to 720p, ready for any video editor:
{"urls": ["https://www.tiktok.com/@natgeo/video/7549930445127896333","https://www.instagram.com/reel/DaSz9gXgFla/","https://x.com/historyinmemes/status/1790637656616943991"],"quality": "720","maxCompatibility": true}
Example: the sound of a reel as MP3:
{"urls": ["https://www.instagram.com/reel/DaSz9gXgFla/"],"audioOnly": true,"audioFormat": "mp3"}
Where the downloaded videos are
Each file is saved in the key-value store of the run (Storage tab of the run, or the "Downloaded files" link in the
Output tab), and downloadUrl points straight to it. The link is signed, so it opens without an Apify token: share it,
send it to your app, or fetch it with curl -o video.mp4 "<downloadUrl>".
Files of a run are kept as long as your Apify plan keeps run storage (7 days on most plans). Copy them to your own storage if you need them longer, for example with an Apify integration or a webhook that reads the dataset.
Video guides from Apify: how to schedule an Actor and how to connect it to other apps.
Error codes (never charged)
| errorCode | Meaning |
|---|---|
NOT_FOUND | Deleted, private or wrong link |
LOGIN_REQUIRED | The site shows this video only to logged-in users (private accounts, friends-only posts, age-restricted videos) |
UNSUPPORTED_PLATFORM | A YouTube link (see FAQ) |
NOT_A_SINGLE_VIDEO | A profile, channel or playlist link instead of a video |
NOT_A_VIDEO | A photo, carousel, text post or audio-only page (turn on audioOnly for audio pages) |
MEDIA_TOO_LARGE | The file is above maxFileSizeMb; lower quality or raise the limit |
NO_AUDIO | audioOnly was on and the video has no sound |
DRM_PROTECTED, LIVE_STREAM | Protected streams and live broadcasts cannot be saved |
UNSUPPORTED_URL, INVALID_URL, INVALID_INPUT | A link or value the Actor does not understand |
BLOCKED, DOWNLOAD_FAILED, CONVERSION_FAILED, STORAGE_FAILED | The site or the file did not cooperate after retries; run again |
TIMEOUT_TOO_SHORT | The run timeout was too short to download even one video; raise it |
NOT_REACHED, UNEXPECTED | The run timeout or your spending limit arrived first, or something unforeseen broke; only that link is lost |
Video downloader pricing
| Event | Price |
|---|---|
| Video downloaded (MP4, or M4A/MP3 with Audio only) | US$ 0.02 |
- 100 videos cost US$ 2.00; 1,000 videos cost US$ 20.
- An X post with two videos gives two files and costs US$ 0.04.
- Errors, duplicates in the same run and links not reached before the timeout are free. There is no Apify compute bill on top.
- On the Apify Free plan each run delivers up to 20 files.
Social video downloader FAQ
Can I download YouTube videos? No. YouTube refuses requests from cloud servers, so every YouTube download would
need a paid residential proxy, and the price per video would be many times higher. YouTube links come back as a free
UNSUPPORTED_PLATFORM row. If what you need is the words spoken in a YouTube video, YouTube Transcript returns its transcript.
Why not the official TikTok or Instagram APIs? Those APIs are built for apps acting on behalf of a logged-in account, need an approved developer app, and cover that account's own content; they do not hand you the MP4 of any public video by its link. This Actor takes public links from many sites in one run, with no account or app review, and returns a direct download link per video.
Does it remove the TikTok watermark? It downloads the video stream TikTok's web player uses, which normally has no watermark (the watermarked "save video" file is not used).
Why is my video VP9 or HEVC? Instagram, Facebook and TikTok often serve their highest resolution in these codecs.
They play on phones and modern browsers. If your editor or player refuses them, turn on maxCompatibility for H.264.
Can it download private videos or stories? No. Only videos anyone can watch without logging in.
Can I give a profile and get all its videos? Not yet; paste the links of the videos you want.
How do I get the files into my own storage? Read the dataset (JSON, CSV or Excel from the Output tab or the API)
and fetch each downloadUrl. Integrations such as Make, Zapier or n8n can do it after each run.
Legal use of downloaded videos
Download only content you own, content you have a license for, or content whose owner allows it. Videos on social networks are protected by copyright and by each platform's terms. You are responsible for how you use the files; this Actor only saves videos that are already public and does not bypass logins, paywalls or DRM.
Related scrapers
- Audio & Video Transcriber: any video, audio file or podcast RSS to text.
- TikTok Transcript Scraper: TikTok captions with views and likes.
- Instagram Reels Transcript Scraper: reel and video to text.
- X (Twitter) Tweet Scraper: tweets by URL with media and video, no login.
- Bulk Image Downloader: download, resize, convert and ZIP images in bulk.
Changelog
- 2026-10-09: input from other video downloaders works as it is (see the table above); links inside pasted
share text; quality names such as
1080p,hdormax. - 2026-10-07, 0.1: first release. TikTok, Instagram, Facebook, X, Reddit, Vimeo, Dailymotion and other yt-dlp pages; quality cap, H.264 option, M4A/MP3 audio, signed download links, free error rows.