# Social Video Downloader: TikTok, Instagram, X

> Social media video downloader: save public TikTok, Instagram, X and Facebook videos as MP4 or MP3. Up to 50 links per run. No login or cookies.

URL: https://cliqtomedia.com/actors/social-video-downloader/

Category: Video, audio & streaming · Status: live on Apify Store · Apify page: https://apify.com/cliqtomedia/social-video-downloader?fpr=cliqto

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.

## How to use it: 3 steps

1. **Make a free Apify account.** Apify 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 Start.** No code needed: you fill in a form (the input). It already has a working example. For example: `[&quot;https://commons.wikimedia.org/wiki/File:Die_Temperaturkurv…` in Video links. Each start is one run.
3. **Download the results.** When 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.

## 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.

## Price

Pay per event. Apify bills you, not us.

| What you pay for | Price | When |
|---|---|---|
| Start fee | $0.005 | Charged 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.0004 | Each started megabyte of a saved video or audio file. |

- 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.

Prices checked on 24 October 2026. Current price: https://apify.com/cliqtomedia/social-video-downloader?fpr=cliqto

## 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.

## Data fields

- `url` (string): The video link as given in the input.
- `platform` (string): Site name: tiktok, instagram, x, facebook, dailymotion, soundcloud, wikimedia and others.
- `title` (string): Video title or post text as the site reports it.
- `durationSec` (number): Duration in seconds when the site reports it.
- `format` (string): Format requested in the input.
- `fileExtension` (string): Extension of the stored file: mp4 for video, mp3 for audio (another container only when the site offers nothing else).
- `fileSizeBytes` (integer): Size of the stored file in bytes.
- `kvsKey` (string): Key of the file in the run's default key-value store.
- `downloadUrl` (string): Link to download the file. It works without an Apify token and stays valid while the run storage is kept (data retention of your plan).
- `status` (string): complete (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.
- `error` (object): code and message when status is not complete.
- `fetchedAt` (string): When the link was processed, ISO 8601 UTC.

## Input settings

- `urls` (array, required): Up to 50 links to single public videos (not profiles or playlists): TikTok, Instagram reels and posts, X / Twitter posts, Facebook videos, Dailymotion, SoundCloud tracks, Wikimedia Commons and other sites supported by yt-dlp. YouTube, Vimeo and Reddit links are not supported. Duplicates are downloaded once.
- `format` (string): Video saves an MP4 file with sound. Audio saves only the sound track as an MP3 file (192 kbps).
- `maxQuality` (string): Highest resolution to download. The best version at or below this height is taken. Used only when Format is Video.
- `maxFileSizeMb` (integer): Videos larger than this are skipped with status skipped_too_large. The link is charged, the megabytes are not.

## 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

- 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



- 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.

## Sample 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`

```python
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)
```

```bash
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"}'
```

```python
# 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)
```

run-sync waits up to 300 seconds; for longer runs start a run and use a webhook. LlamaIndex and MCP: https://cliqtomedia.com/actors/ai-agents/

## Similar tools

- [Audio & Podcast Transcriber (Speech to Text)](https://cliqtomedia.com/actors/audio-video-transcriber/)
- [YouTube Subtitles & Transcript Scraper API](https://cliqtomedia.com/actors/youtube-transcript-scraper/)
- [YouTube Comments Scraper](https://cliqtomedia.com/actors/youtube-comments-scraper/)
- [Apple Podcast Directory & RSS Contacts Scraper](https://cliqtomedia.com/actors/podcast-directory-rss-contacts-scraper/)
- [YouTube Search Results Scraper — No Login](https://cliqtomedia.com/actors/youtube-search-scraper/)
- [Kick Live Streams & Viewer Count (Official API), No Login](https://cliqtomedia.com/actors/kick-channels/)
