Facebook Reels Downloader avatar
Facebook Reels Downloader

Pricing

$4.99/month + usage

Go to Apify Store
Facebook Reels Downloader

Facebook Reels Downloader

Download any Facebook Reel in seconds — clean MP4, thumbnail, metadata, and direct download links. Built for creators, analysts, and automation workflows. Fast, stable, and perfect for large-scale pipelines. Run it once and you’ll wonder how you lived without it. 🚀🎬📥✨

Pricing

$4.99/month + usage

Rating

0.0

(0)

Developer

Neuro Scraper

Neuro Scraper

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

9 days ago

Last modified

Share

🌟 Facebook Reels Downloader — Instant, Reliable Reels Exports

One‑liner (hero): Instantly extract Facebook Reels as production-ready H.264 MP4s with thumbnails and metadata — paste Reel URLs, click Run, and get secure outputs in seconds. 🚀🔒


📖 Short summary

This Actor downloads Facebook Reels (short-form videos), returning clean H.264 MP4 files, thumbnails, duration, and structured metadata. Built for reliable runs at scale with secure storage to Dataset and Key‑Value records.


💡 Use cases — when to use

  • Archive short-form Reels for content audits or compliance.
  • Pull ready-to-use MP4s and thumbnails for republishing or social workflows.
  • Feed Reels and metadata into analytics, AI datasets, or media libraries.

⚡ Quick Start — Console (one‑click)

  1. Open this Actor in Apify Console.
  2. Paste one or more Reel URLs into the Input editor (see Input example).
  3. Click Run — check Dataset & Key‑Value Store for results.

Demo screenshot placeholder: add a GIF/screenshots for higher conversion.


⚙️ Quick Start — CLI & API

CLI (one-liner)

$apify run --actor <OWNER>/<ACTOR_NAME> --input input.example.json

Python (apify-client)

from apify_client import ApifyClient
client = ApifyClient('<APIFY_TOKEN>')
run = client.actors.run_actor(actor_id='<OWNER>/<ACTOR_NAME>', input={"startUrls":["https://www.facebook.com/reel/12345"]})
print('Run started:', run['id'])

📝 Inputs (fields & example)

Console JSON input example (also saved as input.example.json):

{
"startUrls": ["https://www.facebook.com/reel/12345"],
"download": true,
"download_merged": true,
"desired_resolution": "1080p",
"preserve_downloads": false,
"cookiesFile": "cookies.txt",
"proxyConfiguration": {"useApifyProxy": true},
"maxConcurrency": 5
}

⚙️ Configuration (inferred fields)

🔑 Name📝 Type❓ Required⚙️ Default📌 Example🧠 Notes (inferred)
startUrlsarray✅ YesNone["https://.../reel/12345"]List of Facebook Reel URLs.
url / startUrlstring⚠️ OptionalNone"https://.../reel/12345"Alternate single-url input key.
downloadboolean⚠️ OptionalfalsetrueEnable saving media files.
download_mergedboolean⚠️ OptionaltruetruePrefer merged video+audio MP4 when available.
desired_resolutionstring⚠️ Optional"1080p""720p"Max height to attempt when downloading.
preserve_downloadsboolean⚠️ OptionalfalsetrueKeep local files after upload to KV (if enabled).
cookiesFilestring⚠️ OptionalNone"cookies.txt"Optional cookies for gated/private Reels. TODO: confirm format.
proxyConfigurationobject⚙️ Optional{}{"useApifyProxy": true}Use Apify Proxy or custom proxies.
maxConcurrencyinteger⚠️ Optional510Controls concurrency for downloads.

Console tip: paste the JSON sample into the Input field, then click Run.


📄 Outputs (Dataset / KV example)

Example dataset item (inferred):

{
"platform":"facebook",
"original_url":"https://www.facebook.com/reel/12345",
"_scraped_at":"2025-11-23T09:29:28.374713Z",
"yt_info": {"id":"1202940488392514","title":"Sample Reel","duration":17.866,"thumbnail":"https://...jpg"},
"title":"Sample Reel",
"duration":17.866,
"thumbnail":"https://...jpg",
"kv_files":{"final":{"kv_key":"MEDIA_1202940488392514_final.mp4","local":null}},
"download_links":{"final_kv":"MEDIA_1202940488392514_final.mp4","final_direct_url":"https://api.apify.com/v2/key-value-stores/~/records/MEDIA_1202940488392514_final.mp4"}
}

