Facebook Reels Scraper - Exact Play Counts avatar

Facebook Reels Scraper - Exact Play Counts

Pricing

$4.00 / 1,000 reel scrapeds

Go to Apify Store
Facebook Reels Scraper - Exact Play Counts

Facebook Reels Scraper - Exact Play Counts

Scrape Facebook Reels without login: exact play count (not rounded), reaction breakdown by type, comment count, share count, duration, caption, thumbnail and page identity. Filter by plays and date, with monitor mode for new Reels.

Pricing

$4.00 / 1,000 reel scrapeds

Rating

0.0

(0)

Developer

Scrape Sage

Scrape Sage

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

Scrape Facebook Reels without a login and get the exact play count - not a rounded one - plus a reaction breakdown by type, comment count, share count, duration, caption, thumbnail and page identity.

Why this one

The incumbent Facebook Reels scraper charges $0.005 per item for a declared output view of four fields: reel URL, text, time, and playCountRounded. Rounded. On an analytics product, the headline number is approximated and everything else is missing.

This actor returns ~15 fields for $0.004, and the play count is exact.

This actorTypical incumbent
Play countexact (e.g. 5,054,092)rounded
Plays attributable to the postpostPlayCount
Reactions✅ total + breakdown by type (like / love / haha / …)
Comment count
Share count
Duration✅ to the millisecond
Caption + hashtagstext only
Thumbnail, page id, owner id
Date + play filters
Price per item$0.004$0.005

What you get per Reel

reelUrl · videoId · isReel · pageSlug · pageName · pageId · ownerId · caption · hashtags[] · playCount · postPlayCount · reactionCount · reactionBreakdown{} · commentCount · shareCount · shareCountLabel · engagementTotal · engagementRate · durationSeconds · publishedAt · publishedTimestamp · thumbnailUrl · totalPosts · isSplitOwnership · scrapedAt

Input

{
"pages": ["natgeo", "cnn"],
"onlyReels": true,
"requirePlayCount": true,
"minPlays": 100000,
"postedAfter": "2026-06-01",
"maxResults": 100,
"proxyConfiguration": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"] }
}
FieldWhat it does
pagesPage slugs or page URLs
reelUrlsSpecific Reels (URL or numeric id)
onlyReelsReels only (default). Off = include the page's regular videos, same metrics
requirePlayCountOnly return Reels that have an exact play count (default on - see limits)
minPlaysPlay floor
postedAfter / postedBeforeDate window (YYYY-MM-DD)
maxResultsCap. 0 = no limit
onlyNewReelsMonitor mode for a scheduled feed

How it works (and the honest limits)

Facebook splits this data across two logged-out surfaces, and this actor joins them:

  • /{page}/videos/ carries the exact play count, plays-per-post, publish time, caption, reaction breakdown, thumbnail and permalink.
  • /{page}/reels/ identifies which videos are Reels and adds duration, comment count and share count.

They are joined on the internal feedback id that both surfaces expose - never by position on the page, which would silently attach one Reel's engagement to another.

The consequence you should know about: the two tabs paginate independently, so a page's older Reels can appear in the Reels tab with no play count - measured at 67% coverage on a 46-Reel sample. Because this actor is sold on the exact play count, requirePlayCount defaults to on, so the play-count column is never empty. Turn it off to receive every Reel found, including ones without a play count.

Other limits:

  • Reactions are only available as a per-type breakdown. Facebook returns aggregated_reaction_count as null to logged-out callers; top_reactions gives real per-type counts, which this actor sums into reactionCount. That sum reflects the top reaction types, so treat it as a strong floor rather than a guaranteed grand total.
  • Not every page serves logged-out video data. Some pages return a shell on every attempt (measured: National Geographic works richly, some others return nothing). The run still ends successfully, says so in the status, and bills you nothing for that page.
  • commentCount, shareCount and durationSeconds are Reels-tab fields, so they are absent on regular videos when you set onlyReels: false.
  • Public pages only. No login, no cookies, no personal profiles.

Pricing (pay per event, no start fee)

EventPriceWhat it covers
reel$0.004One Reel with exact play count, reaction breakdown, comment count, share count, duration, caption, thumbnail and page identity

Reels are billed before they are written, and Reels removed by your filters are never billed.

Use with AI assistants (MCP)

Works as an LLM tool via the Apify MCP server - ask an assistant for "National Geographic's best-performing Reels this month by plays" and it can call this actor directly.

Agent-ready: autonomous payments (x402 & Skyfire)

This actor is agent-ready — AI agents can discover it, run it, and pay for it autonomously, with no Apify account and no human in the loop. It uses pay-per-event pricing and limited permissions, so it qualifies for Apify's agentic-payment standards:

  • x402 — an open, HTTP-native payment protocol. Agents pay per run in USDC on the Base network directly through the Apify MCP server — no account, no API key.
  • Skyfire — agent-to-service payments for fully autonomous AI-agent workflows.

Building an AI agent, MCP tool, or autonomous data pipeline? This scraper is ready to plug in and pay as it goes.

Integrations

Make, Zapier, Slack, Google Drive, Airbyte, GitHub, the Apify API, Schedules and Webhooks.

FAQ

Do I need a login or cookies? No.

Is the play count really exact? Yes - values come back as integers like 5054092, straight from Facebook's own payload.

Why did a page return nothing? Some pages are gated for logged-out visitors. The run succeeds, tells you in the status message, and bills nothing.

Can I get view counts as well as plays? Facebook exposes play_count (and a per-post variant) on this surface; there is no separate logged-out view-count field, so this actor does not invent one.