Posts · Videos · Reels · Profiles live

Facebook
Scraper API

Refetcher returns real-time public Facebook data — separate views and plays, Like-only and total reactions, reaction breakdowns, comment scopes, shares, media and public profiles — as clean JSON from one endpoint. No Facebook login, cookies or tokens required.

$10 free to start No card required Failed scrapes are free
Free live results · No signup required
$0.90 per 1,000 scrapes · 99.47% success rate · 100M+ residential IPs · failures free · credits never expire
What you get

Everything public,
one request away.

Send any public Facebook URL — the API detects whether it's a post, Reel, watch video or profile page and returns the matching normalized JSON.

Live

Posts, Videos & Reels

Exact public metrics when Facebook embeds them: separate views and plays, Like-only and total reactions, the full reaction breakdown, total and top-level comments, shares, captions, publish dates and media.

viewsplaysreactionscommentssharesHD / SD video
Live

Profiles & Pages

Public profile metadata — track followers, display name, biography, and discover links-only recent public timeline posts when available. Profile pagination marks partial timelines explicitly.

followersdisplay namerecent posts
The request

One call.
Clean JSON back.

Authenticate with one header, POST a public Facebook URL, and get the same predictable response shape every time — the identical pattern used for every platform we support.

facebook · reel scrape
# Scrape a public Facebook Reel
curl -s https://api.refetcher.com/ \
  -H "X-API-Key: pc_live_••••" \
  -d '{ "url": "https://www.facebook.com/reel/1711573346749065/" }'

// → 200 OK
{
  "platform": "facebook",
  "success": true,
  "metrics": { "views": 3407257, "plays": 6310936, "likes": 166578, "reactions": 182332, "comments": 569, "topLevelComments": 477, "shares": 12000, "saves": null },
  "metricPrecision": { "views": "exact", "plays": "exact", "shares": "rounded" },
  "reactionBreakdown": { "like": 166578, "love": 13133, "care": 1872, "haha": 445, "wow": 112, "sad": 179, "angry": 13 },
  "post": {
    "id": "1711573346749065",
    "normalizedUrl": "https://www.facebook.com/100053663644278/videos/1711573346749065/",
    "type": "reel",
    "caption": "Public caption"
  },
  "media": { "durationSeconds": 16, "width": 1080, "height": 1920, "variants": [{ "quality": "hd" }, { "quality": "sd" }] }
}

Batch up to 50 URLs in one request · Post endpoint docs · Profile endpoint docs

Field reference

Every field,
documented.

The normalized response shape for Facebook post and Reel scrapes. Fields that Facebook doesn't expose publicly for a given post are returned as null rather than omitted.

FieldTypeDescription
Metrics
metrics.viewsnumber · nullFacebook's view counter. Kept separate from plays.
metrics.playsnumber · nullFacebook's play counter. A replay can make this higher than views.
metrics.likesnumber · nullThe Like reaction only.
metrics.reactionsnumber · nullTotal of Like, Love, Care, Haha, Wow, Sad and Angry.
reactionBreakdownobjectExact per-reaction counts when Facebook exposes them.
metrics.commentsnumber · nullTotal comments including replies.
metrics.topLevelCommentsnumber · nullComments excluding replies.
metrics.sharesnumber · nullShare count. Check metricPrecision.shares; Facebook sometimes exposes only a compact value such as 12K.
metrics.savesnumber · nullSave count (always returned as null on Facebook).
metricPrecisionobjectexact, rounded, or null for every Facebook metric.
Post
post.idstringFacebook post/item ID from the URL.
post.identifiersobjectFacebook content, story, video, feedback, and original pfbid identifiers. Facebook does not use Instagram-style shortcodes.
post.typestringreel, video, image or post.
post.captionstringFull caption text.
post.hashtagsstring[]Hashtags extracted from the caption.
post.mentionsstring[]Accounts mentioned in the caption.
post.publishedAtISO 8601 · nullOriginal publish timestamp when available.
post.isSponsoredboolean · nullWhether the post is marked as sponsored/ad when available.
post.commentsDisabledboolean · nullWhether comments are turned off.
Author
author.handlestringUsername/slug of the posting account/page.
author.namestringPublic display name.
author.followersnumber · nullFollower count at scrape time (for pages).
Media
media.thumbnailUrlstring · nullThumbnail image URL when available.
media.videoUrlstring · nullVideo source URL for Reels and videos.
media.variantsarrayTemporary HD and SD MP4 variants with an expiry timestamp when encoded by Facebook.
media.durationSecondsnumber · nullVideo length in seconds when available.
media.childrenarrayPer-item media entries for carousels/albums.
Use cases

Built for whatever
you're building.

Developers & tools

Power dashboards, bots and creator tools with live Facebook post, video and Reel metrics — without maintaining proxies, headless browsers or session pools yourself.

creator toolsdashboardsalerts

Agencies & marketers

Verify influencer post performance with real numbers instead of screenshots. Track campaign Reels across every creator from one endpoint.

campaign trackingpayouts per viewreporting

Data & AI teams

Batch up to 50 URLs per request and ingest normalized engagement data into warehouses, models and trend analysis pipelines.

batch ingestiontrend analysisdatasets
$0.90per 1,000 successful scrapes
  • No subscription, no monthly minimum
  • Failed scrapes are never charged
  • Credits never expire · top-up bonuses up to 10%
Straight answers

Facebook scraping, in plain English.

What data can the Facebook scraper API return? +

For public posts and Reels: separate views and plays, Like-only and total reactions, reaction breakdowns, total and top-level comments, shares, identifiers, captions, publish dates and media details when Facebook exposes them. Saves remain unavailable. Legacy videos may expose only a subset.

Do I need a Facebook account, session cookie or access token? +

No. You authenticate with a Refetcher API key only. The API retrieves publicly available Facebook data, so no Facebook login, session cookie or Graph API token is required.

Can I scrape Facebook Reels and videos? +

Yes. Public Reels can return separate exact views and plays, reactions and their breakdown, comment scopes, shares, dimensions, duration, and temporary HD/SD links. Older watch/video URLs may expose only a subset, and some /videos/ links resolve to Reels.

Can I get a Facebook profile's follower count and recent posts? +

Yes. Send a public page or profile URL and the API returns public profile counts such as followers along with links-only recent media discovery when available. Profile pagination supports up to 25 pages, and partial timelines are marked with pageInfo and limitations fields.

What is the current Facebook profile scraper status? +

Facebook post, photo, carousel, Reel, video, and profile scraping are live. Profile requests support browserless cursor pagination with up to 3 post-link references per page. Check pageInfo.recentPosts.incomplete and limitations before treating a requested timeline window as complete.

How much does it cost to scrape Facebook? +

Pricing is pay as you go at $0.90 per 1,000 successful scrapes with no subscription or monthly minimum. Failed scrapes are free, credits never expire, and new accounts get $10 of free credit without a card. Full details on the pricing page.

What happens if a post is private, deleted or unavailable? +

The scrape fails and you are not charged for it. Refetcher only deducts balance for successful scrape results.

Is the Facebook data real-time or cached? +

Data is retrieved at request time, so the metrics reflect what is publicly visible on Facebook when you make the call. Current latency and success rates are published on the public status page.

Scrape your first Reel in two minutes.

$10 of free Facebook scraping, no card required. See real numbers before you commit to anything.

Get your API key