Facebook Reels Scraper avatar

Facebook Reels Scraper

Pricing

$19.99/month + usage

Go to Apify Store
Facebook Reels Scraper

Facebook Reels Scraper

Extract data from Facebook Reels using the Facebook Reels Scraper. Collect reel URLs, captions, likes, comments, views, and creator profile links automatically. Ideal for social media research, influencer discovery, and content performance analysis.

Pricing

$19.99/month + usage

Rating

0.0

(0)

Developer

ScrapAPI

ScrapAPI

Maintained by Community

Actor stats

0

Bookmarked

4

Total users

1

Monthly active users

13 days ago

Last modified

Share

Facebook Reels Scraper

The Facebook Reels Scraper is a production-ready Apify actor that collects public Facebook Reels data from profiles you choose — fast, reliably, and at scale. It solves the tedious, error-prone process of manual copy/paste by streaming structured Reels metadata (captions, play counts, owner info, media details, timestamps, and more) straight into your Apify dataset. Built for marketers, developers, data analysts, and researchers, this Facebook Reels scraping tool combines deep pagination with robust retry logic and proxy support to build a dependable Facebook Reels dataset for analysis, monitoring, and content workflows. Use it to power a Facebook Reels crawler for bulk collection, enrich a Python Facebook Reels scraper pipeline via API, or feed a Facebook Reels downloader with playback metadata — all without Selenium or browser automation.

What data / output can you get?

Below are real output fields this actor pushes to the Apify dataset for each discovered Reel. Values are streamed row-by-row as soon as they’re saved.

Data typeDescriptionExample value
facebookUrlProfile base URL resolved for the Reel ownerhttps://www.facebook.com/LeonardoDiCaprio/
inputUrlThe specific Reel page URL that was fetchedhttps://www.facebook.com/reel/1234567890123456
topLevelReelUrlCanonical shareable Reel URL (trailing slash normalized)https://www.facebook.com/reel/1234567890123456/
topLevelUrlTop-level post URL when availablehttps://facebook.com/1234567890123456/posts/undefined/
textReel caption/message text (if present)Protecting our oceans starts with…
timePublication timestamp in ISO format (UTC)2026-04-13T05:16:21.000Z
play_count_reducedHuman-readable play count string from Facebook3.6M
playCountRoundedParsed numeric play count3600000
shareable_urlShareable Reel URL extracted from page JSONhttps://www.facebook.com/reel/1234567890123456
video_ownerObject with creator/page metadata{"name":"Example Page","url":"https://www.facebook.com/example"}
playback_videoObject with media metadata (e.g., id, length, thumbnails){"id":"1234567890123456","length_in_second":60,"image":{"uri":"…"}}
attachmentsArray of media attachment objects (if present)[{"media":{"__typename":"Video","id":"123…"}}]
trackingRaw tracking dictionary if available{"top_level_post_id":"123…","page_insights":{…}}
is_original_audio_on_facebookBoolean indicating original audiotrue
videoRaw video object merged from page JSON{"id":"123…","playable_duration_in_ms":60000}
is_passive_contentWhether FB marks it as passivefalse
soundtrack_infoAudio metadata when available{"type":"CUSTOM_AUDIO"}
track_titleTrack title if available or derivedExample Page · Original audio
music_album_art_uriAlbum art URI when presenthttps://…/album_art.jpg
startUrlThe profile URL you provided for this runhttps://www.facebook.com/LeonardoDiCaprio/
parse_errorError message when page JSON parsing had issuesshort_form_video_context not found in page JSON
http_statusHTTP status from the Reel page request (non-200 only)429
request_errorNetwork error class name when a request failsReadTimeout

Notes:

  • Rows may include any combination of the fields above depending on what Facebook returns for each Reel. The actor also pushes error rows for profile-level failures with fields: startUrl, error, type="profile_error".
  • Export your Facebook Reels dataset from the Apify run’s Dataset in JSON, CSV, or Excel to feed analytics, reporting, or downstream pipelines (e.g., a Facebook video scraper or Facebook Reels downloader workflow).

