Facebook Reels Scraper avatar

Facebook Reels Scraper

Pricing

$19.99/month + usage

Go to Apify Store
Facebook Reels Scraper

Facebook Reels Scraper

Extract Facebook Reels data including video information, engagement metrics, and metadata from Facebook pages.

Pricing

$19.99/month + usage

Rating

0.0

(0)

Developer

Scrapium

Scrapium

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

11 hours ago

Last modified

Share

Facebook Reels Scraper

Facebook Reels Scraper is an Apify actor that collects public Reels from the Facebook profiles you choose and streams structured metadata into your Apify dataset. It solves the challenge of reliably gathering Reel details (captions, timing, owner, media context) at scale from Facebook pages without manual copy‑paste. Built for marketers, developers, data analysts, and researchers, this Facebook Reels data scraper supports caps per profile, optional time filters, and proxy routing for stable Facebook Reels API scraping–style workflows — enabling ongoing monitoring, research, or building your own reel archive.

What data / output can you get?

Below are the primary fields the actor saves to the dataset for each Reel. These keys come directly from the actor’s output:

Data fieldDescriptionExample value
facebookUrlBase profile/page URL of the Reel’s owner (derived from page or owner metadata).https://www.facebook.com/mrbeast
inputUrlThe exact Reel page that was fetched.https://www.facebook.com/reel/607752005666436
topLevelUrlA constructed top-level post URL when available (may be empty).https://facebook.com/1372151420946458/posts/undefined/
topLevelReelUrlCanonical, shareable Reel URL (normalized with trailing slash).https://www.facebook.com/reel/607752005666436/
textReel caption/description text extracted from page JSON.Chicken Trap On Deserted Island 🐔
timeISO timestamp for when the Reel was published (UTC).2025-10-26T18:49:21.000Z
playCountRoundedNumeric view count normalized from play_count_reduced (e.g., 3.6M → 3600000).3600000
shareable_urlDirect shareable URL for the Reel when provided by Facebook.https://www.facebook.com/reel/607752005666436
video_owner_typeOwner type string from Facebook context (e.g., user/page).FACEBOOK_USER
is_original_audio_on_facebookWhether audio is original on Facebook, if present.true
play_count_reducedHuman-readable play count from Facebook (e.g., “3.6M”), if present.3.6M
startUrlThe profile URL you provided that led to this Reel (set by the actor).https://www.facebook.com/LeonardoDiCaprio/

Additional structured objects (when available on the page) are included as-is:

  • attachments: Array of attachment objects, often containing media → owner, duration, thumbnails.
  • video: Video object merged with useful flags (e.g., playable_duration_in_ms, embeddable).
  • playback_video: Playback metadata such as id, height/width, length_in_second, permalink_url, thumbnails, image, and audio/video availability indicators.
  • video_owner: Owner object with id, name, verification, profile URL, picture, etc.
  • fb_shorts_reshare_context, remix_info, soundtrack_info, track_title, music_album_art_uri, tracking, self_view_boost, if_should_change_url_for_reels, is_passive_content.

Notes on edge cases and issues:

  • request_error: Set when the HTTP request fails after internal retries (e.g., "ConnectTimeout").
  • parse_error: Set when page JSON cannot be parsed into a Reel payload.
  • http_status: Present when the HTTP status is not 200.
  • For profile-level failures, the actor also pushes rows like: {"startUrl": ..., "error": "...", "type": "profile_error"}.

Your results stream directly into the Apify Dataset during the run, so you can monitor progress and export when ready.

Key features

  • 🔍 Robust Reel discovery & pagination
    Merges HTML-sourced IDs with optional GraphQL pagination to surface more Reels per profile where available.

  • 🧩 Structured metadata extraction
    Collects captions, publish time, owner info, rounded play count, and rich media context (attachments, video, playback_video, soundtrack_info, track_title, and more) for precise Facebook Reels metadata extractor workflows.

  • 🔢 Per‑profile limits & time filters
    Respect resultsLimit (up to 10,000 per profile) and optionally filter by date or relative window using onlyPostsNewerThan (e.g., “7 days”, “2026-03-01”).

  • ⚡ Parallel fetching with backoff
    Fetches individual Reel pages in parallel with controlled concurrency, automatic retries, and backoff on 429/5xx to stabilize Facebook Reels API scraping–like operations.

  • 🔒 Proxy support built‑in
    Uses Apify Proxy when provided (residential recommended) and applies it to all HTTP requests in the run for fewer blocks — ideal for an FB Reels scraper at scale.

  • 🧵 Streamed saves to Dataset
    Each Reel is pushed as soon as it’s parsed. No need to wait for the whole run — great for bulk Facebook Reels downloader–style pipelines where downstream tools consume data live.

  • 🛠 Developer‑friendly architecture
    Pure HTTP (no login) with clear JSON output so you can integrate via the Apify platform API, use in automation scenarios, or export Facebook Reels to CSV from the Apify Dataset.

  • 🧭 Production‑ready reliability
    Per‑profile pacing, GraphQL doc_id resolution, and resilient page parsing keep your Facebook Reels crawler stable over longer runs.