Explanation: metadata + a Key‑Value record containing the MP4. Local path may be null if file uploaded and removed.


🔑 Environment variables & secrets

  • <APIFY_TOKEN> — store as a secret in Apify Console.
  • <PROXY_USER:PASS@HOST:PORT> — placeholder for custom proxy credentials.
  • HTTP_PROXY / HTTPS_PROXY — optional env vars for custom proxy usage.

▶️ How to Run (Console, CLI, API)

Console

  1. Open Actor page in Apify Console.
  2. Paste input.example.json or custom input into the Input editor.
  3. Enable Apify Proxy if needed and click Run.
  4. Inspect Dataset and Key‑Value store for results.

CLI

  • apify run --actor <OWNER>/<ACTOR_NAME> --input input.example.json

API

  • Use the Python example above with <APIFY_TOKEN>.

⏰ Scheduling & Webhooks

  • Schedule runs in Console (cron-style) and re-run automatically.
  • Configure a webhook in Actor settings to receive POST notifications with run results.

🕾️ Logs & Troubleshooting

  • View logs in the Run view in Apify Console.

  • Quick fixes:

    • No output / "No Reel URLs provided" — ensure startUrls contains Reel URLs (patterns: /reel/ or /reels/).
    • Download failed — set download=true and check desired_resolution.
    • Authentication errors — supply cookiesFile or use a proxy with access.
    • Rate limits — enable Apify Proxy or reduce maxConcurrency.

🔒 Permissions & Storage Notes

  • Uses Dataset (JSON rows) and Key‑Value Store (media files). Local output/ is temporary unless preserve_downloads is true.
  • Store secrets in Apify Console secret storage; do not hardcode credentials.

🔟 Changelog (example)

  • 1.0.0 — Reels-only release: metadata extraction, H.264 MP4 download, Dataset + KV outputs.

🖌 Notes / TODOs

  • TODO: confirm cookiesFile expected format (not explicit in source).
  • TODO: add demo GIF/screenshots for the Quick Start hero.

🌍 Proxy Configuration

  • Enable Apify Proxy (Console): In run configuration, toggle Use Apify Proxy.

  • Custom proxy example:

    • HTTP_PROXY / HTTPS_PROXY: http://<PROXY_USER:PASS@HOST:PORT>
    • Input example:
{"proxyConfiguration": {"useApifyProxy": false, "proxyUrls": ["http://<PROXY_USER:PASS@HOST:PORT"]}}
  • Security: store credentials as secrets, not plaintext.
  • TODO: Consider proxy rotation for large-scale scraping.

📚 References

  • Apify Actor README guidelines (official)
  • Apify Input/Output schema docs (official)
  • Apify CLI & API usage docs (official)

🤔 What I inferred from main.py

  • Actor focuses on network extraction and upload to KV/Dataset.
  • Inputs: startUrls/url, download toggles, desired_resolution, cookiesFile, proxyConfiguration.
  • Reels detection is implemented — non-reel URLs are filtered out.

Why this Actor? Plug-and-play Reels downloader that returns production-ready MP4s and metadata — secure, fast, and built for scale. Run now to fetch results in seconds.

input.json

{ "startUrls": ["https://www.facebook.com/reel/12345"], "download": true, "download_merged": true, "desired_resolution": "1080p", "preserve_downloads": false, "cookiesFile": "cookies.txt", "proxyConfiguration": {"useApifyProxy": true}, "maxConcurrency": 5 }

CONFIG — Advanced Settings & Notes (Reels)

  • cookiesFile is optional. Use when accessing private or age-restricted Reels.
  • Upload cookies to Apify Key-Value and reference the path, or use Console secret storage.
  • TODO: confirm exact cookie file format expected.

Proxy recommendations

  • For stability and scale, enable Apify Proxy in run settings.
  • For custom proxies use proxyConfiguration.proxyUrls or set HTTP_PROXY/HTTPS_PROXY.
  • Never store proxy credentials in source; use Apify secrets.

Performance tips

  • Lower maxConcurrency on rate limits.
  • Use desired_resolution to limit download sizes.