Key features

  • 🚀 Deep pagination for more Reels per profile
    Uses Facebook GraphQL pagination where available to go beyond initial page results, honoring your per-profile cap.

  • 📈 Date-based filtering
    Apply a cutoff with onlyPostsNewerThan (absolute date or relative window like “7 days”) to collect just the recent Facebook Reels data you need.

  • 📦 Streaming to dataset in real time
    Each Reel is pushed immediately with await Actor.push_data — no need to wait until the run finishes to start analysis.

  • 🔢 Results cap control (1–10,000 per profile)
    Use resultsLimit to set an upper bound for each profile — perfect for quick samples or bulk download Facebook Reels data collection runs.

  • 🔒 Robust proxy support
    Integrates Apify Proxy via proxyConfiguration (Residential recommended) for stable Facebook Reels API scraping on public endpoints.

  • 🛡️ Resilient by design
    Built-in retries, backoff, and throttling (HTTP 429/5xx handling and GraphQL “empty body” recovery) keep your Facebook Reels crawler running reliably.

  • 🧰 Developer friendly
    Works great in automation pipelines and with the Apify API. Feed its playback_video metadata into a Facebook Reels downloader or Python Facebook Reels scraper workflow.

  • 🧪 No Selenium required
    Pure HTTP requests with smart JSON parsing — scrape Facebook Reels without browser automation, making it lighter and faster than “scrape Facebook Reels with Selenium” approaches.

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 in the Apify console.
  3. Paste one or more profile identifiers into startUrls (full profile links or bare usernames both work).
  4. Set resultsLimit to control how many Reels to fetch per profile (1–10,000).
  5. Optionally set onlyPostsNewerThan to a date (YYYY-MM-DD) or relative window (e.g., “7 days”). Leave blank to disable.
  6. Configure proxyConfiguration if you plan to use Apify Proxy (Residential proxies are recommended for Facebook).
  7. Start the run. You’ll see logs as profiles queue and each Reel is saved.
  8. Open the run’s Dataset to preview, then export your Facebook Reels dataset to JSON/CSV/Excel for analysis or to power a Facebook Reels downloader workflow.

Pro Tip: Schedule the actor and pull results via the Apify API to maintain a rolling Facebook Reels dataset for continuous reporting or enrichment.

Use cases

Use case nameDescription
Social media analytics + reportingMeasure reach trends from playCountRounded and timestamps to understand what resonates.
Influencer discovery & monitoringTrack creators’ public Reels and capture owner profile URLs for downstream evaluation.
Content performance analysisCompare captions and play counts over time to inform creative strategy.
Research datasets (academic/NGO)Build reproducible Facebook Reels datasets with timestamps and media metadata for studies.
Media archiving workflowsStore canonical Reel URLs, captions, and thumbnails from playback_video for preservation.
API-driven enrichmentPipe dataset rows into your internal APIs to tag, classify, and enrich Reels at scale.
Automation pipelinesUse Apify integrations to trigger alerts when new public Reels match your time filter and caps.

Why choose Facebook Reels Scraper?

A precision-first Facebook Reels data scraper built for automation, scale, and reliability.

  • ✅ Accurate JSON parsing of public Reels metadata (captions, timestamps, owner, playback).
  • 🌍 No login required — designed for public pages and profiles.
  • 📊 Scales from quick samples to large Facebook Reels dataset builds (1–10,000 per profile).
  • 🧩 Developer-ready — ideal as a Facebook Reels API scraping component in Python or ETL pipelines.
  • 🔒 Stable runs with Apify Proxy support and careful throttling/backoff.
  • 💸 Cost-effective vs. brittle extensions or heavy browser automation — fewer moving parts, more reliability.
  • 🔗 Play nicely with your stack — export to JSON/CSV/Excel and integrate via Apify API.

In short, this is a production-grade Facebook video scraper for public Reels that outperforms unstable, manual, or browser-based alternatives.

Yes — when used responsibly. This actor targets publicly available Reels only and does not access private or authenticated content.

Guidelines for responsible use:

  • Scrape public data only; avoid login-gated content.
  • Respect platform terms and applicable laws (e.g., GDPR/CCPA).
  • Don’t use scraped data for spam or abusive purposes.
  • Verify compliance with your legal team for edge cases and specific jurisdictions.

Input parameters & output format

Example input

{
"startUrls": [
"https://www.facebook.com/LeonardoDiCaprio/",
"mrbeast"
],
"resultsLimit": 25,
"onlyPostsNewerThan": "7 days",
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}

Parameter details

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

  • resultsLimit (integer)
    Description: Stop after this many Reels from each profile (newest-first order where available).
    Default: 10 (internally capped to 1–10,000)
    Required: No

  • onlyPostsNewerThan (string)
    Description: Absolute date (YYYY-MM-DD) or relative window like “7 days”, “2 weeks”. Leave blank for no cutoff.
    Default: ""
    Required: No

  • proxyConfiguration (object)
    Description: Route traffic through Apify Proxy (recommended for fewer blocks).
    Default: {"useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"]} (prefill)
    Required: No

