Facebook Video Downloader avatar

Facebook Video Downloader

Pricing

from $2.49 / 1,000 results

Go to Apify Store
Facebook Video Downloader

Facebook Video Downloader

Facebook Video Downloader SD - Facebook Video Downloader is a social media data tool that extracts public Facebook videos and reels as HD or SD MP4 files stored with download links, plus title, owner and stats - Facebook MP4 downloader.

Pricing

from $2.49 / 1,000 results

Rating

0.0

(0)

Developer

Neuro Scraper

Neuro Scraper

Maintained by Community

Actor stats

0

Bookmarked

9

Total users

0

Monthly active users

4 days ago

Last modified

Share

Facebook Video Downloader — HD MP4 files of public videos and reels

The Facebook Video Downloader downloads public Facebook videos and reels as HD or SD MP4 files into your Apify storage and returns a download link with title, owner, duration, plays and size.

It runs on Apify, needs no Facebook login and no cookies, and exports to JSON, CSV, Excel or an API call. Every session key it needs (tokens, query ids, cursors) is read from Facebook on each run, so it keeps working when Facebook ships new code.

What the Facebook Video Downloader does

  • Accepts video, reel, watch and share links, and the old {"url": ...} input format.
  • Chooses HD when Facebook publishes it, otherwise SD.
  • Skips files above your size limit and reports it.
  • Fetches the file directly from Facebook's CDN.

Who uses the Facebook Video Downloader

  • Editors archiving their own videos.
  • Agencies collecting campaign assets.
  • Researchers keeping copies of public videos.

How the Facebook Video Downloader works

Facebook serves public pages, videos and listings to logged-out visitors and embeds the first page of data in the HTML.

The Actor loads that page like a browser, reads the session values (LSD token, revision, query ids) Facebook writes into it, and requests the following pages from Facebook's GraphQL endpoint with the returned cursor.

Query ids that a page does not preload are read from the JavaScript bundles the page lists, and the variable names of each query come from its own module, so the request always matches Facebook's current code.

Nothing is guessed: if Facebook stops publishing a value the Facebook Video Downloader needs, the run log names it and the item is skipped instead of being filled with a stale value.

Input of the Facebook Video Downloader

FieldTypeDefaultWhat it does
startUrlsarray["https://www.facebook.com/reel/1549207066583030"]Facebook video, reel, watch or share links.
qualitystringhdHD when Facebook publishes it, otherwise SD is used.
maxFileSizeMbinteger500Larger files are skipped and reported.
maxTotalItemsinteger0Stops the whole run after this many dataset rows.
proxyConfigurationobject{"useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"]}Facebook limits logged-out visitors per IP address. Residential proxies (the default) give the most reliable results; the Actor switches to a fresh IP when Face

Example input for the Facebook Video Downloader:

{
"startUrls": [
"https://www.facebook.com/reel/1549207066583030"
],
"quality": "hd",
"maxFileSizeMb": 500
}

Output of the Facebook Video Downloader

Each dataset row is one downloaded video file. These are the fields the Facebook Video Downloader produced in its test runs:

FieldMeaning
commentsCountComments count
downloadErrordownloadError
durationSecLength in seconds
fileKeyfileKey
fileUrlDownload link of the stored file (Apify key-value store)
hdUrlHD MP4 link (signed, expires)
heightheight
idPlatform id of the item
inputUrlinputUrl
ownerNamePage or creator name
playCountVideo plays
publishedAtPublication time (UTC, ISO 8601)
qualityquality
reactionsCountAll reactions
scrapedAtWhen this row was read
sdUrlSD MP4 link (signed, expires)
sizeBytesStored file size in bytes
textPost or video text
thumbnailUrlthumbnailUrl
urlPublic link of the item
widthwidth

Fields that Facebook does not publish for an item are left empty rather than guessed. Download the dataset as JSON, CSV, Excel, XML or HTML, or read it through the Apify API.

Example row from a Facebook Video Downloader test run

A real row from the local test run (long values shortened):

