Request a tool
All toolsAutomationsGuidesMCP serverRequest a toolPlatformsCategories
Facebook Video Downloader icon

Facebook Video Downloader

Download Facebook videos, reels and fb.watch links as MP4, or the sound as MP3. No login needed for public videos. Pay per megabyte of file delivered.

72 runs on Apify $0.0005 per megabyte downloaded ($0.5 / 1,000)
Run this in the cloudRun on Apify →

Developer & Research Tools

How it works

  1. 1
    Open it on Apify

    Hit Run on Apify — it opens the tool in the cloud, no install.

  2. 2
    Set the inputs

    Adjust urls, quality, audioOnly (sensible defaults are pre-filled).

  3. 3
    Click Run

    The tool runs on Apify’s cloud and collects the data for you.

  4. 4
    Export the results

    Download as JSON, CSV or Excel, or pipe straight into your app, Google Sheets, or an AI agent.

Pricing

$0.0005 per megabyte downloaded = $0.5 per 1,000

You are charged forWhenPrice
Megabyte downloadedEach 1 MB of media actually delivered, rounded up per file. Failed, refused or skipped downloads are not charged.$0.0005
Minute of video convertedEach started minute of video re-encoded to H.264 when you turn conversion on, so a 27-second reel counts as one. Videos that are already H.264, MP3s, and conversions that fail or are refused aren't charged.$0.03

Pay-per-event pricing: you are billed per result, not per subscription. Billing is handled by Apify on your own account. These are the live Apify store prices, in effect since 2026-09-13, and they are what you are actually charged.

Inputs

FieldWhat it doesType
urlsOne link per line: a Facebook video, watch or reel link, on facebook.com or fb.com, any subdomain, or an fb.watch or facebook.com/share/ short link. Each link gives one file. If a short link still stops at a login page, open it in your browser and paste the facebook.com address it lands on. Links from other sites are refused, with a pointer to the downloader that takes them.array
qualityMeasured on the short side of the picture, so 1080 means 1920x1080 for a landscape video and 1080x1920 for a vertical one. If a video doesn't come in that quality you get the closest one it has. You pay per megabyte, so a higher quality costs more.string
audioOnlySave just the video's sound, as a 128 kbit/s MP3, instead of the video.boolean
convertToH264Some Facebook reels only come as VP9 or AV1, which QuickTime and older iPhones may not play. Turn this on and those are re-encoded to H.264, which plays nearly everywhere. It takes a while, because every frame is encoded again: a 27-second 1080p reel took about a minute and a half at the default memory, and under a minute at 2048 MB. Videos Facebook already sends as H.264, and MP3s, are left as they are. The H.264 file is about 2 to 2.6 times the size of the original. Converting costs $0.03 for each started minute of video converted, on top of the megabytes of the H.264 file, so a 27-second reel counts as one minute.boolean
maxMegabytesA video bigger than this is skipped before it is downloaded, and you are not charged for it. One run can hold files up to about 70% of its memory (716 MB at the default 1024 MB), so for anything bigger raise the run's memory as well.integer
cookiesLeave this empty for public videos: they download without it. Fill it in only for videos a logged-out visitor can't open, such as friends-only posts or a private group you're in, and you get what your own account can see. In Chrome: open facebook.com while signed in, press F12, then Application > Cookies > https://www.facebook.com, and copy the c_user and xs values onto one line as c_user=…; xs=…, or paste a JSON or cookies.txt export of your facebook.com cookies instead. They are only tried on a link that doesn't open without them. Apify stores this field encrypted. Treat it like a password: anyone with these values can act as your account, and Facebook may sign the session out or restrict the account for automated use.string

What you get

A structured dataset — each result includes fields like:

titleauthordurationSecondsresolutionvideoCodecformatfileSizeBytesbilledMegabytesconvertedToH264notemediaUrlurlhostmediaKey

Export every run as JSON, CSV or Excel, or send it to your app, a database, Google Sheets, or an AI agent.

Related tools in Developer & Research Tools

Other ready-to-run tools in the same category — all pay-per-use on the Apify cloud.

GitHub Scraper iconDeveloper & Research Tools

GitHub Scraper

Search GitHub repos and users: stars, forks, language, topics, licence, plus user bio, company and followers. No token needed. $0.90 per 1,000 rows.

18 use cases

Stack Overflow / Stack Exchange Scraper iconDeveloper & Research Tools

Stack Overflow / Stack Exchange Scraper

Search Stack Overflow and Stack Exchange by keyword or tag. Score, answer count, views, reputation and body text. $2 per 1,000 questions.

2 use cases

Package Registry Scraper (npm + PyPI) iconDeveloper & Research Tools

Package Registry Scraper (npm + PyPI)

