Facebook Reels Play Count Scraper avatar

Facebook Reels Play Count Scraper

Pricing

from $3.39 / 1,000 play counts

Go to Apify Store
Facebook Reels Play Count Scraper

Facebook Reels Play Count Scraper

Get the exact play count of any Facebook reel or video URL, plus views, reactions, comments, owner, caption, duration, and publish date. Bulk URLs, no login. Export JSON, CSV, Excel.

Pricing

from $3.39 / 1,000 play counts

Rating

0.0

(0)

Developer

ParseBird

ParseBird

Maintained by Community

Actor stats

1

Bookmarked

3

Total users

2

Monthly active users

6 days ago

Last modified

Categories

Share

Facebook Reels Play Count Scraper

Facebook Reels Play Count Scraper gets the exact play count of any public Facebook reel or video URL, along with view count, reactions, comments, owner, caption, duration, and publish date. You don't need a login or Facebook API access.

Paste reel, watch, /videos/, video.php, m.facebook.com, or fb.watch links in bulk and get one row per video: the full play count (558,533, not "558K"), matched to that exact video ID, plus views, reactions, comments, and a clear status for every URL.

ParseBird Facebook Suite   •  Pages, posts, groups, reviews, ads & media
Facebook User Posts Scraper
Posts from profiles and Pages
Facebook Page Video Downloader
Every video on a Page, MP4 links
Facebook Media Downloader
HD/SD links for videos, reels, photos
Facebook Public Group Posts Scraper
Group posts, reactions, photos
Facebook Group Profile Scraper
Members, activity, admins, rules
Facebook Page Reviews Scraper
Recommendations, tags, comments
Facebook Group Posts & Comments Scraper
Group posts with comments & replies
Meta | Facebook Ads Library Scraper
Ad Library ads, EU reach & payers
Facebook Reels Play Count Scraper
You are here

Copy to your AI assistant

Copy this block into ChatGPT, Claude, Cursor, or any LLM to start using this actor.

Use Apify Actor parsebird/facebook-reels-play-count-scraper to get exact Facebook reel and video play counts. Example with ApifyClient: client.actor("parsebird/facebook-reels-play-count-scraper").call(run_input={"startUrls":[{"url":"https://www.facebook.com/reel/1358040539510776"}]}). Inputs: startUrls array of {url} (reel, watch?v=, /videos/, video.php, m./web.facebook.com, fb.watch or /share/ links); urlsText string, one URL per line, alternative or addition to startUrls; maxConcurrency integer default 12; requestTimeoutSecs integer default 20; maxRetriesPerUrl integer default 3, each retry uses a fresh proxy IP; useProxy boolean default true; proxyConfiguration object default {"useApifyProxy":true,"apifyProxyGroups":[]}. Output: one row per URL with url (canonical watch URL), video_id, play_count, status (ok, invalid_video_id, video_unavailable, play_count_not_found, request_failed: <reason>), view_count, reaction_count, comment_count, title, caption, owner_name, owner_id, published_at, duration_seconds, is_reel, permalink, input_url, scraped_at. Only rows with status ok are charged ($3.99 per 1,000 on the Free plan). API docs: https://docs.apify.com/api/client/python/ and https://docs.apify.com/api/client/js/. Token: https://console.apify.com/account/integrations.

What is Facebook Reels Play Count Scraper?

Facebook Reels Play Count Scraper is a Facebook play count checker and Facebook video views API alternative. Give it a list of reel or video links and it returns each video's play count as an exact number. It reads the same public watch page any logged-out visitor sees, so you don't need a Facebook account, cookies, or a Graph API token.

To try it, open the actor, keep the two prefilled reel URLs, and click Start. Both play counts are ready in a few seconds.

What can Facebook Reels Play Count Scraper do?

  • 🎯 Exact play counts, matched to the right video. A Facebook watch page also contains play counts for about 30 recommended videos. The actor only returns the count that Facebook ties to your video's ID, so it never picks up a neighbour's number.
  • 🔗 Works with any video link format: /reel/{id}, /watch/?v={id}, /{page}/videos/{slug}/{id}, video.php?v={id}, m.facebook.com, web.facebook.com, fb.watch short links, and /share/ links. Reel links are converted to their watch page, because Facebook's reel page doesn't include counts.
  • 📊 More than plays: view count, reaction count, comment count, owner name and ID, caption, title, duration, publish date, and whether the video is a reel.
  • 🚦 A status for every URL, so you can tell a bad link from a removed video or a network failure.
  • 🔁 Fresh proxy IP on every retry, and automatic retries when Facebook sends a page without counts.
  • ♻️ Duplicate videos are fetched once. If the same video appears under several link formats, it's scraped and charged only once.
  • ⏰ Track counts over time with Apify schedules, connect results to Google Sheets, Make, Zapier, or Slack through integrations, or call it from the Apify API. Export to JSON, CSV, Excel, XML, or HTML.

