Skip to main content
Send a Facebook URL, get structured JSON back. The Bright Data Facebook Scraper API handles proxies, CAPTCHAs, and parsing so you can focus on your data pipeline.
New to Bright Data? Create a free account and get $2 credit to start scraping.

How it works

You send one or more Facebook URLs to the Bright Data Facebook Scraper API. Bright Data handles the scraping infrastructure and returns clean, structured JSON.
Your app  -->  Bright Data API  -->  Structured JSON
           POST /datasets/v3/scrape
           Authorization: Bearer YOUR_API_TOKEN
All requests use a dataset_id to specify the data type (profiles, posts, marketplace, events, and more) and return results in JSON, NDJSON, or CSV.

What the response looks like

curl -X POST "https://api.brightdata.com/datasets/v3/scrape?dataset_id=gd_mf0urb782734ik94dz&format=json" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '[{"url": "https://www.facebook.com/zuck"}]'
{
  "name": "Mark Zuckerberg",
  "url": "https://www.facebook.com/zuck",
  "followers": 120000000,
  "bio": "Building the future...",
  "profile_type": "public_figure",
  "is_verified": true
}

Supported data types

Profiles

Names, follower counts, bios, verification status, and profile details.

Page Posts

Posts from Facebook pages by profile URL, including text, reactions, and media.

Posts

Individual post data by post URL or posts by group URL.

Marketplace

Product listings, prices, seller details, and item descriptions.

Events

Event details including dates, locations, descriptions, and attendance.

Comments

Comment text, reactions, replies, and commenter details for any post.

Reels

Video URLs, view counts, and engagement data from Facebook reels by profile URL.

Company Reviews

Business reviews, ratings, and reviewer details from Facebook pages.

Request methods

The Bright Data Facebook Scraper API supports two request methods. Choose based on your volume and latency needs.
MethodEndpointBest for
Synchronous/scrapeReal-time lookups, up to 20 URLs
Asynchronous/triggerBatch jobs, 20+ URLs, production pipelines
Learn more in Understanding sync vs. async requests.

Capabilities and limits

CapabilityDetail
Output formatsJSON, NDJSON, CSV
Max URLs per sync request20
Max URLs per async request5,000
Data freshnessReal-time (scraped on demand)
Delivery optionsAPI download, Webhook, Amazon S3, Snowflake, Azure, GCS (all options)
PricingPay per successful record (see pricing)

Common questions

Yes. Each request triggers a live scrape. There is no cached or stale data. Response times vary by endpoint: profiles typically return in 10-30 seconds (sync), while discovery requests may take longer depending on result volume.
URL collection scrapes a specific Facebook page you provide (e.g., a profile URL). Discovery finds Facebook content matching search criteria (e.g., all posts from a page URL) and scrapes the results. Discovery is only available via async requests.
When scraping using proxies or Web Unlocker, you still need to write and maintain your own parsing logic and update it whenever Facebook changes its page structure. The Facebook Scraper API handles the entire stack: proxy rotation, anti-bot bypassing and parsing. You simply send a Facebook URL and get clean, structured JSON back with no scraping infrastructure or parser maintenance required on your end.

Next steps

Quickstart

Scrape your first Facebook profile in 5 minutes.

Send your first request

Full code examples in cURL, Python, and Node.js.

API reference

Endpoint specs, parameters, and response schemas.