How to use Facebook Reels Scraper – step by step

  1. Create or log in to your Apify account.
  2. Open the “Facebook Reels Scraper” actor.
  3. Paste Profile URLs into “Profile URLs” (startUrls): full Facebook profile links or bare usernames (e.g., “LeonardoDiCaprio”).
  4. Set “Max Reels per profile” (resultsLimit) to cap how many Reels you want from each profile (1–10,000).
  5. (Optional) Add a “Only posts newer than” value (onlyPostsNewerThan) such as “7 days” or a date like “2026-03-01” to skip older Reels.
  6. (Optional) Configure “Proxy” (proxyConfiguration). Residential proxies are recommended for Facebook.
  7. Start the run. Reels are fetched in parallel and streamed into the Dataset as they’re saved.
  8. Open the run’s Dataset to view, analyze, or export your results for further processing.

Pro tip: Use Apify scheduling and webhooks to automate recurring Facebook Reels analytics scraper workflows and route fresh data into your BI tools.

Use cases

Use caseDescription
Social media analytics for brandsAggregate captions, owner info, and play counts across profiles to benchmark performance and spot creative trends.
Competitive monitoringTrack newly published Reels from target pages, filtered by “Only posts newer than,” to speed up content intelligence.
Research & archivingBuild a structured archive of public Reels with timestamps and metadata for longitudinal studies or media libraries.
Content strategy & planningAnalyze caption text and timing to inform what to post next — a practical Facebook Reels extractor tool for teams.
Data engineering pipelinesAutomate Facebook Reels API scraping–style ingestion via the Apify platform and export to your warehouse from the Dataset.
QA and A/B analysisCompare playback_video metadata, durations, and owner types to validate hypotheses about format and engagement.

Why choose Facebook Reels Scraper?

Purpose‑built for precision and reliability, this FB Reels scraper emphasizes clean extraction and resilient runs over fragile browser workarounds.

  • 🎯 Accurate, structured output mapped from Facebook’s embedded JSON (no guesswork parsing of HTML text).
  • ⚡ Parallelized, resilient fetching with retries/backoff for large batches and long runs.
  • 🧩 Rich media context (attachments, video, playback_video, soundtrack_info) for deeper analysis.
  • 🔒 Proxy‑aware by design; residential proxies recommended for stability.
  • 🧰 Developer‑ready JSON suitable for automation, ETL, and analysis pipelines.
  • 💸 Cost‑effective at scale via Apify infrastructure (dataset streaming + one‑click export).
  • 🛡 Public data only; no login or cookies required, reducing risk compared with unstable alternatives.

In short: a production‑oriented Facebook Reels metadata extractor that trades flaky browser scripting for resilient HTTP collection.

Yes — when used responsibly. This actor collects publicly available Reel data from Facebook profiles/pages you specify and does not access private or authenticated content.

Guidelines to stay compliant:

  • Scrape only public pages and Reels you’re permitted to analyze.
  • Avoid collecting or redistributing personal/sensitive information.
  • Use the data for legitimate purposes (research, analytics, monitoring).
  • Respect Facebook’s terms and applicable regulations; consult your legal team for edge cases.

Input parameters & output format

Example input

{
"startUrls": [
"https://www.facebook.com/people/Emily-Olivia/61563061022550/",
"https://www.facebook.com/LeonardoDiCaprio/"
],
"resultsLimit": 10,
"onlyPostsNewerThan": "7 days",
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}

Parameters

  • startUrls (array of string)
    Description: One profile URL or username per line (e.g., facebook.com/YourPage or a /people/... link). Usernames without https:// work too.
    Required: Yes
    Default: Not set

  • resultsLimit (integer)
    Description: Stop after this many Reels from each profile (newest‑first order where available).
    Required: No
    Default: 10 (min: 1, max: 10000)

  • onlyPostsNewerThan (string)
    Description: Time filter to skip older Reels. Absolute date (e.g., 2026‑03‑01) or relative window like “7 days”, “2 weeks”. Leave blank for no cutoff.
    Required: No
    Default: "" (blank = off)

  • proxyConfiguration (object)
    Description: Route traffic through Apify Proxy (residential recommended) for fewer blocks. Applies to all HTTP requests in this run.
    Required: No
    Default: Not set (UI prefill suggests Apify Residential)

