π¬ Facebook Reels Scraper Plus
Pricing
$14.99/month + usage
π¬ Facebook Reels Scraper Plus
Scrapes Facebook Reels at scale, extracting video URLs, captions, creators, engagement metrics, hashtags, audio details, and publish dates. Ideal for trend analysis, content research, influencer tracking, and automated short-form video insights
Pricing
$14.99/month + usage
Rating
0.0
(0)
Developer
Scrapio
Maintained by CommunityActor stats
1
Bookmarked
37
Total users
6
Monthly active users
3 days ago
Last modified
Categories
Share
Facebook Reels Scraper β Extract Reels, Owners and Engagement Metrics
Facebook Reels Scraper Plus turns any public Facebook profile, page, or single reel URL into clean, typed JSON rows β no HTML parsing required. Each row carries the video's media URLs (HD and SD), duration, dimensions, thumbnail, owner identity, and Facebook's own play-count figure, plus caption-derived fields (hashtags, mentions, links) computed locally. Unlike scraping frameworks that hand back raw HTML or a full unflattened Facebook payload, this Actor returns flat, ready-to-use fields your pipeline can consume without a parsing step. Reaction, comment, and share counts, plus a computed engagement rate and virality score, are available as an opt-in add-on. This guide covers every input and output field, how the Actor's Reels-tab harvesting and pagination actually work, and three concrete ways teams put it into production.
π§ What Does Facebook Reels Scraper Plus Do?
Facebook Reels Scraper Plus collects public Reels from Facebook β the short-form vertical video format Facebook surfaces on profile and page "Reels" tabs, plus standalone /reel/{id} posts. It requires no Facebook login or API token: every request goes out as an unauthenticated, Chrome-impersonated HTTP call against Facebook's own public web pages. Point it at one or more profile/page URLs and it expands each one's Reels tab automatically, newest first; point it at a /reel/{id} URL or bare numeric reel ID and it scrapes that one video directly.
- π¬ Reel media β HD and SD direct video URLs, thumbnail, duration, width/height
- π€ Owner identity β name, numeric ID, profile URL, avatar, verification badge, and whether the owner is a Facebook user or a page (
videoOwnerType) - βΆοΈ Reach β Facebook's own rounded play count, both as an integer and as the original abbreviated string (
"1.4M") - π Optional engagement analytics β exact reaction and comment counts, rounded share count, and two derived metrics (
engagementRate,virality) computed locally from the raw counts - π Caption-derived fields β hashtags, mentions, external links, emojis, caption length, and word count, all parsed from the caption text with no extra request
- π·οΈ Content flags β whether a reel is a reshare, remixable, or a sponsored/branded-content post
β‘ Features & Capabilities
Facebook Reels Scraper Plus is built around three things: complete field coverage per reel, honest handling of Facebook's rounded metrics, and cost control through pre-filtering.
Core features
- Full profile/page Reels-tab harvest. The Actor reads the initial Reels-tab HTML for the richest available story nodes, then paginates Facebook's internal GraphQL endpoint (
ProfileCometAppCollectionReelsRendererPaginationQuery) using a cursor discovered from that same page β no separate detail-page fetch is needed to get the base fields (reelId,caption,durationSeconds,width,height,videoUrlHD,videoUrlSD,thumbnailUrl,ownerId,ownerName,ownerUrl,ownerVerified,ownerAvatar,pageId,videoOwnerType,playCount,playCountText,isReshare,isRemixable,isSponsored). Detail-page requests are only made whenincludeEngagementis enabled. - Single-reel mode. A
/reel/{id}URL, a/videos//watch?v=URL, or a bare 6β25 digit ID is detected automatically and scraped as one row, bypassing profile pagination and theresultsLimitcap entirely. - Pre-fetch filtering.
keywords,excludeKeywords, andminPlaysare evaluated on data already in hand before any optional engagement request is made, so filtered-out reels never trigger the extra per-reel fetch.minReactionsandminCommentsare evaluated after the engagement fetch, since those fields only exist onceincludeEngagementruns. - Local, free derived fields.
ageDays,hashtags,mentions,externalLinks,emojis,captionLength,wordCount,totalEngagement,engagementRate, andviralityare all computed from data already retrieved β none of them cost an extra request. - Chrome TLS impersonation on every request. All HTTP calls go through
curl_cffiwithimpersonate="chrome131"; a plain, non-impersonated request to a/reel/{id}URL returns an HTTP 400 empty shell rather than the page content.
How Facebook Reels Scraper Plus compares to other Facebook Reels scrapers
| Feature | Facebook Reels Scraper Plus | apify/facebook-reels-scraper | premiumscraper/facebook-reels-and-page-profile-scraper |
|---|---|---|---|
| Output shape | Flat, typed columns; raw delivery payload only on request (includeRawData) | Nested Facebook story object by default β the sample output on their listing includes the full DASH XML manifest and encrypted tracking blobs in every row (observed on the Apify Store, 2026-07-26) | Flattened fields, with a separate "raw API data" block available (observed 2026-07-26) |
| Reaction / comment / share counts | Optional, exact reaction/comment counts + rounded share count, toggled by includeEngagement | Not listed among the documented output fields (observed 2026-07-26) | Documented as standard output fields, not shown as a cost-optional toggle (observed 2026-07-26) |
| Computed engagement metrics | engagementRate and virality computed locally from reaction+comment+share vs. plays/age | Not documented (observed 2026-07-26) | Not documented (observed 2026-07-26) |
| Caption-derived fields | hashtags, mentions, externalLinks, emojis, captionLength, wordCount β all local, no extra request | Not documented as separate fields (observed 2026-07-26) | Hashtags/mentions handled via "Message Ranges" (rich-text offsets), not pre-parsed into arrays (observed 2026-07-26) |
| Single-reel URL input | Built in β detected automatically from a /reel/{id} URL or bare ID | Not documented (their input is page-URL driven) (observed 2026-07-26) | Available behind a separate "Enable Individual Reel Scraping" toggle, with an extra charge noted on their listing (observed 2026-07-26) |
| Anti-bot approach | Chrome131 TLS impersonation via curl_cffi, documented in-repo | Not documented on the listing (observed 2026-07-26) | Claims "browser fingerprint impersonation" and no headless browser (observed 2026-07-26) |
If your use case is feeding structured data to an LLM or a database, the output-shape row is the decision-maker: a nested payload with an embedded DASH manifest means every consumer downstream has to write its own extraction step before the data is usable, which is a reliability failure mode inside an agent loop, not a feature.
When another tool might suit you better
If you need Facebook Page or Profile data β bio, follower/like counts, category, About-page fields β alongside reels, this Actor won't get you there; it returns reel rows only. premiumscraper's combined Reels-and-Page/Profile scraper documents a dedicated Page/Profile extraction toggle for exactly that combined use case (observed on the Apify Store, 2026-07-26). If your workflow genuinely needs both reel and profile metadata in the same run, that combination is worth evaluating; if you only need reels, the narrower, flatter output here is simpler to consume.
Facebook Reels Scraper Plus within the Scrapio data stack
Facebook Reels Scraper Plus covers Facebook Reels specifically. For general Facebook page posts and comments, use Facebook Page Posts & Comments Scraper. For Facebook group activity, use Facebook Group Posts & Engagement Scraper. For keyword-driven post discovery across Facebook, use Facebook Posts Search Scraper. To resolve a Facebook vanity URL or username to its numeric ID before feeding it into any of these, use Facebook URL to ID Extractor.
Why do developers and data teams scrape Facebook Reels?
π’ Social media and marketing teams
Agencies and in-house social teams feed startUrls with a client's or a competitor's page, cap resultsLimit, and turn on includeEngagement to pull reactionCount, commentCount, shareCount, and the computed engagementRate for every recent reel. The output lands directly in the Apify dataset for export to a reporting dashboard or spreadsheet β no manual tallying of Facebook's own rounded on-page counters, and ageDays makes it trivial to normalize performance by how long a reel has been live.
π AI training data and RAG indexing
caption, hashtags, mentions, and videoOwnerType are the highest-information text and category fields for reels β caption is the natural-language content, hashtags and mentions are structured entities already extracted, and videoOwnerType classifies the source. For RAG enrichment, index caption alongside ownerName, publishedAt, and url so a retrieval query can surface the reel and its context. For training data, durationSeconds, hashtags, isSponsored, and engagementRate (when includeEngagement is on) form a consistently typed feature set across every row, since Facebook's own value is normalized to an integer or boolean rather than left as a display string.
π± Competitive and market intelligence
Track a competitor's or industry's Reels cadence by running the same profile URLs on a schedule and diffing on publishedAt and reelId to catch new uploads, or on playCount and engagementRate to catch which existing reels are gaining traction. isSponsored flags paid/branded content separately from organic posts, so a monitoring pipeline can segment spend-driven reach from organic reach without manual review.
π¬ Research and academic use
Academic and social-research use cases β content analysis, virality studies, platform-behavior research β can build a structured Reels dataset from public profiles at scale. Every field documented in this README comes only from content Facebook serves to an unauthenticated visitor; no private, login-gated, or friends-only content is accessible to this Actor.
π₯ Product and SaaS development
Because output is typed JSON with a stable field set, it's a direct fit for building a monitoring dashboard, a creator-analytics tool, or a content-archival product on top of scheduled runs. videoUrlHD/videoUrlSD give a downstream product direct playable/downloadable URLs without re-deriving them from Facebook's page markup.
π Input Parameters
All parameters below are read directly from .actor/actor.json's input schema β names, types, defaults, and constraints are reproduced exactly.
| Parameter | Required | Type | Description | Example Value |
|---|---|---|---|---|
startUrls | Yes | array (stringList) | One entry per line. Profile/page URLs, plain usernames, or direct reel URLs/IDs. | "https://www.facebook.com/LeonardoDiCaprio/" |
resultsLimit | No | integer (min 1, max 10000, default 20) | Stop after this many reels per profile (newest first). Ignored for single-reel URLs. | 20 |
includeEngagement | No | boolean (default false) | Adds reactionCount (exact), commentCount (exact), shareCount (Facebook-rounded), and derived engagementRate/virality. Costs one extra request per profile-sourced reel. | true |
onlyPostsNewerThan | No | string (datepicker, absolute or relative, default "") | Absolute date or relative window (e.g. 7 days, 2 weeks, 3 months). Leave blank for no cutoff. Applies only to profile-sourced reels, not single-reel URLs. | "3 months" |
keywords | No | array (stringList, default []) | Keep only reels whose caption contains at least one of these (case-insensitive). Leave empty to keep all. | ["giveaway"] |
excludeKeywords | No | array (stringList, default []) | Drop reels whose caption contains any of these (case-insensitive). | ["ad"] |
minPlays | No | integer (min 0, default 0) | Keep only reels with at least this many plays, using Facebook's rounded play count. 0 = no minimum. | 1000 |
minReactions | No | integer (min 0, default 0) | Requires includeEngagement. Keep only reels with at least this many reactions. 0 = no minimum. | 50 |
minComments | No | integer (min 0, default 0) | Requires includeEngagement. Keep only reels with at least this many comments. 0 = no minimum. | 10 |
includeRawData | No | boolean (default false) | Adds rawVideoDelivery β the DASH manifest XML plus all bitrate variants. Kept out of the default dataset table view. | false |
proxyConfiguration | No | object (proxy editor) | Apify Proxy configuration. Residential proxy is strongly recommended β Facebook fingerprint-blocks datacenter IPs. | {"useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"]} |
Example input
{"startUrls": ["https://www.facebook.com/LeonardoDiCaprio/","https://www.facebook.com/reel/1137009575037474"],"resultsLimit": 20,"includeEngagement": true,"onlyPostsNewerThan": "3 months","keywords": [],"excludeKeywords": [],"minPlays": 0,"minReactions": 0,"minComments": 0,"includeRawData": false,"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]}}
Supported URL types and input formats
startUrls accepts, one per line:
- A profile or page URL β
https://www.facebook.com/LeonardoDiCaprio/. Its Reels tab is opened and paginated automatically. - A bare username β
LeonardoDiCaprio, without the domain. It is normalized tohttps://www.facebook.com/LeonardoDiCapriointernally (a leading@is also stripped). - A
profile.php?id=β¦URL β the numericidquery parameter is preserved and anyskparameter is replaced when the Reels tab is requested. - A direct reel URL or bare reel ID β
https://www.facebook.com/reel/1137009575037474or just1137009575037474(any digit-only string 6β25 characters long). This switches the Actor into single-reel mode:resultsLimitandonlyPostsNewerThanare ignored, and only that one reel is scraped. - A
/videos/orwatch?v=URL containing a numeric ID is also recognized as single-reel input via the same ID-extraction pattern.
π¦ Output Format
Every reel is pushed as one flat JSON row to the Apify dataset as soon as it's parsed β rows stream in, they are not held back until the run finishes. The dataset's default view surfaces 24 of the row's fields as table columns; the row itself carries more.
Output for Reels
This is the complete row shape (39 keys with default settings; rawVideoDelivery is added as a 40th key only when includeRawData is true). Every key is copied from the row-building code in src/main.py and src/extract.py:
{"type": "reel","reelId": "1137009575037474","url": "https://www.facebook.com/reel/1137009575037474","caption": "One Battle After Another #OneBattleAfterAnother","publishedAt": "2025-10-02T21:58:53.000Z","durationSeconds": 102.728,"width": 1080,"height": 1920,"videoUrlHD": "https://video.xx.fbcdn.net/o1/v/t2/f2/...mp4","videoUrlSD": "https://video.xx.fbcdn.net/o1/v/t2/f2/...mp4","thumbnailUrl": "https://scontent.xx.fbcdn.net/v/t51.../thumb.jpg","ownerId": "100044203430980","ownerName": "Leonardo DiCaprio","ownerUrl": "https://www.facebook.com/LeonardoDiCaprio","ownerVerified": true,"ownerAvatar": "https://scontent.xx.fbcdn.net/v/.../avatar.jpg","pageId": "9085937115","videoOwnerType": "FACEBOOK_USER","playCount": 1400000,"playCountText": "1.4M","isReshare": false,"isRemixable": false,"isSponsored": false,"ageDays": 297.15,"hashtags": ["OneBattleAfterAnother"],"mentions": [],"externalLinks": [],"emojis": [],"captionLength": 49,"wordCount": 5,"reactionCount": 25724,"commentCount": 8264,"shareCount": 1400,"shareCountText": "1.4K","totalEngagement": 35388,"engagementRate": 0.025277,"virality": 119.1,"inputUrl": "https://www.facebook.com/LeonardoDiCaprio/","scrapedAt": "2026-07-26T00:00:00.000Z"}
reactionCount, commentCount, shareCount, shareCountText, totalEngagement, engagementRate, and virality are null unless includeEngagement is true. When it is false, the keys are still present on every row β set to null, never omitted β so downstream schemas stay stable across runs regardless of which toggles were used.
Output for Owner data
Owner fields are embedded in the same reel row above, not a separate dataset β this Actor returns one entity (reels), with the owner identity as an attribute of each reel: ownerId, ownerName, ownerUrl, ownerVerified, ownerAvatar, pageId, videoOwnerType. videoOwnerType is Facebook's own unmodified value (observed values include FACEBOOK_USER; the Actor does not normalize or enumerate it). pageId is read from the reel's tracking payload and is only present when Facebook includes it there.
Output for Engagement Analytics
Also embedded in the same row: reactionCount and commentCount are exact integers taken from the reel's feedback object; shareCount/shareCountText follow the same rounded-value pattern as playCount/playCountText. totalEngagement is the sum of whichever of reactions/comments/shares are non-null; engagementRate is totalEngagement divided by playCount (only computed when playCount is a positive integer); virality is totalEngagement divided by ageDays (only computed when ageDays is positive) β a rough measure of engagement accrued per day since posting. All three are null when there isn't enough data to compute them, never zero.
Schema stability and export options
The full field set stays the same across runs regardless of how many reels come back β a null value replaces a missing field rather than the key being dropped, so consumers can rely on a fixed schema. If Facebook changes its internal page structure, individual fields may return null rather than break the run outright, since the code checks each source field's presence before extracting it. Results are stored in the Actor's default Apify dataset and can be exported from the Apify Console or API in JSON, CSV, Excel, XML, or HTML, or fetched programmatically via apify_client.
π‘ Facebook Reels Scraper Plus Strategy Guide
π― Strategy 1: Real-time enrichment pipeline
Trigger a run from your own system whenever a new profile or page enters your CRM or lead list β pass it as a startUrls entry with a tight resultsLimit (e.g. 5) and includeEngagement: true. Read the finished dataset via the Apify API, then write playCount, engagementRate, and ownerVerified back onto the lead record as social-proof signals before a rep ever looks at it.
π― Strategy 2: Scheduled monitoring and alerting
Set up an Apify schedule to run the same startUrls list daily or weekly. Diff each run's output against the previous one on reelId to detect new uploads, and on playCount/engagementRate for existing reels to catch ones that are suddenly gaining traction. Alert only on the delta that matters to you β a new reelId for content teams, a jump in engagementRate for community managers.
π― Strategy 3: Bulk dataset build
For a research or training corpus, feed a large startUrls list (one profile per line) in a single run, or split it across several parallel runs keyed by profile group. Set resultsLimit to the volume you need per profile β up to the schema's 10000 maximum β and export the combined dataset to CSV or push it straight into a database via the Apify API's dataset endpoints. No concurrency limit on simultaneous Actor runs is documented for this Actor; any limit encountered would come from your Apify plan's memory/run concurrency, not from this Actor's code.
Strategy comparison at a glance
| Strategy | Best for | Run pattern | Output format |
|---|---|---|---|
| Real-time enrichment | CRM/lead scoring on new records | On-demand, single-profile, low resultsLimit | JSON via API, written back to source system |
| Scheduled monitoring | Competitor/brand tracking over time | Recurring Apify schedule, same startUrls each run | JSON/CSV, diffed run-over-run |
| Bulk dataset build | Research corpora, training data | One large run or several parallel runs | CSV/JSON export or direct database load |
π΄ Related Facebook Scrapers & Tools
| Scraper | What it extracts |
|---|---|
| Facebook Page Posts & Comments Scraper | Posts and comment threads from Facebook pages |
| Facebook Group Posts & Engagement Scraper | Posts and engagement from Facebook groups |
| Facebook Posts Search Scraper | Keyword-driven post discovery across Facebook |
| Facebook URL to ID Extractor | Resolves a Facebook vanity URL/username to its numeric ID |
| TikTok Trending Scraper | Trending short-form video data on TikTok, with trend insights |
| Pinterest Scraper | Pin data with engagement analytics |
| Instagram Hashtag Scraper | Instagram posts, likes, and comments by hashtag |
How to integrate Facebook Reels Scraper Plus with your stack
Facebook Reels Scraper Plus works with any language or tool that can make an HTTP request to the Apify API. The examples below use the actor name from .actor/actor.json: facebook-reels-scraper-plus.
Python
from apify_client import ApifyClientimport csvclient = ApifyClient("<APIFY_API_TOKEN>")run = client.actor("facebook-reels-scraper-plus").call(run_input={"startUrls": ["https://www.facebook.com/LeonardoDiCaprio/","https://www.facebook.com/reel/1137009575037474",],"resultsLimit": 20,"includeEngagement": True,"minPlays": 0,})rows = list(client.dataset(run["defaultDatasetId"]).iterate_items())with open("reels.csv", "w", newline="", encoding="utf-8") as f:writer = csv.DictWriter(f, fieldnames=rows[0].keys())writer.writeheader()writer.writerows(rows)print(f"Saved {len(rows)} reel rows to reels.csv")
Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: '<APIFY_API_TOKEN>' });const run = await client.actor('facebook-reels-scraper-plus').call({startUrls: ['https://www.facebook.com/LeonardoDiCaprio/'],resultsLimit: 20,includeEngagement: true,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(`Fetched ${items.length} reels`);items.forEach(r => console.log(r.reelId, r.playCount, r.engagementRate));
Async and scheduled pipelines
For large startUrls lists, call the Actor via apify_client's .start() method instead of .call() to fire the run and return immediately, then poll the run status or subscribe to the run's webhook to know when the dataset is ready. For recurring collection, use an Apify schedule rather than a self-managed cron job β it runs this Actor with the same input on a fixed interval without you having to host anything.
π― Who Needs Facebook Reels Scraper Plus? (Use Cases & Industries)
π’ Social media managers and agencies
Pull a client's or a competitor's recent reels with includeEngagement on, and report playCount, reactionCount, commentCount, shareCount, and engagementRate per reel without manually reading Facebook's on-page counters.
π AI and data engineering teams
Index caption, hashtags, and ownerName for RAG retrieval over a brand's or creator's reel history, or use the full row set as a consistently typed feature table for a classification or ranking model.
π± Competitive intelligence analysts
Track a set of competitor pages on a schedule and flag new reelId values or rising playCount/engagementRate on existing reels, with isSponsored separating paid content from organic.
π¬ Researchers
Build a public-data Reels dataset for content-analysis or virality research across as many public profiles as your startUrls list covers; every field traces back to content Facebook serves to an unauthenticated visitor.
π₯ SaaS and product builders
Use videoUrlHD/videoUrlSD plus the full field set as the data layer for a creator-analytics dashboard, an archival tool, or a monitoring product, scheduled through Apify rather than self-hosted infrastructure.
Is it legal to scrape Facebook?
Scraping publicly accessible web pages is generally lawful in the United States β the Ninth Circuit's hiQ Labs v. LinkedIn (2019, reaffirmed 2022) held that scraping data a website makes available without a login does not violate the Computer Fraud and Abuse Act. That precedent concerns unauthorized-access law, not Facebook's own Terms of Service β scraping in a way that violates a platform's ToS is a separate matter of civil contract risk, not a criminal one, and Facebook's terms do restrict automated data collection.
This Actor's output includes personal data where the reel owner is an individual β name, numeric ID, profile URL, avatar, and verification status. If you store or process this data about identifiable people, data protection laws such as the GDPR (EU/UK) or the CCPA (California) may apply to what you do with it, depending on your jurisdiction and use case.
Facebook Reels Scraper Plus returns only publicly accessible data. What you do with that data is your responsibility β consult legal counsel for commercial applications involving personal data.
β Frequently asked questions
Does Facebook Reels Scraper Plus work without a Facebook account?
Yes. Every request is an unauthenticated HTTP call to Facebook's public web pages β no login, cookies, or API token are used or required.
How does Facebook Reels Scraper Plus handle Facebook's anti-scraping measures?
Every request goes through curl_cffi with Chrome 131 TLS/JA3 impersonation (impersonate="chrome131"). A plain, non-impersonated request to a /reel/{id} URL returns an HTTP 400 empty shell rather than page content, which is why this is documented as a requirement rather than an optional hardening step. A Residential Apify proxy is strongly recommended in the input schema, since Facebook fingerprint-blocks datacenter IPs. GET requests retry up to 4 times with exponential backoff on connection errors and 5xx responses; the internal GraphQL pagination call retries up to 6 times with backoff on HTTP 429 and 502/503/504 responses.
Can I run Facebook Reels Scraper Plus at scale without getting blocked?
resultsLimit accepts up to 10,000 reels per profile, and the underlying pagination loop is internally capped at 400 GraphQL pages (roughly 12,000 reels at 30 per page) with a 35-page stall limit that stops pagination early if a profile runs out of new reels to return. No uptime or block-rate figure is published for this Actor; reliability in practice depends on your proxy pool, since Facebook's own rate limiting and IP reputation are outside this Actor's control.
How fresh is the data Facebook Reels Scraper Plus returns?
Every run fetches live from Facebook's own Reels-tab and reel-detail pages at the time it runs β nothing is cached or served from a prior run. scrapedAt on every row records exactly when that row was collected.
Does Facebook provide an official API for Reels I could use instead?
Not for arbitrary public profiles. Meta's own Reels API "allows access only to data created by Facebook Pages that you own, not any other public Facebook Page," as another Reels scraper on the Apify Store describes it (observed on the Apify Store, 2026-07-26) β meaning it cannot be used to collect Reels from third-party public pages or profiles the way this Actor does. Building and maintaining your own scraper against Facebook's internal GraphQL endpoints means re-solving TLS fingerprinting, endpoint/doc_id discovery, and retry logic yourself, and re-solving it again every time Facebook changes its front end.
Which fields work best for AI training and RAG indexing?
For RAG, index caption (the natural-language text) alongside ownerName, publishedAt, and url so a retrieval hit can be traced back to its source reel. For training data, durationSeconds, hashtags, videoOwnerType, isSponsored, and β when includeEngagement is on β engagementRate form a consistently typed feature set: every field returns as a typed primitive (string, number, boolean, or array), never a display string that needs parsing.
What happens to personal data returned by this Actor?
Facebook Reels Scraper Plus returns only publicly available data, including public profile identifiers where the reel owner is an individual. The lawful basis for storing and using that data β and compliance with GDPR, CCPA, or other applicable data protection law β sits with you as the operator of the run, not with the Actor.
Does Facebook Reels Scraper Plus work with Claude, ChatGPT, and other AI agent tools?
There is no dedicated MCP server documented for this Actor. It is callable as an HTTP endpoint by any agent framework through the Apify API β every response is typed JSON, so no HTML parsing step is required before passing a reel row into an LLM's context window.
How does Facebook Reels Scraper Plus compare to other Facebook Reels scrapers?
apify/facebook-reels-scraper documents a larger catalogue of Facebook-specific scrapers around it and a free-credit onboarding path (observed on the Apify Store, 2026-07-26), but its sample output row ships the full nested Facebook payload β including the DASH manifest XML and encrypted tracking blobs β by default, rather than flat columns. premiumscraper/facebook-reels-and-page-profile-scraper additionally extracts Page/Profile bio and follower data behind a separate toggle (observed on the Apify Store, 2026-07-26), which this Actor does not do β it is reels-only. Where Facebook Reels Scraper Plus differs from both: flat output by default with raw payload strictly opt-in, computed engagementRate/virality fields, and pre-fetch caption/play-count filtering that avoids the extra per-reel request entirely when a reel wouldn't pass anyway.
βΉοΈ Disclaimer
Facebook Reels Scraper Plus extracts only publicly available data from Facebook. This tool is intended for lawful use cases only. Users are responsible for complying with Facebook's terms of service and applicable data protection laws in their jurisdiction.