Get npm and PyPI package metadata as JSON. Version, license, author, repo, keywords and npm monthly downloads. $2 per 1,000 packages.

2 use cases

arXiv Scraper iconDeveloper & Research Tools

arXiv Scraper

Search arXiv papers by title, author, abstract or category. Get full abstracts, authors, categories, DOI, dates and PDF links. $2 per 1,000 papers.

2 use cases

OpenAlex Scholarly Works Scraper iconDeveloper & Research Tools

OpenAlex Scholarly Works Scraper

Search 250M+ OpenAlex papers with no API key. Get titles, authors, venue, year, citations, DOI, OA links and full abstracts. $2.00 per 1,000 papers.

2 use cases

Crossref Scholarly Works Scraper iconDeveloper & Research Tools

Crossref Scholarly Works Scraper

Search 150M+ papers on Crossref: DOI, title, authors, journal, publisher, date, citations and abstract. No API key. $1.00 per 1,000 works.

2 use cases

See all Developer & Research Tools →

Facebook Video Downloader: public videos and reels as MP4, or just the sound as MP3

Paste the link of a Facebook video, watch page or reel and you get the file itself: an MP4, or a 128 kbit/s MP3 if you only want the sound. Each file is saved in the run and its dataset row carries a direct download link. Public videos need no account; your cookies open the ones you can see.

The one thing that catches people out: a video that plays in your browser can still fail here, because Facebook won't hand some videos to a visitor who isn't signed in. The reason lands in ERRORS and costs nothing. fb.watch and facebook.com/share/ links are followed to the video for you, and fb.com is the same site under a shorter name.

InputFacebook video, watch, reel and fb.watch links
OutputOne MP4 or MP3 per link, plus a row with a download link
Ceiling500 MB per video by default, up to 4,000
Account neededNone for public videos. Your own cookies for ones only your account can see
Price$0.0005 per megabyte delivered, flat on every plan

🔍 What Facebook Video Downloader does

Facebook sends the picture and the sound as separate pieces, merged back into one MP4 before you get it. The size is checked first, so a video over your maxMegabytes is refused rather than fetched and thrown away.

Facebook offers each reel in one video codec only. Plenty of them are VP9 or AV1, which a browser plays fine but QuickTime and older iPhones may refuse. There is no H.264 copy of those to ask for, so convertToH264 re-encodes the file:

What it touchesOnly files that are not already H.264. H.264 videos and MP3s are left alone.
What it costs in timeEvery frame is encoded again. At the default 1024 MB, roughly 3 minutes of 1080p per link; raise the run's memory for longer videos.
What it costs in sizeThe H.264 copy runs about 2 to 2.6 times the original, and you pay per megabyte of what you receive.
When it does not happenIf the conversion fails, runs out of time, or would go over your size limit or your run's maximum charge, you get the original file and the row's note says why. No megabytes are charged for the attempt.

A video too long to convert in the time the run has is refused up front, with a message naming the memory setting to use.

📥 What you give it

{
  "urls": ["https://www.facebook.com/reel/1195289147628387"],
  "quality": "1080",
  "maxMegabytes": 500
}
FieldDefaultWhat it is
urlsrequiredOne link per line: a Facebook video, watch or reel link, on facebook.com or fb.com, any subdomain. Duplicates are skipped.
quality1080best, 1080, 720, 480 or 360, measured on the short side of the picture, so 1080 means 1920x1080 landscape or 1080x1920 vertical. A video that does not come in that size gives you the closest it has.
audioOnlyfalseSave the sound only, as a 128 kbit/s MP3.
convertToH264falseRe-encode VP9 and AV1 videos to H.264. See above.
maxMegabytes500Your limit per video, 1 to 4,000. Anything bigger is skipped before it is downloaded and costs you nothing.
cookiesemptyOptional. Your own Facebook cookies, for videos a logged-out visitor can't open. See below.

Videos only your account can see, such as friends-only posts or a private group you are in, need your own cookies in cookies. In Chrome, open facebook.com signed in, press F12, then Application > Cookies > https://www.facebook.com, and paste c_user=<value>; xs=<value>. A JSON or cookies.txt export works too. They are only tried on links that fail without them.

📤 What you get back

A real row from a real run, with the title and the download link cut short:

{
  "url": "https://www.facebook.com/reel/1195289147628387",
  "host": "facebook",
  "title": "9.8K views · 343 reactions | When your trying to help your partner out with an arrest and #FAAFO games begin. ... | Beast Camp Training",
  "author": "Beast Camp Training",
  "durationSeconds": 9.57,
  "resolution": "480x848",
  "format": "mp4",
  "fileSizeBytes": 669110,
  "billedMegabytes": 1,
  "videoCodec": "vp9",
  "convertedToH264": false,
  "note": null,
  "mediaKey": "facebook-1195289147628387.mp4",
  "mediaUrl": "https://api.apify.com/v2/key-value-stores/Uxnhw3yrzblEEyAPL/records/facebook-1195289147628387.mp4?signature=..."
}
FieldWhat it is
mediaUrl, mediaKeyA direct link to the file, and its key in the run's store if you would rather fetch it through the API.
resolution, durationSeconds, formatRead off the file you actually received, not copied from the page.
fileSizeBytes, billedMegabytesThe real size, and that size rounded up to whole megabytes.
videoCodec, convertedToH264The codec of the file you got, and whether it was re-encoded for you.
noteEmpty on a normal row. When you asked for H.264 and did not get it, this says why.
title, authorFacebook's own caption and the poster. On a reel the title has the view and reaction counts in front of the caption, the way Facebook shows it.

🧾 Reading the output

Three places to look, and only the first one costs anything.

WhereWhat is in it
The datasetOne row per delivered file, with mediaUrl on it. These are the files you pay for.
The key-value storeThe MP4s and MP3s themselves, under the key in mediaKey.
The ERRORS recordEvery link that did not work, each with a plain reason. These never reach the dataset and are never charged.

If no link could be downloaded, the run ends as Failed, so a schedule or an integration notices instead of quietly finding an empty dataset.

How long the store is kept depends on your Apify plan, so download what you want to keep.

▶️ How to run it

1. Open Facebook Video Downloader and click Try for free. 2. Paste links into Facebook video links, one per line. 3. Pick a Max quality, or turn on Audio only (MP3). Turn on Convert VP9 and AV1 videos to H.264 if the files are going into QuickTime or an older iPhone. For a friends-only or private-group video, open Videos only your account can see and paste your cookies. 4. Click Start. 5. Open the dataset and follow mediaUrl, or take the files from the run's key-value store.

💰 How much does it cost?

$0.0005 per megabyte of file delivered, flat on every Apify plan. The size counted is the file you receive, rounded up to whole megabytes, so the 669 KB reel above counts as one.

Converting to H.264 adds $0.03 for each started minute of video converted, on top of the megabytes of the converted file. A 27 second reel counts as one minute, a 61 second video as two.

A link that fails, a video over your maxMegabytes, one too big for the run, and a conversion that was refused or did not work all cost nothing. Adding your cookies doesn't change the price. If you set a maximum charge for the run, each video is checked against it before the download starts, so the run skips what it cannot pay for instead of going over.

💡 What people use it for

  • Keeping a copy of a Page's own reels for an archive, or for re-cutting into other edits.
  • Pulling the audio off a talk or interview video and running it through a transcriber.
  • Feeding ad creative into a review pipeline that needs the actual file, not a link.
  • Grabbing a handful of links from a scraper run and turning them into files in one go.

🚧 What it does not do

  • Anything your account can't see. With your cookies it reaches what you can open, and no more.
  • Every fb.watch link. Now and then one still stops at a login page. Paste the facebook.com

address it opens in your browser instead.

  • Live videos while they are live.
  • Posts with no video in them, such as photo posts.
  • Whole Pages or playlists. One link, one file.
  • Other sites. Facebook links only. The siblings below cover TikTok, X and YouTube, but not

Instagram or Vimeo.

  • Other output formats. The conversion only produces H.264 MP4 at the video's own picture size.
  • Facebook sometimes refuses a public link that worked a minute earlier. It is retried once, then

the reason says to try later.

The videos belong to whoever posted them. Download what you own or have permission to use, and stay inside Facebook's terms.

🧭 Which downloader do you need?

If you wantUse
A Facebook video or reel as a fileThis one
The same for a TikTok linkTikTok Video Downloader
The same for an X linkX Video Downloader
The same for a YouTube linkYouTube Downloader
A Page's reels as data, with the links and countsFacebook Reels Scraper

❓ Questions people ask

Do I need an account, cookies or an API key? Not for public videos. Cookies are optional, for videos only your account can see.

Is it safe to paste my cookies? Apify stores the field encrypted, and the values never reach the log or the dataset. They are still a live login: anyone holding them can act as you, and Facebook may sign the session out or restrict the account for automated use.

Can I send lots of links in one run? Yes. They go one after another, a few seconds for a short video, so give a long list a generous run timeout.

Why did my file come out as VP9? Because that is the only codec Facebook has for that reel. Turn on convertToH264 if your player needs it.

How big a video can one run take? About 70% of the run's memory, so 716 MB at the default 1024 MB. For more, raise the memory in the run options; the message names the setting.

Does a smaller memory setting save money? No. The price is the megabytes you receive, and a smaller setting mainly makes the run slower.

🆘 If something breaks

Open the Issues tab on the actor page. Include the link you used and the run ID, and the ERRORS record plus the log is usually enough for us to see what happened.