{
"id": "1549207066583030",
"url": "https://www.facebook.com/reel/1549207066583030/",
"text": "Greatness takes many forms 💪\n\nEsports World Cup is live in Paris with over 2000 players...",
"ownerName": "Cristiano Ronaldo",
"publishedAt": "2026-07-21T13:55:43.000Z",
"durationSec": 84.28,
"playCount": 11287485,
"reactionsCount": 925248,
"commentsCount": 25524,
"width": 1918,
"height": 1080,
"thumbnailUrl": "https://scontent.fdac5-1.fna.fbcdn.net/v/t51.82787-10/753225069_18753687136056421_31772...",
"inputUrl": "https://www.facebook.com/share/v/1HDNKQAZTN/",
"fileUrl": "file:///D:/Email%20Scrapers/ACTOR_IMPLEMENT/facebook-video-downloader/storage/key_value...",
"fileKey": "fb-1549207066583030-sd-mp4",
"sizeBytes": 4121772,
"quality": "sd",
"downloadError": null,
"hdUrl": "https://video.fdac5-1.fna.fbcdn.net/o1/v/t2/f2/m367/AQPJ1HokO3L-cfH7Rp1IpdhkhNnahtRm6Du...",
"sdUrl": "https://video.fdac5-2.fna.fbcdn.net/o1/v/t2/f2/m367/AQNg1UVkRGvgREJL-tv2GHrN1vpKQhzX-1_...",
"scrapedAt": "2026-10-02T18:51:43.000Z"
}

Data quality of the Facebook Video Downloader

  • Every value in a Facebook Video Downloader row is read from Facebook during your run; nothing is filled from a cache or an old snapshot.
  • Rows are de-duplicated by id inside a run, so the same downloaded video file never appears twice in one dataset.
  • Counts are numbers you can sort and sum (not "1.2K" text) wherever Facebook publishes the exact number.
  • Dates are UTC in ISO 8601 format, which Excel, Google Sheets, Python and SQL all read directly.

Facebook Video Downloader test results

These numbers come from live test runs of the Facebook Video Downloader on 2026-10-03 (home connection, no proxy). Runs on the Apify platform use residential proxies and can be faster or slower.

TestRowsTime
download one reel (hd)14 s
legacy {url} objects + sd14 s

Facebook Video Downloader limits, stated plainly

  • Only public videos.
  • Measured locally: one reel stored in 4 seconds.
  • Respect copyright: download only what you may reuse.

How to run the Facebook Video Downloader

  1. Open the Facebook Video Downloader in Apify Console and fill in the input fields described above.
  2. Keep the default residential proxy unless you have a reason to change it; Facebook limits logged-out visitors per IP address.
  3. Start the run, watch the log, and download the dataset when the status says Done.
  4. To automate it, call the Facebook Video Downloader from the Apify API, schedule it, or connect it to Make, Zapier, n8n or Google Sheets through an integration or webhook.

Python example with the Apify API client:

from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run_input = {
"startUrls": [
"https://www.facebook.com/reel/1549207066583030"
],
"quality": "hd",
"maxFileSizeMb": 500
}
run = client.actor("neuro-scraper/facebook-video-downloader").call(run_input=run_input)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)

Facebook Video Downloader pricing

The Facebook Video Downloader uses pay-per-event pricing: you pay per dataset row (event "result"), plus the Apify platform usage of your run. Free-plan users get up to 30 rows per run, which is enough to test the Facebook Video Downloader on real data.

Set a maximum cost per run in Apify and the Facebook Video Downloader stops cleanly when it is reached.

Tips for large runs of the Facebook Video Downloader

  • Start with a small limit to check the Facebook Video Downloader output, then raise it; the first rows arrive within seconds.
  • Split very large jobs into several inputs and run them in parallel tasks; each run gets its own proxy sessions.
  • Set a maximum cost per run in Apify; the Facebook Video Downloader stops cleanly when the budget is reached and keeps every row it already saved.
  • Schedule repeat runs instead of one huge run when you track the same targets over time.
  • Keep the residential proxy: datacenter IPs are refused by Facebook far more often for logged-out visitors.

Facebook Video Downloader compared with copying by hand

Facebook Video DownloaderManual work
SpeedSeconds per page of resultsMinutes per item
FieldsEvery public field, same order every timeWhatever you copy
FormatJSON, CSV, Excel, APISpreadsheet you build yourself
RepeatableSchedule it dailyStart again each time
ErrorsLogged per itemUnnoticed typos

Using the Facebook Video Downloader in a workflow

  • Send every new row to Google Sheets or Airtable with the Apify integration and keep a live table.
  • Trigger a Make, Zapier or n8n scenario with a webhook when the run finishes.
  • Load the JSON export into Python or BigQuery for analysis and dashboards.
  • Use the Apify API: start the Facebook Video Downloader with a POST request and read the dataset items endpoint when the run finishes.
  • Chain it: pass the Facebook Video Downloader output to another Apify Actor (for example a downloader or a transcript Actor) in an Apify task.
  • Export straight to Excel from the dataset tab when you only need a one-off report.

