Pricing
from $2.00 / 1,000 facebook content metrics
Facebook Metrics Scraper
Collect public Facebook engagement metrics from post, reel, watch, video, photo, and profile/page URLs without login or cookies. Get views, plays, reactions, likes, comments, shares, author follower counts, content IDs, availability statuses, and clean run summaries.
Pricing
from $2.00 / 1,000 facebook content metrics
Rating
5.0
(1)
Developer
Actor stats
3
Bookmarked
5
Total users
3
Monthly active users
5 days ago
Last modified
Categories
Share
๐ What does Facebook Metrics Scraper do?
Facebook Metrics Scraper extracts public engagement metrics from Facebook post, reel, watch, video, photo, and profile/page URLs. Paste known Facebook content URLs to measure them directly, or paste profile/page URLs to discover recent public content first.
Use it for repeatable public engagement monitoring: views, plays, reactions, likes, comments, shares, author audience counts, content IDs, and clear availability statuses in one dataset. Rows can also include public collaboration profile context when available.
This Actor does not log in, use cookies, scrape private content, collect comments, collect liker identities, or bypass Facebook access controls. It only returns data that is publicly visible without logging in.
With Facebook Metrics Scraper, you can:
- ๐ Collect public views, plays, reactions, likes, comments, and shares.
- ๐ฌ Measure reels, watch URLs, videos, posts, photos, permalink URLs, and pfbid post URLs.
- ๐ค Add best-effort author/profile follower and page-like counts.
- ๐ค Capture public owner and collaboration profile context when available.
- ๐ Discover public content URLs from Facebook profile/page URLs.
- ๐ Extract normalized content and profile fields such as
contentUrl,contentId,contentType,profileUsername, andprofileName. - ๐ฆ Get structured statuses when a URL resolves but public metrics are not available.
- ๐ฆ Export results as JSON, JSONL, CSV, Excel, XML, RSS, or HTML.
๐ฆ What Facebook metric data can I extract?
Each dataset row represents one Facebook content URL. The row is flattened and grouped for scanning: input, content, profile, media text, metrics, collaboration context, profile metrics, and row status.
| Data group | Example fields |
|---|---|
| ๐ Source attempt | platform, inputUrl |
| ๐ Content entity | contentUrl, contentId, contentType |
| ๐ค Author/profile entity | profileUrl, profileId, profileUsername, profileName |
| ๐งพ Media details | description |
| ๐ Engagement metrics | views, plays, reactions, likes, comments, shares |
| ๐ฏ Content metric quality | contentMetricStatus |
| ๐ค Collaboration bridge | collaborationCount, collaborationProfiles |
| ๐ฅ Author/profile metrics | profileFollowers, profilePageLikes, profileMetricStatus |
| ๐ฆ Row status | status, statusReason, scrapedAt |
Metric availability depends on what Facebook exposes publicly for each URL.
Reels, watch URLs, and videos usually provide the strongest metric coverage.
Static posts can be partial. URLs with no public content metrics are counted in
OUTPUT and skipped from the dataset by default.
contentType describes the kind of Facebook content resolved for the row:
Additional source-specific IDs can appear in full JSON exports for API users, but they are omitted from the default dataset table view to keep the main output focused.
Facebook Stories URLs, such as facebook.com/stories/..., are not supported.
| Content type | Meaning |
|---|---|
reel | Reel-style Facebook video content. |
video | Standard Facebook video or watch content. |
post | Static Facebook post, including pfbid posts. |
photo | Direct Facebook photo content. |
unknown | The URL resolved, but type was unclear. |
For video-like content, views represents the public video view counter
when Facebook exposes it. plays is a broader public play counter when
available, and can be higher than views. Keep both when you care about
video measurement details.
contentMetricStatus and profileMetricStatus include status, precision, and
source details for each public metric. The metric values live in the dedicated
metric fields, not repeated inside the status arrays. Precision values include:
| Precision value | Meaning |
|---|---|
exact | The count was available as a full public number. |
exact_or_displayed | The count appeared as a complete displayed number, such as 31,557 views. |
compact_rounded | The count came from public shorthand, such as 3.3M views or 437K plays. |
For compact_rounded values, the dataset stores the expanded numeric value. For
example, 3.3M views becomes 3300000. Treat those values as useful
approximations, not exact counters.
Author/profile metrics are separate from content engagement metrics.
profileFollowers and profilePageLikes describe the public
profile/page audience. likes, comments, and shares describe
the individual content row.
collaborationProfiles contains public owner/byline profile context when it is
available. The first profile is marked owner; additional profiles are marked
collaborator.
โ๏ธ Can I use this Actor through an API?
Yes. You can run Facebook Metrics Scraper manually in Apify Console or use it through:
- Apify API
- Python SDK
- Node.js SDK
- Webhooks
- Scheduled runs
- Apify integrations
This makes it useful for social listening workflows, creator dashboards, competitive intelligence, campaign reporting, content audits, warehouse loads, and automated market research.
๐ฏ Why scrape Facebook post and reel metrics?
Facebook public engagement data helps you understand which posts, reels, and videos are gaining traction across creators, brands, campaigns, and competitors.
| Use case | How Facebook metric data helps |
|---|---|
| ๐ Track creator performance | Monitor public engagement across known creator URLs. |
| ๐ฌ Compare content formats | Compare reels, videos, and posts side by side. |
| ๐ฃ Measure campaign activity | Collect repeatable metrics for known campaign or brand content URLs. |
| ๐ต๏ธ Run competitive intelligence | Track public engagement on competitor posts and reels you already know. |
| ๐ Build reporting workflows | Feed normalized Facebook metrics into dashboards and client reports. |
| ๐ Audit URL availability | Separate available, partial, unavailable, and failed rows cleanly. |
๐ต How much does scraping Facebook metrics cost?
Facebook Metrics Scraper uses Apify Actor pricing. If the Actor is monetized, you are charged according to the current price shown on the Pricing tab.
Start with a small batch of 3 to 10 URLs when testing. The run summary shows how many URLs resolved, how many dataset rows were produced, how many returned no public metrics, and whether any URLs failed.
๐ How do I use Facebook Metrics Scraper?
- Create or log in to your Apify account.
- Open Facebook Metrics Scraper.
- Choose Auto-detect mixed URLs, Content URLs only, or Profile/page discovery only.
- Paste Facebook content URLs, profile/page URLs, or both.
- Leave the default settings for your first run.
- Click Start.
- Open the Output tab to inspect the dataset and run summary.
- Download your data in JSON, JSONL, CSV, Excel, XML, RSS, or HTML.
โฌ๏ธ Input
The main input is startUrls. Paste at least one supported Facebook URL.
https:// is optional, so www.facebook.com/reel/... works too. Extra spaces
around pasted URLs are ignored. In Auto-detect mixed URLs mode, you can paste
content URLs and profile/page URLs into the same list. Facebook Stories URLs are
rejected by the input form and runtime validation.
{"mode":"knownUrls","startUrls":["https://www.facebook.com/reel/2645452435840671"],"maxItemsPerProfile":20,"includePosts":true,"includeReels":true,"includeVideos":true,"includePhotos":false,"includeAuthorProfileMetrics":true,"maxConcurrency":3,"requestDelayMillis":250,"maxFetchRetries":3,"requestTimeoutSecs":20}
๐ Facebook URLs
Supported content URL shapes include:
www.facebook.com/reel/2645452435840671https://www.facebook.com/reel/2645452435840671https://www.facebook.com/watch/?v=1203714368298095https://www.facebook.com/{page}/posts/{post-id-or-pfbid}https://www.facebook.com/{page}/videos/{video-id}https://www.facebook.com/{page}/videos/{slug}/{video-id}https://www.facebook.com/photo?fbid={photo-id}https://www.facebook.com/photo.php?fbid={photo-id}https://www.facebook.com/{page}/photos/{photo-id}https://www.facebook.com/permalink.php?story_fbid={post-id}&id={page-id}https://fb.watch/{short-code}/
Best results usually come from direct reel, watch, video, and photo URLs that open publicly in a logged-out browser.
permalink.php?story_fbid=... is a regular Facebook post permalink shape, not
a Facebook Stories URL.
Facebook Stories URLs such as facebook.com/stories/... are not supported.
๐ค Profile/Page Discovery
Use profile/page discovery when you want the Actor to find public content URLs before collecting metrics.
{"mode":"profileUrls","startUrls":["https://www.facebook.com/ThomasSandersOfficial"],"maxItemsPerProfile":20,"includePosts":true,"includeReels":true,"includeVideos":true,"includePhotos":false,"includeAuthorProfileMetrics":true,"maxConcurrency":3,"requestDelayMillis":250,"maxFetchRetries":3,"requestTimeoutSecs":20}
Use maxItemsPerProfile to control how many discovered URLs are resolved from
each profile/page. The default is conservative for routine runs, and larger
values are accepted for high-volume jobs.
๐๏ธ Settings
| Option | What it does |
|---|---|
mode | auto to detect mixed URLs, knownUrls for content URLs only, or profileUrls for profile/page discovery. |
startUrls | Facebook content and/or profile/page URLs. Paste at least one URL. |
maxItemsPerProfile | Maximum discovered content URLs to resolve per profile/page. |
includePosts | Include discovered post URLs. |
includeReels | Include discovered reel URLs. |
includeVideos | Include discovered video URLs. |
includePhotos | Include public photo URLs found during profile/page discovery. Direct photo URLs are always accepted. |
includeAuthorProfileMetrics | Fetch each public author/profile once and add best-effort follower and page-like counts. |
maxConcurrency | Controls how many URLs are resolved at the same time. |
requestDelayMillis | Adds a minimum delay between public Facebook requests. |
maxFetchRetries | Retries transient public request failures before marking a URL failed. |
requestTimeoutSecs | Maximum wait time for each public Facebook request. |
โฌ๏ธ Output sample
The results are stored in the default dataset. Each result is one Facebook content URL with at least one public content metric.
{"platform":"facebook","inputUrl":"https://www.facebook.com/reel/2098858540985362/","contentUrl":"https://www.facebook.com/reel/2098858540985362/","contentId":"2098858540985362","contentType":"reel","profileUrl":"https://www.facebook.com/ExampleCreator","profileId":"123456789","profileUsername":"ExampleCreator","profileName":"Example Creator","description":"Example public reel description","views":277000,"plays":660000,"reactions":21424,"likes":21424,"comments":267,"shares":553,"contentMetricStatus":[{"metric":"views","status":"present","precision":"exact","source":"public_content"},{"metric":"plays","status":"present","precision":"exact","source":"public_content"},{"metric":"reactions","status":"present","precision":"exact","source":"public_content"},{"metric":"likes","status":"present","precision":"exact","source":"public_content"},{"metric":"comments","status":"present","precision":"exact","source":"public_content"},{"metric":"shares","status":"present","precision":"exact_or_displayed","source":"public_content"}],"collaborationCount":1,"collaborationProfiles":[{"id":"123456789","name":"Example Creator","url":"https://www.facebook.com/ExampleCreator","role":"owner","type":"Page"}],"profileFollowers":1200000,"profilePageLikes":840000,"profileMetricStatus":[{"metric":"profileFollowers","status":"present","precision":"compact_rounded","source":"public_profile"},{"metric":"profilePageLikes","status":"present","precision":"compact_rounded","source":"public_profile"}],"status":"ok","statusReason":null,"scrapedAt":"2026-06-21T22:15:00.000Z"}
๐ Run summary
Facebook Metrics Scraper also saves an OUTPUT summary in the
default key-value store.
{"actorName":"facebook-metrics-scraper","mode":"auto","providedUrls":3,"contentUrls":2,"profileUrls":1,"inputUrls":22,"discoveredUrls":20,"resolvedUrls":21,"datasetRows":18,"skippedDatasetRows":3,"skippedFailedRows":0,"skippedInvalidRows":0,"skippedNoPublicMetricRows":3,"metricRows":18,"noPublicMetricRows":3,"failedRows":0,"invalidRows":0,"statusCounts":{"ok":18,"resolved_no_public_metrics":3},"postTypeCounts":{"reel":12,"video":5,"post":4},"authorProfileMetricsStatusCounts":{"ok":17,"no_public_profile_metrics":4}}
โ Why did I get fewer metrics than expected?
The Actor returns only metrics that Facebook exposes publicly without login. A successful URL resolution does not guarantee that every metric is available.
Common reasons include:
- Facebook exposed preview-level counts but not richer engagement counters.
- A static post exposed only partial metrics, such as shares.
- Some static posts did not expose public counts.
- The content requires login, is private, removed, region-limited, age-gated, or otherwise unavailable to logged-out users.
- The rendered Facebook UI rounds or updates counters differently from public data available at collection time.
Use contentMetricStatus, profileMetricStatus, and statusReason to decide
whether a row is suitable for your reporting workflow.
โ Tips for scraping Facebook metrics
- Start with a small test run and inspect the dataset before increasing volume.
- Use direct Facebook content URLs whenever possible.
- Prefer reel, watch, and video URLs for richer public metric availability.
- Leave
includeAuthorProfileMetricson when you want follower/page-like context. - Keep
maxConcurrencymodest for steadier large runs. - Leave network and retry settings at their defaults unless you have a specific reason to change them.
- Failed, invalid, and no-public-metric input rows are counted in
OUTPUTandSKIPPED_DATASET_ROWSbut are not pushed to the dataset by default. - Treat
resolved_no_public_metricsas an audit status inOUTPUT, not a failed run.
โ๏ธ Is it legal to scrape Facebook post and reel metrics?
This Actor extracts public Facebook data that is available without login. You are responsible for making sure your use case complies with applicable laws, platform terms, and privacy rules.
Facebook content can sometimes include personal data, names, profile details, or other sensitive information. Do not scrape, store, or process personal data unless you have a legitimate reason and the right legal basis. If you're unsure, consult your lawyers.
Facebook is a trademark of its owner. This Actor is independent and is not affiliated with, endorsed by, or sponsored by Facebook or Meta.
๐ Support
If a run does not return what you expected, open an issue with the run ID and the
input URLs you used. Include the dataset row for the affected URL when possible.
The row-level status, statusReason, contentMetricStatus, and
profileMetricStatus fields make support specific.
Related searches: Facebook scraper, Facebook posts scraper, Facebook reels scraper, Facebook post metrics scraper, Facebook reel metrics scraper, Facebook post engagement scraper, Facebook video metrics scraper, Facebook public metrics, Facebook likes scraper, Facebook comments count scraper, Facebook shares scraper, Facebook views scraper, no-cookie Facebook scraper.
