Facebook Reels Scraper
Pricing
from $2.80 / 1,000 results
Facebook Reels Scraper
Facebook Reels Scraper extracts captions, play counts, reactions, hashtags and HD/SD video links โ scrape Facebook Reels in bulk for analytics, influencer research, monitoring and short-video content export.
Pricing
from $2.80 / 1,000 results
Rating
0.0
(0)
Developer
Data Minds
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
1
Monthly active users
20 hours ago
Last modified
Categories
Share
Facebook Reels Scraper is an Apify Actor that extracts reels from public Facebook pages, profiles and single reel URLs: captions, play counts, reactions, comments, shares, HD and SD video links, music, hashtags and author details. Paste pages in bulk, filter by date, plays or duration, and get each reel live in your dataset with no login. Pricing starts from $0.0028 per reel ($2.80 per 1,000) on the Gold plan. ๐ Try it free
What can Facebook Reels Scraper do?
- ๐ฌ Facebook reels data scraper for pages, profiles and single reels - paste page URLs, profile links, bare usernames, reel links or share links.
- ๐ฆ Bulk reels scraper - many pages in one run, de-duplicated, with a cap per page set by
resultsLimit. - ๐ Engagement metrics - play count, reactions, comments and shares for each reel, plus view count and posting time.
- ๐ฏ Filters - keep only reels in a date range, above or below a play count, or inside a duration window to find viral Facebook reels.
- ๐พ Facebook reels downloader (optional) - save the MP4 of each reel to the run's key-value store and get a link in
downloadedVideoUrl. - โก Live output - every reel is saved to the dataset as soon as it is ready, so you can watch results appear.
- ๐ No login - the Actor reads public pages only and needs no Facebook account, cookies or API key.
- ๐ Export and integrations - download JSON, CSV or Excel, call the API, schedule runs and connect webhooks.
What data can I extract from Facebook?
Each reel is one dataset row with recordType set to reel. The Facebook reels extractor returns these fields:
| Field | Description |
|---|---|
๐ reelId, postId | Facebook identifiers of the reel and its post. |
๐ reelUrl, shareable_url, postUrl, permalinkUrl, topLevelUrl, topLevelReelUrl | Links to the reel and its post. |
๐ฅ facebookUrl, inputUrl, pageName | The page you asked for and the input it came from. |
๐ text, message, hashtags, mentions, links | Caption, hashtags, mentions and outbound links. |
๐ time, timestamp, scheduledPublishTime, scrapedAt | When the reel was posted, planned and scraped. |
๐ playCount, reactionCount, likeCount, commentCount, shareCount | Reels analytics: plays, reactions, comments and shares. |
โ durationSeconds, durationMs, width, height, aspectRatio | Length and frame size of the video. |
๐ thumbnailUrl, firstFrameThumbnailUrl | Thumbnail images. |
๐ฅ videoUrlHd, videoUrlSd, bestVideoUrl, bestVideoQualityLabel, videoQualities | Video links and the list of available video and audio renditions. |
๐ฌ captionsUrl, availableCaptionLocales, audioAvailability, dubbedTrackMapping, videoLabel | Captions, audio and label details. |
๐พ localVideoPath, downloadedVideoUrl | Key-value store name and link of the saved MP4 when downloadVideos is on. |
๐ค authorName, authorId, authorUsername, authorUrl, authorVerified, authorProfilePicUrl, authorPageId, authorType | Author details for influencer research. |
๐ต musicTitle, musicIsOriginal, soundtrackId, soundtrackType | Music and original-audio details. |
๐ isSponsored, isBrandedContent, isReshare, isRemixable, isAiGenerated, aiTransparencyType, isMadeWithMetaAi, privacy | Content flags such as sponsored, reshare, remix and AI-generated. |
๐งพ recordType, success, error | Record type and status. raw is added only when includeRawNode is on. |
Each row also carries a few additional technical fields that are not needed for analysis. Two more record types can appear: a per-page summary and an error row (see the Output section). The Actor reads only what Facebook shows publicly, so some fields can be empty, and hidden counts stay empty.
Facebook reels analytics, downloads and research
- ๐ Facebook reels analytics and engagement metrics: plays, reactions, comments and shares for every reel.
- ๐ Influencer research on Facebook and Facebook reels hashtag research from
authorNameandhashtags. - ๐ถ Facebook reels music tracking with
musicTitleandsoundtrackType. - ๐ข Facebook brand monitoring reels by scheduling runs on the pages you follow.
- ๐ Short video content research and social media analytics reels in one dataset.
- ๐ฅ Learn how to download Facebook reels in bulk: turn on
downloadVideos, or use the Facebook reels video downloader links invideoUrlHd. - ๐ Facebook reels thumbnails download through
thumbnailUrl, plus a Facebook reels metadata extractor for the rest. - ๐ฐ Scrape Facebook page videos that are published as reels.
People also call this tool a Facebook reels crawler or an fb reels scraper. It also works as a Facebook short video scraper and a Facebook reels views and likes scraper.
What can you do with the data from Facebook Reels?
๐ฏ Find viral Facebook reels
- Add pages to
startUrlsand setminPlayCount, for example 100000. - Add
onlyPostsNewerThansuch as30 days. - Sort the exported dataset by
playCount.
๐ Run competitor reels analysis
- List competitor pages in
startUrlsorusernames. - Set
resultsLimitto 50 for each page. - Compare
reactionCount,commentCountandshareCountacross brands for Facebook reels competitor research.
๐ค Vet influencers
- Add creator profiles to
usernames. - Check
authorVerified,playCountandisSponsoredin the Reels view. - Export the results to CSV or Excel and rank creators by engagement.
๐ Monitor trends and brands
- Add the pages you follow to
startUrls. - Set
onlyPostsNewerThanto7 daysand schedule a weekly run for Facebook reels trend monitoring. - Read
hashtagsandmusicTitlefor hashtag research and music tracking.
How do I use Facebook Reels Scraper?
- Open Facebook Reels Scraper on Apify and click Try for free.
- Paste Facebook page, profile or reel URLs into Facebook URLs (
startUrls), or add usernames inusernames. - Set Max reels per page / profile (
resultsLimit); use 0 for every reel. - Pick optional filters: dates, play counts or duration.
- Turn on Download reel videos to storage (
downloadVideos) if you want MP4 files. - Click Start and watch the Output tab fill as the run goes.
- Open the Dataset tab and export as JSON, CSV or Excel.
How much does it cost to scrape Facebook Reels?
Facebook Reels Scraper uses pay-per-event pricing: you pay for each reel saved to the dataset, and Apify platform usage is billed in addition. Per-page summary rows and error rows are never charged, and downloading videos adds no separate charge.
| Plan | Price per reel | Per 1,000 reels |
|---|---|---|
| ๐ Free | $0.004 | $4.00 |
| ๐ฅ Bronze | $0.0036 | $3.60 |
| ๐ฅ Silver | $0.0032 | $3.20 |
| ๐ฅ Gold, Platinum and Diamond | $0.0028 | $2.80 |
Each run also pays a start event of $0.00005 per GB of memory, minimum one. The Actor's default memory is 1,024 MB (1 GB), so one start event costs $0.00005.
Example: on the Bronze plan, 500 reels cost 500 x $0.0036 = $1.80, plus the $0.00005 start event and platform usage. You can set a maximum spend per run; when it is reached the run stops and keeps the reels already saved.
Is scraping Facebook Reels free?
You pay only for results, at your plan's per-reel price: $0.004 per reel on the Free plan, down to $0.0028 per reel on the Gold plan. Failed pages, summary rows and error rows are not charged, and a maximum spend per run keeps costs under control. Platform usage is billed in addition.
How much does Facebook Reels Scraper cost per 1,000 results?
One thousand reels cost $4.00 on the Free plan, $3.60 on Bronze, $3.20 on Silver and $2.80 on Gold, Platinum and Diamond, plus the $0.00005 start event and platform usage. Cost scales linearly with the number of saved reels, so 10,000 reels cost ten times the per-1,000 price.
Input
The Actor needs at least one Facebook URL or one username. Everything else is optional. In the Apify Console the form groups these fields; through the API you send the same names as JSON.
| Field | Type | Required | Description | Default / example |
|---|---|---|---|---|
๐น startUrls | array of strings | One of startUrls or usernames | Pages, profiles (profile.php?id=...), reels tab links, single reel or video URLs, share links and bare usernames. | ["https://www.facebook.com/LeonardoDiCaprio/"] |
๐น usernames | array of strings | One of startUrls or usernames | Usernames or numeric profile IDs, one per line. | ["Cristiano", "nike"] |
๐น resultsLimit | integer | No | Maximum reels per page or profile; 0 means every reel. Single reel URLs return one record. | 20 |
๐น onlyPostsNewerThan | string | No | Keep reels posted on or after a date: YYYY-MM-DD, ISO timestamp or relative such as 3 days. | 2025-01-01 |
๐น onlyPostsOlderThan | string | No | Keep reels posted on or before a date, same formats. | 2025-12-31 |
๐น minPlayCount, maxPlayCount | integer | No | Skip reels with fewer or more plays. Empty or 0 means no limit. | 10000 |
๐น minDurationSeconds, maxDurationSeconds | number | No | Skip reels shorter or longer than this many seconds. | 15 |
๐น downloadVideos | boolean | No | Save each reel's MP4 to the key-value store and add downloadedVideoUrl. | false |
๐น videoQuality | string | No | hd or sd for downloaded videos; HD falls back to SD when only SD exists. | hd |
๐น includeDashManifest | boolean | No | Keep the full playback_video block with the manifest; turn off for leaner rows. | true |
๐น includeRawNode | boolean | No | Add the complete raw reel object under raw. | false |
๐น includeProfileSummary | boolean | No | Add one summary row per input URL (never charged). | true |
๐น includeErrorRows | boolean | No | Add one error row for each input that could not be scraped (never charged). | true |
๐น language | string | No | Preferred language for localized labels. | en-US |
๐น concurrency | integer | No | Pages scraped at the same time, 1 to 20. | 3 |
๐น maxProfiles | integer | No | Process only the first N targets; 0 means all. | 0 |
๐น minRequestDelay, maxRequestDelay | number | No | Randomized pause in seconds before each request. | 0.5 and 1.5 |
๐น maxRetries | integer | No | Retries per failed request, 1 to 10. | 3 |
๐น requestTimeout | integer | No | Seconds to wait for one response, 10 to 300. | 60 |
๐น maxPages | integer | No | Cap on batches (about 10 reels each) loaded per page; 0 means no cap. | 0 |
๐น proxyConfiguration | object | No | Optional connection settings; change them only if runs are blocked. | {"useApifyProxy": false} |
๐น debug | boolean | No | Log every retry with details, useful when reporting an issue. | false |
Example input
{"startUrls": ["https://www.facebook.com/LeonardoDiCaprio/","https://www.facebook.com/reel/31939704905645094"],"usernames": ["nike"],"resultsLimit": 20,"onlyPostsNewerThan": "2025-01-01","minPlayCount": 10000,"downloadVideos": false,"includeProfileSummary": true,"includeErrorRows": true}
Output
Results go to the run's default dataset. The Output tab has four views: Overview, Reels, Profile summary and Errors. Export the dataset as JSON, CSV, Excel, XML or HTML from the Console or the API. A combined file with every record is also saved to the key-value store under the key OUTPUT when it stays under about 40 MB, and downloaded videos are stored as reel-<reelId>.mp4.
Reel row
{"recordType": "reel","facebookUrl": "https://www.facebook.com/example-page","inputUrl": "https://www.facebook.com/example-page/","topLevelUrl": "https://facebook.com/1234567890/posts/9876543210/","topLevelReelUrl": "https://facebook.com/reel/1111111111111111/","text": "Example caption #example @example","time": "2025-10-13T16:35:36.000Z","shareable_url": "https://www.facebook.com/reel/1111111111111111","reelId": "1111111111111111","postId": "9876543210","reelUrl": "https://www.facebook.com/reel/1111111111111111","postUrl": "https://www.facebook.com/example-page/posts/9876543210/","permalinkUrl": "https://example.com/permalink","timestamp": 1760373336,"playCount": 125000,"reactionCount": 4200,"likeCount": 4200,"commentCount": 310,"shareCount": 95,"durationSeconds": 28,"durationMs": 28000,"width": 720,"height": 1280,"aspectRatio": 0.5625,"thumbnailUrl": "https://example.com/thumbnail.jpg","firstFrameThumbnailUrl": "https://example.com/first-frame.jpg","videoUrlHd": "https://example.com/video-hd.mp4","videoUrlSd": "https://example.com/video-sd.mp4","bestVideoUrl": "https://example.com/video-hd.mp4","bestVideoQualityLabel": "hd","videoQualities": [],"captionsUrl": null,"availableCaptionLocales": ["en_US"],"audioAvailability": "AVAILABLE","hashtags": ["example"],"mentions": ["example"],"links": [],"message": {"text": "Example caption #example @example"},"authorName": "Example Page","authorId": "1234567890","authorUsername": "example-page","authorUrl": "https://www.facebook.com/example-page","authorVerified": true,"authorProfilePicUrl": "https://example.com/profile.jpg","authorPageId": "1234567890","authorType": "Page","musicTitle": "Original audio","musicIsOriginal": true,"soundtrackId": "555","soundtrackType": "ORIGINAL","isRemixable": true,"isReshare": false,"isSponsored": false,"isBrandedContent": false,"isAiGenerated": false,"aiTransparencyType": null,"isMadeWithMetaAi": null,"privacy": "Public","scheduledPublishTime": null,"videoLabel": null,"dubbedTrackMapping": null,"pageName": "example-page","localVideoPath": null,"downloadedVideoUrl": null,"scrapedAt": "2026-10-17T10:00:00.000Z","success": true,"error": null}
Technical fields are omitted from this sample.
Profile summary row
{"recordType": "profileSummary","facebookUrl": "https://www.facebook.com/example-page","inputUrl": "https://www.facebook.com/example-page/","pageName": "example-page","targetKind": "profile","reelsFound": 20,"reelsSaved": 20,"reelsFilteredOut": 0,"pagesWalked": 2,"hasMoreReels": true,"stoppedBecause": "reached resultsLimit (20)","durationSeconds": 12.4,"success": true,"error": null,"scrapedAt": "2026-10-17T10:00:12.000Z"}
Error row
An error row has recordType set to error, success set to false and a plain-English reason in error. It carries the same field names as a reel row, with empty values, and facebookUrl, inputUrl and pageName filled in.
{"recordType": "error","facebookUrl": "https://www.facebook.com/example-page","inputUrl": "https://www.facebook.com/example-page/","pageName": "example-page","reelId": null,"success": false,"error": "the Reels tab carried no reels (the page may have none yet)","scrapedAt": "2026-10-17T10:00:05.000Z"}
Notes and limitations
resultsLimitapplies to each page or profile, not to the whole run.- Reels whose play count is unknown are skipped when you set
minPlayCountormaxPlayCount. - Private, removed or login-only pages are reported in the Errors view instead of returning reels.
playCount,reactionCountandshareCountare read from what Facebook shows publicly and can differ from numbers you see when logged in.- Only reels are collected; regular posts, photos and reel comments are not.
- Downloading videos makes runs slower and uses more bandwidth; raise the Actor memory for big batches.
FAQ
Is it legal to scrape Facebook Reels?
Facebook Reels Scraper collects only public data that any visitor can see. Laws such as GDPR and CCPA, and Facebook's terms, still apply to how you use personal data like author names. You are responsible for compliance. Read Apify's guide on web scraping legality; this is not legal advice.
Do I need a Facebook account, cookies or an API key?
No. The Actor reads public pages without a login, cookies or Facebook API key, which makes it a practical way to scrape Facebook reels without login. Pages that Facebook does not show publicly are not returned and appear as rows in the Errors view with a short reason, so you can see which inputs failed.
How many reels can I scrape per run?
Set resultsLimit per page or profile, from 1 up to 100000, or 0 for every reel the page has. Add as many pages as you like in startUrls and usernames. Use maxProfiles to cap the number of pages and a maximum spend per run to cap cost. Start with 10 to 50 reels to test.
Can I export Facebook reels to CSV, Excel or JSON?
Yes. Open the Dataset tab after the run and download JSON, CSV, Excel, XML or HTML, or fetch the same data through the API. You can pick the Reels view for clean reel columns, or the combined OUTPUT file in the key-value store. Facebook reels to CSV works well for spreadsheets and dashboards.
Can I schedule runs and use integrations?
Yes. Use Apify schedules to run the Actor hourly, daily or weekly, with onlyPostsNewerThan set to catch only new reels. Webhooks and Apify integrations can send finished results to other tools, so you can schedule Facebook reels scraping for trend monitoring without any manual work.
Can I use Facebook Reels Scraper through the Apify API or MCP?
Yes. You can start runs and read the dataset through the Apify API, or with the official clients for a Facebook reels scraper Python or JavaScript workflow, and AI assistants can call the Actor through Apify's MCP server. The API tab of this Actor shows ready-made examples. Full reference: Apify API documentation.
Can I download the reel videos?
Yes. Turn on downloadVideos and pick hd or sd in videoQuality. Each MP4 is saved to the run's key-value store and its link is added to the row as downloadedVideoUrl. Without it, you still get videoUrlHd and videoUrlSd links in every row. Downloads make runs slower, so raise memory for big batches.
Why am I getting fewer reels than expected?
Check resultsLimit, your date and play-count filters, and maxPages, since each can stop a page early. Open the Profile summary view: stoppedBecause states the reason and reelsFilteredOut counts reels removed by filters. If Facebook blocks requests, review proxyConfiguration in the input and run again.
Facebook Reels Scraper not working?
Open the Errors view first, because each failed input has a plain-English reason, then check the run log. Review proxyConfiguration, lower concurrency and run again. If the problem remains, report it in the Issues tab of this Actor with your run link and input, and we will look into it.
Related Actors
| Actor | Use it to |
|---|---|
| ๐ Facebook Pages Scraper | Scrape public Facebook Page data in bulk: name, category, likes, followers, contact details, address and more. |
| ๐ธ Instagram Scraper | Scrape public Instagram profiles, posts, reels, comments and hashtags (an Instagram reels scraper). |
| ๐ฑ YouTube Shorts Scraper | Extract YouTube Shorts from any channel with views, likes, comments and hashtags. |
Support and disclaimer
Found a bug or need a feature? Open an issue in the Issues tab. For custom solutions, integrations or questions, contact hello.dataminds@gmail.com. Facebook Reels Scraper is independent and not affiliated with Facebook or Meta; trademarks belong to their owners. It collects publicly available data from Facebook, and you are responsible for complying with applicable laws and the site's terms.
Last updated: 2026-10-17