Facebook Reels Scraper avatar

Facebook Reels Scraper

Pricing

from $2.80 / 1,000 results

Go to Apify Store
Facebook Reels Scraper

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

Data Minds

Maintained by Community

Actor 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:

FieldDescription
๐Ÿ”— reelId, postIdFacebook identifiers of the reel and its post.
๐ŸŒ reelUrl, shareable_url, postUrl, permalinkUrl, topLevelUrl, topLevelReelUrlLinks to the reel and its post.
๐Ÿ“ฅ facebookUrl, inputUrl, pageNameThe page you asked for and the input it came from.
๐Ÿ“ text, message, hashtags, mentions, linksCaption, hashtags, mentions and outbound links.
๐Ÿ•’ time, timestamp, scheduledPublishTime, scrapedAtWhen the reel was posted, planned and scraped.
๐Ÿ“ˆ playCount, reactionCount, likeCount, commentCount, shareCountReels analytics: plays, reactions, comments and shares.
โŒ› durationSeconds, durationMs, width, height, aspectRatioLength and frame size of the video.
๐ŸŒ„ thumbnailUrl, firstFrameThumbnailUrlThumbnail images.
๐ŸŽฅ videoUrlHd, videoUrlSd, bestVideoUrl, bestVideoQualityLabel, videoQualitiesVideo links and the list of available video and audio renditions.
๐Ÿ’ฌ captionsUrl, availableCaptionLocales, audioAvailability, dubbedTrackMapping, videoLabelCaptions, audio and label details.
๐Ÿ’พ localVideoPath, downloadedVideoUrlKey-value store name and link of the saved MP4 when downloadVideos is on.
๐Ÿ‘ค authorName, authorId, authorUsername, authorUrl, authorVerified, authorProfilePicUrl, authorPageId, authorTypeAuthor details for influencer research.
๐ŸŽต musicTitle, musicIsOriginal, soundtrackId, soundtrackTypeMusic and original-audio details.
๐Ÿ”– isSponsored, isBrandedContent, isReshare, isRemixable, isAiGenerated, aiTransparencyType, isMadeWithMetaAi, privacyContent flags such as sponsored, reshare, remix and AI-generated.
๐Ÿงพ recordType, success, errorRecord 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 authorName and hashtags.
  • ๐ŸŽถ Facebook reels music tracking with musicTitle and soundtrackType.
  • ๐Ÿข 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 in videoUrlHd.
  • ๐ŸŒ„ 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

  1. Add pages to startUrls and set minPlayCount, for example 100000.
  2. Add onlyPostsNewerThan such as 30 days.
  3. Sort the exported dataset by playCount.

๐Ÿ” Run competitor reels analysis

  1. List competitor pages in startUrls or usernames.
  2. Set resultsLimit to 50 for each page.
  3. Compare reactionCount, commentCount and shareCount across brands for Facebook reels competitor research.

๐ŸŽค Vet influencers

  1. Add creator profiles to usernames.
  2. Check authorVerified, playCount and isSponsored in the Reels view.
  3. Export the results to CSV or Excel and rank creators by engagement.

๐Ÿ“… Monitor trends and brands

  1. Add the pages you follow to startUrls.
  2. Set onlyPostsNewerThan to 7 days and schedule a weekly run for Facebook reels trend monitoring.
  3. Read hashtags and musicTitle for hashtag research and music tracking.

How do I use Facebook Reels Scraper?

  1. Open Facebook Reels Scraper on Apify and click Try for free.
  2. Paste Facebook page, profile or reel URLs into Facebook URLs (startUrls), or add usernames in usernames.
  3. Set Max reels per page / profile (resultsLimit); use 0 for every reel.
  4. Pick optional filters: dates, play counts or duration.
  5. Turn on Download reel videos to storage (downloadVideos) if you want MP4 files.
  6. Click Start and watch the Output tab fill as the run goes.
  7. 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.

PlanPrice per reelPer 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.

FieldTypeRequiredDescriptionDefault / example
๐Ÿ”น startUrlsarray of stringsOne of startUrls or usernamesPages, profiles (profile.php?id=...), reels tab links, single reel or video URLs, share links and bare usernames.["https://www.facebook.com/LeonardoDiCaprio/"]
๐Ÿ”น usernamesarray of stringsOne of startUrls or usernamesUsernames or numeric profile IDs, one per line.["Cristiano", "nike"]
๐Ÿ”น resultsLimitintegerNoMaximum reels per page or profile; 0 means every reel. Single reel URLs return one record.20
๐Ÿ”น onlyPostsNewerThanstringNoKeep reels posted on or after a date: YYYY-MM-DD, ISO timestamp or relative such as 3 days.2025-01-01
๐Ÿ”น onlyPostsOlderThanstringNoKeep reels posted on or before a date, same formats.2025-12-31
๐Ÿ”น minPlayCount, maxPlayCountintegerNoSkip reels with fewer or more plays. Empty or 0 means no limit.10000
๐Ÿ”น minDurationSeconds, maxDurationSecondsnumberNoSkip reels shorter or longer than this many seconds.15
๐Ÿ”น downloadVideosbooleanNoSave each reel's MP4 to the key-value store and add downloadedVideoUrl.false
๐Ÿ”น videoQualitystringNohd or sd for downloaded videos; HD falls back to SD when only SD exists.hd
๐Ÿ”น includeDashManifestbooleanNoKeep the full playback_video block with the manifest; turn off for leaner rows.true
๐Ÿ”น includeRawNodebooleanNoAdd the complete raw reel object under raw.false
๐Ÿ”น includeProfileSummarybooleanNoAdd one summary row per input URL (never charged).true
๐Ÿ”น includeErrorRowsbooleanNoAdd one error row for each input that could not be scraped (never charged).true
๐Ÿ”น languagestringNoPreferred language for localized labels.en-US
๐Ÿ”น concurrencyintegerNoPages scraped at the same time, 1 to 20.3
๐Ÿ”น maxProfilesintegerNoProcess only the first N targets; 0 means all.0
๐Ÿ”น minRequestDelay, maxRequestDelaynumberNoRandomized pause in seconds before each request.0.5 and 1.5
๐Ÿ”น maxRetriesintegerNoRetries per failed request, 1 to 10.3
๐Ÿ”น requestTimeoutintegerNoSeconds to wait for one response, 10 to 300.60
๐Ÿ”น maxPagesintegerNoCap on batches (about 10 reels each) loaded per page; 0 means no cap.0
๐Ÿ”น proxyConfigurationobjectNoOptional connection settings; change them only if runs are blocked.{"useApifyProxy": false}
๐Ÿ”น debugbooleanNoLog 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

  • resultsLimit applies to each page or profile, not to the whole run.
  • Reels whose play count is unknown are skipped when you set minPlayCount or maxPlayCount.
  • Private, removed or login-only pages are reported in the Errors view instead of returning reels.
  • playCount, reactionCount and shareCount are 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

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.

ActorUse it to
๐Ÿ“„ Facebook Pages ScraperScrape public Facebook Page data in bulk: name, category, likes, followers, contact details, address and more.
๐Ÿ“ธ Instagram ScraperScrape public Instagram profiles, posts, reels, comments and hashtags (an Instagram reels scraper).
๐Ÿ“ฑ YouTube Shorts ScraperExtract 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