Skip to main content
Facebook

Facebook Scraper API
Pages, posts and reels as JSON

Send a public Facebook link and get structured data back. A Page gives its category, exact follower count and website. A post or reel gives its text, views, reactions and video files. Marketplace and the Ad Library work too.

You sendwww.facebook.com/NASA/
PageExact counts1 credit
You get back (real run, trimmed)
{
"type": "page",
"name": "NASA - National Aeronautics and Space Administration",
"category": "Government organization",
"followers": 28747557,
"talkingAbout": 349681,
"bio": "Explore the universe and discover our home...",
"websites": [
"nasa.gov/nasa-app",
"… 1 more"
]
}
Exact

follower counts, read from Facebook's own page description

5

kinds of link: Pages, posts, Marketplace lists, listings and the Ad Library

1 credit

per page, whatever kind of link you send

$0

for a page that can't be delivered

The Facebook links Spidra reads

Paste the link from your browser. Spidra works out what kind of page it is and returns the matching fields.

Pages

Name, category, exact followers, talking about, bio, websites, profile and cover pictures.

facebook.com/NASA/

Posts, videos and reels

Text, owner, views, reactions, date, image and the HD and SD video files.

facebook.com/reel/2166091230582141/

Share and watch links

Permalinks, watch links and share links resolve to the same post record.

facebook.com/watch/?v=...

Marketplace pages

A city, category or search page: every listing in the first load, with price, city and seller.

facebook.com/marketplace/nyc/electronics/

Marketplace listings

One listing with its description, condition, attributes, coordinates and all photos.

facebook.com/marketplace/item/1097079526336032/

Ad Library

A keyword search, an advertiser's ads or one ad: the total count and the first page of about 30 ads.

facebook.com/ads/library/?q=nike&country=US

One call, every field

Point the scrape call at a Facebook link. With JSON output and no prompt, the data comes back as it is, for 1 credit and no AI cost.

Ask for markdown instead and you get the readable page as text. The structured data still comes back, in its own structuredData field next to the markdown.

import { SpidraClient } from "spidra";
 
const spidra = new SpidraClient({
apiKey: process.env.SPIDRA_API_KEY,
});
 
const result = await spidra.scrape({
urls: [{ url: "https://www.facebook.com/NASA/" }],
output: "json",
});
 
const data = result.content;
console.log(data.name, data.category, data.followers);
What you get for each link
Page identity
Name, username, Page ID, category and the canonical link
Page audience
Exact followers, likes, people talking about it and check-ins, when the Page shows them
Page profile
Bio, websites, profile picture and cover photo
Post content
Text, owner, publish date, the canonical post link and the preview image
Post stats
Views, reactions, comments and shares as numbers, plus the stats line as Facebook shows it
Video
Direct HD and SD video file links for videos and reels
Marketplace
Listing title, price, struck-through price, city, seller, delivery options, date and photos
Ad Library
Advertiser, ad text, link, call to action, dates, platforms, images, videos and carousel cards

What comes back

Real responses from Spidra, trimmed for length. Nothing here is mocked up.

Request
https://www.facebook.com/NASA/
Response (real run, October 18, 2026, trimmed)
{
"source": "facebook",
"type": "page",
"name": "NASA - National Aeronautics and Space Administration",
"username": "NASA",
"id": "100044561550831",
"category": "Government organization",
"followers": 28747557,
"talkingAbout": 349681,
"bio": "Explore the universe and discover our home...",
"websites": [
"nasa.gov/nasa-app",
"nasa.gov"
],
"url": "https://www.facebook.com/NASA/"
}

Follower counts you can do math with

A Facebook Page shows its audience rounded, like 28M followers. That is fine for a person and useless for tracking growth week to week.

Spidra reads the exact numbers from Facebook's own page description, so followers and talking about come back as integers you can store and compare. A count the Page doesn't show comes back as null, not zero.

NASA's Page (real run, trimmed)
"name": "NASA - National Aeronautics and Space Administration",
"username": "NASA",
"category": "Government organization",
"followers": 28747557,
"likes": null,
"talkingAbout": 349681,
"checkIns": null

Counts from the post, not the sidebar

A Facebook video page is full of numbers that belong to other videos in the recommendations. Spidra takes views, reactions and comments only from the post's own stats line and turns "3.6M views" into 3600000.

When the stats line leaves a number out, the field is null. You never get a related video's comment count passed off as this one's. Each reel also comes with its HD and SD video file links.

A Nike reel (real run, trimmed)
"owner": "Nike",
"text": "Leave your limits at the surface. #JustDoIt",
"views": 3600000,
"reactions": 8300,
"comments": null,
"shares": null,
"statsText": "3.6M views · 8.3K reactions",
"publishedAt": "2025-09-15T16:01:55.000Z"

Marketplace and the Ad Library through the same call

