Facebook Reels Scraper | Page Reels & Metrics
Pricing
$3.00 / 1,000 reels
Facebook Reels Scraper | Page Reels & Metrics
Scrape public Facebook Page Reels and direct Reel URLs. Export engagement metrics, captions, creators, dates and optional media URLs to JSON, CSV or Excel. Filter by date and deduplicate results without a Facebook login.
Pricing
$3.00 / 1,000 reels
Rating
0.0
(0)
Developer
Arabia Insights
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 hours ago
Last modified
Categories
Share
Facebook Reels Scraper
Scrape public Facebook Page Reels and direct Reel URLs for content research, campaign reporting and competitor analysis. Collect captions, creator identity, publication dates, available engagement metrics and optional media links. Export Facebook Reels in bulk to JSON, CSV or Excel for spreadsheets, dashboards and scheduled reports.
The Actor works without a Facebook login or supplied cookies. It supports public Page listings and supported direct Reel/video URLs. A direct Reel can belong to a Page or personal profile; personal profile listing collection is not supported.
How to scrape Facebook Page Reels
- Add a public Page URL under Facebook Page URLs, or add individual links under Direct Reel URLs.
- Set Maximum unique Reels to a small number for your first run.
- Start the Actor. Open Results to review the rows, then check Run summary for failures, limits and incomplete sources.
- Export the dataset in your preferred format.
{"pageUrls": ["https://www.facebook.com/Atro55/"],"maxReels": 10,"includeMediaUrls": false}
This is a valid input example, not a promise that a particular Page is always accessible. Results depend on what Facebook makes publicly available at run time.
Facebook Reels data and use cases
Use Page Reels to compare publishing activity, track public engagement, find content themes, or prepare a list for manual review. Supply direct links when you already have a campaign or content shortlist. Global deduplication prevents the same Reel from appearing twice within a run, including mixed Page and direct inputs.
- Content research: compare captions, publishing dates and available engagement across public Pages.
- Campaign reporting: collect a consistent set of fields for a list of Reel URLs.
- Competitor analysis: compare posting frequency and public performance signals without combining plays and views.
- Recurring reports: schedule collection and use Reel IDs to match results across exports.
Inputs and advanced settings
| Setting | Effect |
|---|---|
pageUrls | Public Page URLs or Page Reels tabs. |
reelUrls | Public direct Reel or supported video URLs. |
maxReels | Maximum unique delivered results across all inputs; 1–10,000, default 1,000. |
dateFrom, dateTo | Inclusive UTC publication boundaries. Accept a date, ISO timestamp, or relative expression such as 7 days, 2 months or 1 year. Relative dates use the run time. |
includeMediaUrls | Include available public media links; default true. The Actor does not download media. |
maxCandidateReels | Maximum Reels to inspect before filtering, up to 30,000. Defaults to the smaller of five times maxReels or 30,000. Increasing this can find more date matches but uses more work. |
metricsMode | rounded uses standard public counts. Experimental exact requests more detailed direct-Reel counts when available. A rounded response stays labeled rounded; exact counts are not guaranteed. |
relatedReelsPerSeed | Opt in to up to 5 related Reels per direct input. Default 0 disables it. Results may come from other creators and count toward the same result limits and pricing. |
saveErrors | Save actionable failures separately in the error-records dataset. Default false; Run summary remains available. |
proxyConfiguration | Choose Apify Proxy, a custom proxy, or no proxy. Public availability varies by route. An explicit choice is preserved. |
Dates require an exact publication timestamp. When a date filter is active, Reels with unresolved dates are excluded and counted in Run summary. A zero-result date range can be a valid outcome; check the summary to distinguish no matches from access failures. Narrow date ranges may need a higher inspection limit.
Facebook Reel engagement data and output
Each result is one Reel. The Overview view shows identity, publication time and separate engagement measures. Details includes all retained public fields. The following illustrative example uses shortened media coverage; unavailable fields remain null in actual rows.
{"schemaVersion": "3.0.0","reelId": "123456789012345","videoId": null,"url": "https://www.facebook.com/reel/123456789012345/","shareUrl": null,"ownerType": "page","ownerName": "Example Page","ownerId": null,"ownerUrl": "https://www.facebook.com/ExamplePage/","sourcePageUrl": "https://www.facebook.com/ExamplePage/","inputUrl": "https://www.facebook.com/ExamplePage/","createdAt": "2026-09-01T12:00:00.000Z","createdAtTimestamp": 1788264000,"createdAtPrecision": "exact","text": "A new recipe #cooking","hashtags": ["cooking"],"mentions": [],"scrapedAt": "2026-09-22T09:00:00.000Z","playCount": 1200,"playCountDisplay": "1.2K","playCountLabel": "plays","playCountPrecision": "rounded","viewCount": null,"viewCountDisplay": null,"viewCountLabel": null,"viewCountPrecision": null,"reactionCount": null,"reactionCountDisplay": null,"reactionCountLabel": null,"reactionCountPrecision": null,"commentCount": 0,"commentCountDisplay": "0","commentCountLabel": "comments","commentCountPrecision": "exact","shareCount": null,"shareCountDisplay": null,"shareCountLabel": null,"shareCountPrecision": null,"durationSeconds": null,"width": null,"height": null,"thumbnailUrl": null,"videoUrlSd": null,"videoUrlHd": null,"dashManifestUrl": null,"captionsUrl": null,"mediaUrlObservedAt": null,"mediaUrlMayExpire": null,"musicTitle": null,"musicArtist": null,"musicIsOriginalAudio": null}
| Fields | Meaning |
|---|---|
schemaVersion, reelId, videoId, url, shareUrl | Output version, stable content IDs and links. Use reelId as the identity in your own database. |
inputUrl, sourcePageUrl | The requested input and originating Page, where applicable. |
ownerType, ownerName, ownerId, ownerUrl | Public creator identity; owner type is page, profile or unknown. |
createdAt, createdAtTimestamp, createdAtPrecision, scrapedAt | Publication time as ISO and Unix seconds, its precision, and observation time. |
text, hashtags, mentions | Caption and extracted text tags. |
playCount, viewCount, reactionCount, commentCount, shareCount | Five separate measures. Plays and views are never combined. |
Each metric's Display, Label, Precision fields | The displayed count and label, with exact, rounded, unknown or null precision. |
durationSeconds, width, height | Available video duration and dimensions. |
thumbnailUrl, videoUrlSd, videoUrlHd, dashManifestUrl, captionsUrl | Available public media links, controlled by includeMediaUrls. |
mediaUrlObservedAt, mediaUrlMayExpire | When media URLs were observed and whether they may expire. |
musicTitle, musicArtist, musicIsOriginalAudio | Available music information. |
null means unavailable, not zero. A numeric zero is preserved only when observed. A count displayed as 1.2K can be represented as 1,200 with rounded precision; do not treat it as an exact count. Facebook may expose different metrics on different Reels.
Export Facebook Reels to JSON, CSV or Excel
Use Apify's dataset export controls for JSON, CSV and Excel. Read results through the dataset API, or start a run through the Actor API with the same input JSON. Keep your Apify token in an authorization header. Save a task and attach an Apify schedule to repeat the collection. Deduplication applies within each run; use reelId to combine repeated exports.
POST https://api.apify.com/v2/acts/arabiainsights~facebook-reels-scraper/runs
The response identifies the run and its default dataset. After completion, retrieve GET https://api.apify.com/v2/datasets/{datasetId}/items. Review Run summary as well as the dataset: it contains per-input progress, delivered and charged totals, excluded dates, partial status and stop reasons.
Facebook Reels scraper pricing
The price is $3 per 1,000 delivered Reels ($0.003 per unique result). Apify platform usage is included. There is no startup charge and no separate automatic dataset-item fee. A run that delivers no Reels has no Reel event charge. Related Reels count at the same rate as directly requested results, and duplicate URLs do not create extra results or charges. Set a maximum run cost in Apify Console to control spending. Check the Actor's Pricing tab for the effective price before starting a run.
Limits and FAQs
Can it retrieve a Page's entire history?
Available history varies by Page, geography, public access and the chosen limits. A large result limit does not guarantee that many results. Public access restrictions can stop a run early. Check each source's stop reason and partial status before drawing conclusions from a dataset.
Why are some rows or metrics missing?
A Reel may be deleted, private, restricted, missing an exact publication date, or have too little public information to produce an eligible result. The Actor does not bypass login, CAPTCHA or checkpoint restrictions. It collects public information only; use it in accordance with applicable rights and platform terms.
Are saved media links permanent?
No. Media links can expire. Set includeMediaUrls to false if you only need metadata. Unavailable links remain null.
What happens after an interruption?
Delivered results remain available after an interruption. Resuming the same run avoids returning already-delivered Reels again. Review delivered and charged totals in Run summary and contact support if they differ unexpectedly.
A forced stop or platform timeout can prevent the final Run summary from being saved. In that case, treat the dataset as partial and check the platform run status before using the results.
Can I reuse older inputs and exports?
Output version 3 retains the content and metric fields listed above and omits former diagnostic fields. Use reelId to identify a result. Old datasets retain their original format. The retired debug input is ignored with a notice when it reaches the Actor; remove it from older saved inputs if Apify reports a validation error. Use saveErrors for actionable errors.
Support
Open an issue through the Actor Issues tab. Include the run URL, affected public input URL, expected result and a brief description. Do not share credentials or login cookies.