Example output

{
"facebookUrl": "https://www.facebook.com/mrbeast",
"inputUrl": "https://www.facebook.com/reel/607752005666436",
"topLevelUrl": "https://facebook.com/1372151420946458/posts/undefined/",
"topLevelReelUrl": "https://www.facebook.com/reel/607752005666436/",
"text": "Chicken Trap On Deserted Island 🐔",
"time": "2025-10-26T18:49:21.000Z",
"playCountRounded": 3600000,
"attachments": [
{
"media": {
"__typename": "Video",
"id": "607752005666436",
"playable_duration_in_ms": 715614
}
}
],
"tracking": {
"top_level_post_id": "607752005666436"
},
"self_view_boost": null,
"video": {
"id": "607752005666436",
"embeddable": true
},
"if_should_change_url_for_reels": {
"shareable_url": "https://www.facebook.com/reel/607752005666436"
},
"shareable_url": "https://www.facebook.com/reel/607752005666436",
"playback_video": {
"id": "607752005666436",
"permalink_url": "https://www.facebook.com/reel/607752005666436/",
"length_in_second": 715.614,
"image": {
"uri": "https://scontent.example-cdn.net/preview.jpg"
},
"audio_user_preferred_language": "en"
},
"video_owner": {
"id": "100044548384499",
"name": "MrBeast",
"url": "https://www.facebook.com/mrbeast"
},
"is_passive_content": false,
"fb_shorts_reshare_context": {},
"remix_info": {},
"video_owner_type": "FACEBOOK_USER",
"soundtrack_info": {
"type": "CUSTOM_AUDIO"
},
"track_title": "MrBeast · Original audio",
"music_album_art_uri": "https://scontent.example-cdn.net/album_art.png",
"is_original_audio_on_facebook": true,
"play_count_reduced": "3.6M",
"startUrl": "https://www.facebook.com/LeonardoDiCaprio/"
}

Other possible keys that may appear:

  • request_error: Present when the HTTP request fails after retries (e.g., "ConnectTimeout").
  • parse_error: Present when the page JSON can’t be parsed into a Reel payload.
  • http_status: Present when the response status is not 200.
  • For profile-level failures, rows like: {"startUrl": "...", "error": "...", "type": "profile_error"} are pushed.

FAQ

Do I need to log in to use the Facebook Reels Scraper?

No. The actor fetches publicly available Facebook pages and Reels via HTTP requests, so it does not require login or cookies.

How many Reels can I scrape per profile?

Up to 10,000 per profile. Set resultsLimit to control the cap. If fewer rows are returned, it usually means the profile has fewer public Reels or Facebook returned fewer items during pagination.

Can I filter by date (e.g., last 7 days)?

Yes. Use onlyPostsNewerThan with values like “7 days” for a rolling window or an absolute date like “2026-03-01” to skip older Reels.

Does it support proxies?

Yes. Provide proxyConfiguration to route all requests through Apify Proxy. Residential proxies are recommended for Facebook to reduce blocks.

What kind of data does it return for each Reel?

It returns caption text, publish time, owner info, rounded play count, and rich media context (attachments, video, playback_video, soundtrack_info, track_title, etc.). See the “What data / output can you get?” and “Output format” sections for exact fields.

Can I download or analyze media from the output?

The playback_video object and attachments often include IDs, thumbnails, and playback metadata (and sometimes URLs) that you can use in downstream processing. Availability varies by Reel and Facebook response.

Does this scrape comments, likes, or shares explicitly?

No. This actor focuses on the Reel page context and media metadata. Engagement details like play counts are included when provided by Facebook (e.g., play_count_reduced → playCountRounded), but it does not fetch comment threads.

How do I export the results?

Open the run’s Dataset in Apify and export. Each Reel is pushed as it’s saved, so you can monitor and export as needed.

Final thoughts

Facebook Reels Scraper is built to collect structured, reliable Reel metadata from the profiles you specify — fast, resilient, and ready for automation. With proxy support, per‑profile limits, optional time filters, and streaming saves to the Dataset, it’s ideal for marketers, developers, analysts, and researchers building Facebook Reels crawler pipelines or exporting datasets for analysis. Run it on Apify, hook it into your workflows via the platform API, and start extracting smarter today.