The same request reads Marketplace city, category and search pages, single listings, and Ad Library searches. There is nothing extra to set up: the link decides what comes back.

Each has its own page with the full field list and real output: the Facebook Marketplace scraper and the Facebook Ad Library scraper.

Ask for the columns you want

Describe the answer as a prompt, a JSON schema or both, and it comes back in that shape. The AI reads a compact copy of the data Spidra already read, not the whole page.

Request
const result = await spidra.scrape({
urls: [{ url: "https://www.facebook.com/Starbucks/" }],
prompt: "Summarise the Page.",
schema: {
type: "object",
properties: {
name: {
type: "string"
},
category: {
type: "string"
},
followers: {
type: "integer"
},
website: {
type: "string"
}
}
},
});
What came back (real run)
{
"name": "Starbucks",
"category": "Food & beverage company",
"followers": 34067187,
"website": "starbucks.com"
}

This request cost 2 credits on October 18, 2026: 1 for the page plus the AI tokens. For the data as it is, use JSON output with no prompt for 1 credit.

What teams build with it

Public Facebook data feeds brand, content and ad research.

Brand tracking

Record exact followers and talking about for your Page and your competitors' Pages, and chart the change over time.

Content research

Compare views and reactions on reels and videos to see which formats and topics land with an audience.

Competitor ads

See which ads a competitor is running right now, with their text, links and start dates, from the Ad Library.

How Spidra compares

Facebook has several data vendors. Some cover more of the site. Here is how they differ.

Apify (official actors)Bright DataScrapeCreatorsSpidra
PricePages $12 down to $5.40 per 1,000; posts $5 down to $2 per 1,000$1.50 per 1,000 records, $1.30 on the $499 plan$1.88 down to $0.99 per 1,000 requests1 credit per page: $3.80 down to $1.99 per 1,000
CoveragePages, posts, comments, groups, events, reels, photos, reviews, Marketplace, ads (one actor each)Pages, posts, comments, groups, events, reels, reviews, Marketplace, adsProfiles, posts (3 per request), comments, groups, reels, Marketplace, adsPages, posts, reels, Marketplace, Ad Library
Your Facebook loginNot neededNot neededNot neededNot needed, and never used
OutputFixed fields per actorFixed fields per datasetFixed fieldsFixed fields, or your own schema or prompt
Beyond FacebookThousands of other actorsOther scrapers and datasetsOther social platformsAny website, crawl, search, PDFs, MCP

Choose Apify or Bright Data if

You need comments, groups, events or photos, which Spidra doesn't read from Facebook yet, or a prebuilt dataset.

Choose Spidra if

You want Pages, posts, reels, Marketplace and the Ad Library through one call, with exact counts and clean types, plus any other website on the same API key.

Competitor prices and coverage are as published on their own pages on October 18, 2026 and may have changed. Spidra prices use 1 credit per page on each plan. Sources: Apify, Bright Data, ScrapeCreators.

What to know before you build

We would rather you hear the limits from us than find them in production.

  • Spidra reads Facebook the way a visitor who isn't signed in sees it. Private profiles, friends-only posts, private groups and anything behind the login aren't available. Spidra never uses your Facebook account or cookies.
  • Groups, events and photo pages aren't read as structured Facebook data yet.
  • A Page link returns the Page's details, not its post history. Send post, video or reel links to get posts.
  • Posts return comment and share counts when Facebook shows them in the stats line, not the comments themselves.
  • Ad Library links return the total count and the first page of about 30 ads. Later pages aren't available yet.
  • Posts and Marketplace listings can include people's names. Handle personal data according to the privacy laws that apply to you.

What it costs

1 credit per page. Pages that can't be delivered are free. Work out your monthly volume below.

Monthly credits
9,000
Fits the Builder plan ($79/mo)

Example: checking 300 Pages or posts a day is about 9,000 credits a month. Plain JSON output uses no AI tokens.

PlanPriceFacebook pages a month
Free$0up to 300 (one time)
Starter$19/moup to 5,000
BuilderPopular$79/moup to 25,000
Pro$249/moup to 125,000

Credits are shared across everything Spidra does, so the same plan covers Facebook and any other site.

Related scrapers

Same API key, same credits. See every scraper.

FAQ

Questions, answered

Facebook

Meta's Graph API covers Pages you manage. Reading other Pages needs the Page Public Content Access feature, which requires App Review and business verification. Personal profiles and Marketplace have no data API at all. Spidra reads the public pages directly, so you can start with an API key.

Send a Facebook link and see what comes back.

Get 300 free credits, no card, and run your first Facebook scrape from the dashboard or the API.

Spidra is not affiliated with, endorsed by, or sponsored by Meta. Facebook is a trademark of Meta Platforms, Inc. Check Meta's terms of service and the laws that apply to you before you collect data, and use the data responsibly.