What data can you extract from Facebook reels and videos?

FieldDescription
urlCanonical watch URL (https://www.facebook.com/watch/?v={id})
video_idNumeric Facebook video ID
play_countExact play count
statusok or the reason no play count was returned (see below)
view_countFacebook's separate video view count
reaction_count / comment_countTotal reactions and comments
title / captionVideo title (when set) and post caption
owner_name / owner_idPage or profile that posted the video
published_atPublish time (ISO 8601, UTC)
duration_secondsVideo length in seconds
is_reeltrue if Facebook files the video as a reel
permalinkFacebook's own permalink for the video
input_urlThe URL exactly as you entered it
scraped_atWhen the row was captured

Status values:

  • ok: play count found.
  • invalid_video_id: the URL has no recognizable Facebook video ID (for example, a group or profile link).
  • video_unavailable: Facebook says the video doesn't exist or isn't available. It may be deleted, private, or region-restricted.
  • play_count_not_found: the page loaded, but Facebook didn't include a play count for this video, even after retries.
  • request_failed: <reason>: every attempt failed. The reason is the last error, for example http_429, timeout, or login_redirect.

How to scrape Facebook reels play counts

  1. Open Facebook Reels Play Count Scraper and go to the Input tab.
  2. Add your reel or video links under Facebook reel or video URLs, or paste them one per line into URLs as text. To copy a link on Facebook, open the reel and click Share → Copy link.
  3. Leave the Advanced settings at their defaults. The default Apify datacenter proxy works for public videos.
  4. Click Start. Each URL becomes one row in the Dataset tab. Rows appear as they finish, so their order can differ from your input.
  5. Filter by status to see which links need attention, then export as JSON, CSV, or Excel, or read the results through the Apify API.

Input parameters

ParameterTypeRequiredDefaultDescription
startUrlsarray of {url}No*—Facebook reel or video URLs
urlsTextstringNo*—URLs one per line. Can be combined with startUrls
maxConcurrencyintegerNo12URLs fetched in parallel (1–50)
requestTimeoutSecsintegerNo20Timeout per request, in seconds (5–120)
maxRetriesPerUrlintegerNo3Retries per URL, each with a fresh proxy IP (0–10)
useProxybooleanNotrueTurn off to send requests from the run's own IP
proxyConfigurationobjectNo{"useApifyProxy": true, "apifyProxyGroups": []}Apify Proxy settings, used when useProxy is on

* Provide at least one URL in startUrls or urlsText.

Example input:

{
"startUrls": [
{ "url": "https://www.facebook.com/reel/1358040539510776" },
{ "url": "https://www.facebook.com/watch/?v=1467263565193775" }
],
"urlsText": "https://www.facebook.com/facebook/videos/10153231379946729/\nhttps://fb.watch/dKiwp3Km3F/"
}

Output example

{
"url": "https://www.facebook.com/watch/?v=1358040539510776",
"video_id": "1358040539510776",
"play_count": 558533,
"status": "ok",
"view_count": 191540,
"reaction_count": 4317,
"comment_count": 843,
"title": null,
"caption": "@jackedjumper is bringing viewers directly into the game, capturing high-energy beach volleyball matches from his first-person perspective with Oakley Meta glasses...",
"owner_name": "Meta",
"owner_id": "108824017345866",
"published_at": "2026-06-15T13:55:39.000Z",
"duration_seconds": 14.17,
"is_reel": true,
"permalink": "https://www.facebook.com/reel/1358040539510776/",
"input_url": "https://www.facebook.com/reel/1358040539510776",
"scraped_at": "2026-10-18T03:20:44.547Z"
}

A row for a link without a video ID:

{
"url": "https://www.facebook.com/groups/abc",
"video_id": null,
"play_count": null,
"status": "invalid_video_id",
"input_url": "https://www.facebook.com/groups/abc"
}

Rows that aren't ok keep the same columns, with null values. Download the dataset as JSON, CSV, Excel, XML, or HTML.

Python API example

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("parsebird/facebook-reels-play-count-scraper").call(run_input={
"startUrls": [
{"url": "https://www.facebook.com/reel/1358040539510776"},
{"url": "https://www.facebook.com/watch/?v=1467263565193775"},
],
})
for row in client.dataset(run["defaultDatasetId"]).iterate_items():
print(row["video_id"], row["status"], row["play_count"], row["view_count"])

JavaScript API example

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('parsebird/facebook-reels-play-count-scraper').call({
startUrls: [
{ url: 'https://www.facebook.com/reel/1358040539510776' },
{ url: 'https://www.facebook.com/watch/?v=1467263565193775' },
],
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
for (const row of items) console.log(row.video_id, row.status, row.play_count);

See Apify's Python client and JavaScript client docs for more options.

Use cases

  • Influencer and creator vetting. Check real play counts on a creator's reels before you sign a deal.
  • Campaign reporting. Track sponsored reels on a schedule and send play, view, reaction, and comment counts to a spreadsheet or dashboard.
  • Competitor benchmarking. Compare how a competitor's reels perform against yours, video by video.
  • Content research. Find which formats and topics get the most plays in your niche.
  • Data enrichment. Add exact play counts to video URLs you already collected with another scraper.

How it works

  1. The actor reads every URL from startUrls and urlsText, finds the numeric video ID, and follows fb.watch and /share/ links to the video they point to.
  2. It loads the video's public watch page through the proxy, using a fresh IP for each attempt.
  3. It finds the play counter Facebook ties to that exact video ID, and reads the view, reaction, comment, and owner data next to it.
  4. If Facebook returns an error, a login wall, or a page without counts, the actor retries up to maxRetriesPerUrl times on new IPs. Then it saves the row with a clear status.

fb.watch and share links redirect datacenter IPs to Facebook's login page. When that happens, the actor retries only those small redirect requests through Apify residential proxy. The video page itself always loads through your selected proxy.

How much does it cost to scrape Facebook reel play counts?

What is the price per Facebook play count?

PlanPrice per play countPrice per 1,000 play counts
Free$0.00399$3.99
Bronze$0.00379$3.79
Silver$0.00359$3.59
Gold$0.00339$3.39

You're charged one play-count-scraped event only for rows with status ok. Invalid links, unavailable videos, failed requests, and duplicates are free. Compute and proxy usage are included in the event price. For example, checking 1,000 reels costs $3.99 on the Free plan or $3.39 on Gold.

Can I cap my spend?

Yes. Set a maximum cost per run in the run options. The actor stops starting new URLs once your limit is reached, so it never fetches videos you won't be charged for.

Is scraping Facebook legal?

Facebook Reels Play Count Scraper only reads public video pages that any logged-out visitor can open. It doesn't log in, access private content, or collect personal data beyond what the video's owner made public. Scraping publicly available data is generally allowed in many jurisdictions, but you should review Meta's Terms of Service and make sure your use case complies with applicable laws, such as GDPR when you handle data about individuals. For more background, read Apify's guide: Is web scraping legal?

ActorBest for
Facebook User Posts ScraperPosts from public Facebook profiles and Pages
Facebook Page Video DownloaderVideos from a Page's Videos tab with MP4 links
Facebook Media DownloaderHD and SD links for single videos, reels, and photos
Facebook Public Group Posts ScraperPosts from public Facebook groups
Facebook Group Profile ScraperMembers, activity, admins, and rules of groups
Facebook Page Reviews ScraperReviews and recommendations on Facebook Pages
Facebook Group Posts & Comments ScraperGroup posts with full comment threads and replies
Meta | Facebook Ads Library ScraperAds from the Meta Ad Library with EU reach and payer data
Spotify Play Count ScraperExact Spotify stream counts for tracks, albums, and artists

FAQ

Do I need a Facebook account or access token?

No. The actor reads public watch pages without logging in, so you don't need cookies, an account, or Graph API access.

What's the difference between play_count and view_count?

Facebook keeps two counters for each video. play_count is its play counter. view_count is a separate view counter, and on reels it's usually much lower. For example, the Meta reel above has 558,533 plays and 191,540 views. On the long-form video we tested, the two numbers were the same.

Why are reel URLs converted to watch URLs?

Facebook's /reel/{id} page doesn't include play counts in its HTML, but the /watch/?v={id} page for the same video does. The url column always holds the watch URL, and input_url keeps the link you entered.

Why is the number different from what the Facebook app shows?

The app rounds big numbers (for example "558K"). The actor returns the full count. Counts also change while a video is still getting plays, so two runs a few minutes apart can differ slightly.

Can I get play counts for every reel on a Page?

This actor takes video URLs. To list the videos on a Page's Videos tab with their play counts, use Facebook Page Video Downloader.

Does it work for private videos or videos in private groups?

No. Only publicly visible videos have counts on the logged-out page. Private or removed videos come back as video_unavailable.

Should I use residential proxies?

Usually not. In our tests, the default datacenter proxy returned play counts for every public video. You can switch proxyConfiguration to the RESIDENTIAL group if you see request_failed statuses, and you won't pay more, because proxy costs are included in the event price.

Where can I report issues or request fields?

Open the Issues tab on the actor page and include the video URL, run ID, and what you expected.