Example output (successful Reel)

{
"facebookUrl": "https://www.facebook.com/LeonardoDiCaprio/",
"inputUrl": "https://www.facebook.com/reel/1234567890123456",
"topLevelUrl": "https://facebook.com/1234567890123456/posts/undefined/",
"topLevelReelUrl": "https://www.facebook.com/reel/1234567890123456/",
"text": "Protecting our oceans starts with…",
"time": "2026-04-13T05:16:21.000Z",
"play_count_reduced": "3.6M",
"playCountRounded": 3600000,
"shareable_url": "https://www.facebook.com/reel/1234567890123456",
"video_owner": {
"__typename": "User",
"name": "Example Page",
"url": "https://www.facebook.com/example"
},
"playback_video": {
"id": "1234567890123456",
"length_in_second": 60,
"image": {
"uri": "https://scontent.xx.fbcdn.net/v/t15.5256-10/…jpg"
}
},
"attachments": [],
"tracking": {
"top_level_post_id": "1234567890123456"
},
"is_original_audio_on_facebook": true,
"video": {
"id": "1234567890123456",
"playable_duration_in_ms": 60000,
"embeddable": true
},
"is_passive_content": false,
"soundtrack_info": {
"type": "CUSTOM_AUDIO"
},
"track_title": "Example Page · Original audio",
"music_album_art_uri": "https://scontent.xx.fbcdn.net/v/t39.30808-1/…png",
"startUrl": "https://www.facebook.com/LeonardoDiCaprio/"
}

Example output (request/parse issue)

{
"inputUrl": "https://www.facebook.com/reel/1234567890123456",
"request_error": "ReadTimeout",
"startUrl": "https://www.facebook.com/LeonardoDiCaprio/"
}

Example output (profile-level error row)

{
"startUrl": "https://www.facebook.com/some-profile/",
"error": "Stopped on this profile: HTTP 429",
"type": "profile_error"
}

Notes:

  • Fields like parse_error and http_status appear only when applicable.
  • Availability of nested media URLs within playback_video depends on what Facebook returns for that Reel.

FAQ

Do I need to log in to scrape Facebook Reels with this actor?

No. The Facebook Reels Scraper targets publicly available Reels and does not require login or cookies. It performs HTTP requests to public pages and parses embedded JSON.

How many Reels can I collect per profile?

You control this with resultsLimit. The accepted range is 1 to 10,000 per profile. The actor will stop once the cap is reached or no more public Reels are available.

Can I filter by date or time range?

Yes. Use onlyPostsNewerThan with an absolute date (e.g., 2026-04-01) or a relative phrase like “7 days” or “2 weeks” to collect newer Reels only.

Does this help me download Facebook Reels videos?

It exposes playback_video metadata (including lengths and thumbnails, and often media-related fields) that you can use in a Facebook Reels downloader pipeline. Direct media availability varies by Reel and Facebook response.

What data points are guaranteed in the output?

All rows include at least inputUrl and startUrl. Additional fields such as text, time, shareable_url, play_count_reduced, playCountRounded, video_owner, and playback_video are included when present in the page JSON. Error-specific fields (request_error, http_status, parse_error) appear only on failures.

Can I use proxies?

Yes. Configure proxyConfiguration to route requests via Apify Proxy. Residential proxy groups are recommended for Facebook to minimize blocking and improve stability.

Does this use Selenium or a headless browser?

No. It performs pure HTTP requests with smart JSON parsing — more efficient and stable than “scrape Facebook Reels with Selenium” approaches for public data.

Can I integrate this with Python or an API?

Yes. Run it on Apify, then access your dataset via the Apify API to plug into a Python Facebook Reels scraper workflow, ETL jobs, or other automation.

Closing CTA / Final thoughts

The Facebook Reels Scraper is built to collect public Facebook Reels metadata and media details at scale — reliably and without browser automation. With deep pagination, date filtering, proxy support, and real-time dataset streaming, it’s ideal for marketers, analysts, developers, and researchers who need a dependable Facebook Reels data scraper. Connect it to your Apify API workflows, feed a Facebook video scraper or downloader with playback metadata, and automate your Facebook Reels dataset builds with confidence. Start extracting smarter today — and turn Facebook Reels into actionable insights.