Facebook Reels Scraper | Page Reels & Metrics avatar

Facebook Reels Scraper | Page Reels & Metrics

Pricing

$3.00 / 1,000 reels

Go to Apify Store
Facebook Reels Scraper | Page Reels & Metrics

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

Arabia Insights

Maintained by Community

Actor 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

  1. Add a public Page URL under Facebook Page URLs, or add individual links under Direct Reel URLs.
  2. Set Maximum unique Reels to a small number for your first run.
  3. Start the Actor. Open Results to review the rows, then check Run summary for failures, limits and incomplete sources.
  4. 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

SettingEffect
pageUrlsPublic Page URLs or Page Reels tabs.
reelUrlsPublic direct Reel or supported video URLs.
maxReelsMaximum unique delivered results across all inputs; 1–10,000, default 1,000.
dateFrom, dateToInclusive 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.
includeMediaUrlsInclude available public media links; default true. The Actor does not download media.
maxCandidateReelsMaximum 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.
metricsModerounded 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.
relatedReelsPerSeedOpt 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.
saveErrorsSave actionable failures separately in the error-records dataset. Default false; Run summary remains available.
proxyConfigurationChoose 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
}
FieldsMeaning
schemaVersion, reelId, videoId, url, shareUrlOutput version, stable content IDs and links. Use reelId as the identity in your own database.
inputUrl, sourcePageUrlThe requested input and originating Page, where applicable.
ownerType, ownerName, ownerId, ownerUrlPublic creator identity; owner type is page, profile or unknown.
createdAt, createdAtTimestamp, createdAtPrecision, scrapedAtPublication time as ISO and Unix seconds, its precision, and observation time.
text, hashtags, mentionsCaption and extracted text tags.
playCount, viewCount, reactionCount, commentCount, shareCountFive separate measures. Plays and views are never combined.
Each metric's Display, Label, Precision fieldsThe displayed count and label, with exact, rounded, unknown or null precision.
durationSeconds, width, heightAvailable video duration and dimensions.
thumbnailUrl, videoUrlSd, videoUrlHd, dashManifestUrl, captionsUrlAvailable public media links, controlled by includeMediaUrls.
mediaUrlObservedAt, mediaUrlMayExpireWhen media URLs were observed and whether they may expire.
musicTitle, musicArtist, musicIsOriginalAudioAvailable 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.

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.