Troubleshooting the Facebook Video Downloader

  • The run ends with no rows: open the log. The Facebook Video Downloader writes one line per target saying what Facebook returned, for example a login wall or a missing item.
  • Fewer rows than expected: the target may have fewer public items, or Facebook may stop serving more pages to logged-out visitors. The log names the reason.
  • Slow run: large limits mean many pages; the Facebook Video Downloader waits briefly between pages so Facebook keeps answering. Split big jobs into several runs.
  • Proxy errors: keep the RESIDENTIAL group. The Facebook Video Downloader already switches to a fresh IP when one is blocked.
  • Free plan stops at 30 rows: that is the free-plan cap of the Facebook Video Downloader; any paid Apify plan removes it.

What changed in this version of the Facebook Video Downloader

  • Rebuilt in October 2026 on Facebook's logged-out web endpoints; every token, query id and cursor is read at run time.
  • Pay-per-event pricing (one event per row) replaces the old monthly rental; free-plan users can test with 30 rows per run.
  • Residential proxy by default, with automatic switch to a fresh IP when Facebook blocks one.

The Facebook Video Downloader reads only data that Facebook shows to any logged-out visitor. It never logs in and never touches private content. Personal data may still be in public posts, so check GDPR and the other laws that apply to you before you store or reuse it, and respect Facebook's terms.

ActorLink
Facebook Posts Scraperneuro-scraper/facebook-posts-scarper
Facebook Reels Scraperneuro-scraper/facebook-reels-scraper
Facebook Comments Scraperneuro-scraper/facebook-comments-scraper
Facebook Video Details Scraperneuro-scraper/facebook-video-details-scraper
Facebook Reels Downloaderneuro-scraper/facebook-reels-downloader
Facebook Video Scraperneuro-scraper/facebook-video-scraper-pro
Facebook Transcript Scraperneuro-scraper/facebook-transcript-scraper
Facebook Photos Scraperneuro-scraper/facebook-photo-posts-scraper
Facebook Reels Scraper Advancedneuro-scraper/facebook-reels-scraper-advanced
Facebook Ads Library Scraperneuro-scraper/facebook-image-photos-downloader
Facebook Pages Scraperneuro-scraper/facebook-reels-downloader-and-facebook-video-downloader
Facebook Marketplace Scraperneuro-scraper/facebook-video-posts-scraper

Leave a review

If the Facebook Video Downloader saved you time, please leave a star rating and a short review on its Apify page. Reviews help other users find the Facebook Video Downloader and tell us what to improve next.

Frequently asked questions

Which quality does the Facebook Video Downloader download?

HD by default when Facebook publishes it; choose SD for smaller files.

Does the Facebook Video Downloader need my Facebook login?

No. The Facebook Video Downloader works logged out and never asks for your password or cookies. It reads only what Facebook shows to any visitor.

Do I need my own proxy for the Facebook Video Downloader?

No. The Facebook Video Downloader uses Apify residential proxies by default and switches to a fresh IP when Facebook blocks one. You can choose another proxy in the input.

What formats can I export from the Facebook Video Downloader?

JSON, CSV, Excel, XML, HTML and RSS from the dataset tab, or any format through the Apify API, webhooks and integrations.

How fast is the Facebook Video Downloader?

In the test runs above the Facebook Video Downloader took between 4 and 4 seconds per run. Speed depends on how many items you ask for and on the proxy.

Why did the Facebook Video Downloader return fewer rows than I asked for?

The Facebook Video Downloader stops when Facebook has nothing more to show logged out, when your limit is reached, or when the free-plan cap of 30 rows applies. The run log always says which one happened.

Can I schedule the Facebook Video Downloader?

Yes. Create a schedule in Apify Console to run the Facebook Video Downloader daily or hourly and send the results to Google Sheets, Make, Zapier or n8n through an integration.

Can the Facebook Video Downloader read private accounts or private groups?

No. The Facebook Video Downloader reads public data only. Private content needs a login, and the Facebook Video Downloader never logs in.

What happens when Facebook changes its website?

The Facebook Video Downloader reads every key it needs from Facebook at run time, so routine changes are picked up automatically. If something can no longer be read, the log says so instead of returning wrong data.

Can I use the Facebook Video Downloader with Make, Zapier or n8n?

Yes. Add the Facebook Video Downloader as an Apify step in Make, Zapier or n8n, or send a webhook when the run finishes and fetch the dataset items from the Apify API.

Does the Facebook Video Downloader work in every country?

The Facebook Video Downloader reads Facebook through residential proxies that rotate across countries. Content that Facebook restricts by country follows those rules.

How do I collect only new items with the Facebook Video Downloader?

Schedule the Facebook Video Downloader and keep the item ids from earlier runs. Every row has a stable id, so a simple de-duplication against your previous export keeps only the new ones.

Can the Facebook Video Downloader process many targets in one run?

Yes. Put as many targets as you like in the input; the Facebook Video Downloader handles them one after another and a failing target never stops the others.