Video & audio · Live on Apify

Social Video Downloader: TikTok, Instagram, X

Save public videos from TikTok, Instagram, X, Facebook and more as files. Paste up to 50 links. Get MP4 with sound or MP3 audio only.

About $2.50 for 1,000 results$0.0025 per result + $0.005 per run. Apify bills you, not us.Free to try: the Apify free plan gives you $5 of usage every month, no credit card needed.

Run it on Apify Opens apify.com, the website where our tools run. Sign up free with Google or email, no card needed.

Apify links on this page are affiliate links. We may earn a commission. You pay the same price. Affiliate disclosure

What you get, for example

urlhttps://commons.wikimedia.org/wiki/File:Die_Temperaturkurve_der_Erde_(…
platformwikimedia
titleDie Temperaturkurve der Erde (ZDF, Terra X) 720p HD 50FPS

How to use it: 3 steps

  1. Make a free Apify accountApify is the cloud platform where our tools run. The free plan gives you $5 of usage every month, no credit card needed. You pay Apify, not us.
  2. Paste your input and press StartNo code needed: you fill in a form (the input). It already has a working example. For example: ["https://commons.wikimedia.org/wiki/File:Die_Temperaturkurv… in Video links. Each start is one run.
  3. Download the resultsWhen the run ends, the results are in a table (the dataset). Open Output, press Export and pick Excel or CSV. JSON and the API are there too.

This tool is an Apify Actor: a small program that runs on Apify. You can also run it on a schedule, for example every Monday. New to it? Read how it works, step by step and the 8 words you need first.

What it does

Download public videos from TikTok, Instagram, X (Twitter), Facebook, Dailymotion, SoundCloud and Wikimedia Commons as MP4 or MP3 files. Paste up to 50 links in one run. Each file is saved in your Apify storage, and you get a download link and a status for every link.

  • Input: links to single public videos (urls), up to 50 per run.
  • Output: an MP4 file with sound, or an MP3 file with only the sound. Wikimedia Commons videos keep their WebM or OGV format, and SoundCloud tracks in video mode are saved as M4A. The file stays in your storage, so the link does not expire after a few hours like a link to the site's own server.
  • Quality: choose the highest resolution (360p to best). The default is 720p.
  • Safe limits: a maximum file size per video, and the run stops at your maximum cost.

Good for

  • You need the file, not only a link: for an archive, video editing, or speech-to-text.
  • You have a list of links from TikTok, Instagram reels, X posts or Facebook videos.
  • You want only the sound as MP3, for example from a SoundCloud track or a talk.

Not a good fit

  • YouTube is not supported. YouTube blocks downloads from cloud servers.
  • Vimeo and Reddit need a login for downloads, so these links get login_required.
  • Private, paid, members-only, age-restricted and DRM-protected videos are never downloaded.
  • Profiles, playlists and posts with several videos are not downloaded. Use the link of one video.
  • Live streams are not recorded.

Who uses it

Brand teams

Keep copies of your own TikTok, Instagram and X posts.

Researchers

Collect public clips with title and duration in one table.

Transcription users

Save talks as MP3 and then turn them into text.

Price

Pay per event: you pay for each result the tool saves, plus a small start fee for each run. The price includes Apify platform costs. Apify bills you, not us. Prices below are for the Apify free plan.

What you pay forPriceWhen
Start fee$0.005Charged once per run. This tool uses 1 GB of memory or less by default; more memory costs more.
Link processed$0.0025 (from $0.0021 on paid Apify plans)One video link sent to the site, whatever the result. Links rejected before any request (YouTube, unsupported sites) are free.
File megabyte$0.0004Each started megabyte of a saved video or audio file.

Examples

  • One result: about $0.0075.
  • 1,000 results: about $2.50.
  • Every day 100 results, for 30 days: about $7.65 a month.

Free to try: the Apify free plan gives you $5 of usage every month, no credit card needed. That is enough for about 1,900 results.

Prices checked on 24 October 2026. See the current price on Apify.

Questions

Can I download YouTube videos?

No. YouTube blocks downloads from cloud servers.

Can I download a whole profile?

No. Add the link of each video. A site scraper can find those links first.

Is the quality reduced?

No. You get the original stream at the height you choose. The default is 720p.

Do I need to log in to TikTok or Instagram?

No. The tool never logs in and never uses cookies.

Do I need an account on TikTok, Instagram or X?

No. The Actor never logs in and never uses cookies.

Why is YouTube not supported?

YouTube blocks downloads from cloud servers. Only expensive residential proxies get through, and that would cost more per video than this whole run.

How long does the download link work?

The file stays in the run's key-value store for your plan's data retention period. Download the files you want to keep, or copy them to a named storage.

Details

Step by step on Apify
  1. Open the Actor and click Start. The prefilled input downloads a short Creative Commons clip from Wikimedia Commons as MP3.
  2. Paste your own links in Video links, one per line.
  3. Choose Video (MP4 with sound) or Audio only (MP3).
  4. Click Start. When the run ends, open the Output tab and click a downloadUrl to get the file.
Use cases
  • Speech to text: save talks or interviews as MP3, then transcribe them with Audio & Podcast Transcriber.
  • Content archive: keep copies of your own brand's TikTok, Instagram and X posts.
  • Research: collect public clips for media or social media studies, with title and duration in one table.
  • Editing: get MP4 files of public clips you have the right to reuse.
Tips for better results
  • Choose MP3 if you only need the sound.
  • Set a maximum file size to skip very large videos.
  • Download the files you want to keep before your storage expires.
Limits and good to know
  • The prefilled 45-second clip as MP3: about 10 seconds
  • 25 videos from 7 sites (6 social clips and 19 Wikimedia videos, 94 MB in total): 46 seconds
  • 50 links as MP3 (30 files, 60 MB saved; 20 silent videos got no_audio): 304 seconds
  • Up to 50 links per run and up to 200 MB per file
  • The run disk is twice the memory. With 1024 MB memory, files up to 200 MB fit
  • If the run timeout comes first, the links not started get the code RUN_TIME_LIMIT, and the files already saved stay. The run still ends as SUCCEEDED
  • One link may take up to 90 seconds (page check, download and MP3 conversion). A slower link gets status error with the code LINK_TIMEOUT
  • If links that fail one after another (blocked, error, LINK_TIMEOUT) use 90 seconds, the Actor stops: the sites are probably blocking downloads at the moment. Any answer from a site, such as a saved file or not_found, starts the count again, so a few deleted videos in a list do not stop the run. The links not started get the code SOURCE_FAILING and are not charged

For developers

Sample result

One result from a real test run, in JSON. Real values change from run to run. In Excel or CSV each field is a column.

one result · JSON
{
  "url": "https://commons.wikimedia.org/wiki/File:Die_Temperaturkurve_der_Erde_(ZDF,_Terra_X)_720p_HD_50FPS.webm",
  "platform": "wikimedia",
  "title": "Die Temperaturkurve der Erde (ZDF, Terra X) 720p HD 50FPS",
  "durationSec": 45.327,
  "format": "audio",
  "fileExtension": "mp3",
  "fileSizeBytes": 1088684,
  "kvsKey": "001-wikimedia-83227919.mp3",
  "downloadUrl": "https://api.apify.com/v2/key-value-stores/<storeId>/records/001-wikimedia-83227919.mp3?signature=<signature>",
  "status": "complete",
  "error": null,
  "fetchedAt": "2026-10-15T04:28:08Z"
}

Use it from code

Actor ID: cliqtomedia/social-video-downloader. You need your Apify API token from Apify Console → Settings → API & Integrations.

Python · apify-client
from apify_client import ApifyClient

client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("cliqtomedia/social-video-downloader").call(run_input={
    "urls": "[\"https://commons.wikimedia.org/wiki/File:Die_Temperaturkurve_der_Erde_(ZDF,_Terra_X)_7…",
    "format": "audio"
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)
cURL
curl -X POST "https://api.apify.com/v2/acts/cliqtomedia~social-video-downloader/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"urls": "[\"https://commons.wikimedia.org/wiki/File:Die_Temperaturkurve_der_Erde_(ZDF,_Terra_X)_7…", "format": "audio"}'
LangChain · langchain-apify
# pip install langchain-apify
# set APIFY_TOKEN in your environment
from langchain_apify import ApifyActorsTool

tool = ApifyActorsTool("cliqtomedia/social-video-downloader")
result = tool.invoke({"run_input": {"urls": "[\"https://commons.wikimedia.org/wiki/File:Die_Temperaturkurve_der_Erde_(ZDF,_Terra_X)_7…", "format": "audio"}})
print(result)

The cURL call waits for the results, up to 300 seconds. For longer runs, start a run (/runs) and get the results with a webhook or by checking the run. Apify API docs. LlamaIndex, MCP for AI agents and the JavaScript client: AI agents & MCP.

Data fields (12)
FieldTypeMeaning
urlstringThe video link as given in the input.
platformstringSite name: tiktok, instagram, x, facebook, dailymotion, soundcloud, wikimedia and others.
titlestringVideo title or post text as the site reports it.
durationSecnumberDuration in seconds when the site reports it.
formatstringFormat requested in the input.
fileExtensionstringExtension of the stored file: mp4 for video, mp3 for audio (another container only when the site offers nothing else).
fileSizeBytesintegerSize of the stored file in bytes.
kvsKeystringKey of the file in the run's default key-value store.
downloadUrlstringLink to download the file. It works without an Apify token and stays valid while the run storage is kept (data retention of your plan).
statusstringcomplete (file stored), skipped_too_large (above maxFileSizeMb or the run cost limit), not_found (deleted or unavailable), login_required (private, paid or login-only), drm_protected, unsupported_url (site or link type not supported, YouTube, playlists, profiles), live (live stream or upcoming premiere), no_audio (audio requested but the video is silent), blocked (the site refused the download, also through a proxy) or error.
errorobjectcode and message when status is not complete.
fetchedAtstringWhen the link was processed, ISO 8601 UTC.
Input settings (4)

The main fields of the input form. With the API you send them as JSON.

SettingName in the APITypeExample value
Video links requiredurlsarray["https://commons.wikimedia.org/wiki/File:Die_Temperaturkurve_der_Erde_(ZDF,_Terra_X)_7…
Formatformatstring"audio"
Maximum video qualitymaxQualitystring"720"
Maximum file size (MB)maxFileSizeMbinteger200

Start on Apify

Make a free Apify account: you get $5 of free usage every month. Missing a tool? Suggest it. We read every idea, but we do not promise to build it.

Apify links on this page are affiliate links. We may earn a commission. You pay the same price. Affiliate disclosure