Facebook Page Scraper API
Our Facebook page scraper turns a public Page username, numeric id, or URL into structured JSON: the Page name, like and follower counts, the talking-about count, category, profile image, and the about text. It reads the Open Graph tags and embedded page data a Page serves, then breaks the result into a Page row plus labelled about facets.
Quickstart
curl "https://api.facebookscraperapi.com/api/v1/facebook/page?page=nasa&api_key=$API_KEY" import requests
BASE = "https://api.facebookscraperapi.com"
API_KEY = "YOUR_API_KEY"
# Pass the Page username (nasa), a numeric id, or a facebook.com/<page> URL.
data = requests.get(
f"{BASE}/api/v1/facebook/page",
params={"page": "nasa", "api_key": API_KEY},
timeout=30,
).json()
# results[0] is the Page itself; the rest are labelled 'about' facets.
page = data["results"][0]
print(page["name"], "-", page["likes"], "likes")
print(page["talking_about_count"], "talking about this")
print(page["tagline"])
print(page["url"]) Response
{
"query": "nasa",
"page": 1,
"results_count": 8,
"total_results": 8,
"results": [
{
"position": 1,
"id": "100044561550831",
"title": "NASA - National Aeronautics and Space Administration",
"url": "https://www.facebook.com/NASA/",
"type": "page",
"page": "nasa",
"page_id": "100044561550831",
"name": "NASA - National Aeronautics and Space Administration",
"description": "NASA - National Aeronautics and Space Administration. 28,663,333 likes \u00b7 103,822 talking about this. Explore the universe and discover our home planet.",
"tagline": "Explore the universe and discover our home planet. There's space for everybody.",
"image": "https://scontent-lga3-3.xx.fbcdn.net/v/t39.30808-1/243095782_416661036495945_3843362260429099279_n.png",
"thumbnail": "https://scontent-lga3-3.xx.fbcdn.net/v/t39.30808-1/243095782_416661036495945_3843362260429099279_n.png",
"category": null,
"likes": 28663333,
"followers": 28663333,
"talking_about_count": 103822,
"is_verified": null
},
{
"position": 6,
"id": "100044561550831:Talking about",
"title": "Talking about: 103822",
"url": "https://www.facebook.com/NASA/",
"type": "about",
"page": "nasa",
"field": "Talking about",
"value": "103822"
}
]
} | Field | Type | Description |
|---|---|---|
query | string | The page username or id the request was made for. |
results_count | integer | Number of rows returned: the Page row plus any about facets. |
results | array | The rows. results[0] is the Page itself; later rows are labelled about facets. |
page_id | string | The Page's numeric id, from the app deep-link or embedded entity. |
name | string | The Page's display name. |
description | string | The raw Open Graph description, which includes the likes and talking-about line before the tagline. |
tagline | string | The human tagline parsed out of the description, with the likes and talking-about prefix removed. |
likes | integer | The Page like count parsed from the public page. On modern Pages this equals the follower count. |
Why it is hard
Facebook serves logged-out datacenter traffic a generic login wall with identical tags for every URL, so a plain request returns no page-specific data. Meta's official Graph API can read a Page you administer, but reading a Page you do not own needs a Page access token you will never be granted, which puts public competitor and creator Pages out of reach.
Use it for
Competitor page tracking
Creator and brand databases
Audience sizing
Engagement monitoring
How it compares
| Our API | DIY (requests / headless) | Facebook Graph API | |
|---|---|---|---|
| Read a Page you do not own | Yes, any public Page | Possible but you fight the login wall | No, needs a Page access token you administer |
| Setup | API key only | Residential proxies, headless browser, parsers | Meta app, review, and a Page token |
| Exact like and follower counts | Parsed from the live page | Possible but parser breaks often | Available for Pages you administer |
| Anti-bot and proxies | Built in, US residential | You build and maintain it | Not applicable |
| Talking-about count | Returned | You parse it yourself | Via Page Insights, admin only |
| Output | Flat, validated JSON | Whatever you parse | Nested JSON you map yourself |
Pricing
| Plan | Price | Best for |
|---|---|---|
| Free | 1,000 requests | Testing and small jobs |
| Pro | $0.60 / 1k | Production workloads |
| Pay-as-you-go | $0.90 / 1k | Spiky or one-off volume |
Median response 2.6s. You only pay for successful requests.
FAQ
What is a Facebook page scraper?
A Facebook page scraper reads a public Page's visible data and returns it in a structured format. Our Facebook page scraper API takes a Page username, numeric id, or URL and returns the name, like count, follower count, talking-about count, category, profile image, and about text as JSON. The Page comes back as results[0] and its about details as labelled facet rows.
Can I scrape a Facebook Page I do not own?
Yes, as long as the Page is public. That is the main gap this endpoint fills: the official Graph API only reads Pages you administer with a Page access token, so competitor and creator Pages are out of reach there. Our API reads what a logged-out visitor on a US residential connection can see and returns it as JSON, with no admin role needed.
Do I get the exact like and follower count?
Yes. We parse the like count and the talking-about count from the live Page that Facebook serves to a US residential exit. On modern Pages the like count and the follower count are the same number, so we return both fields with that value. The talking-about count is Facebook's rolling engagement figure and is returned as talking_about_count.
Why does the response split into a page row and about facets?
A Page is a single object, so to keep one consistent shape across the whole API we return the Page as results[0] with all its fields, then expose its about details (name, category, likes, talking-about, image, profile URL) as separate labelled facet rows. You can read everything from results[0] alone, or iterate the facets if you prefer a flat list of fields.
Do I need a Facebook API key or access token?
No. You authenticate with a single facebookscraperapi key passed as the api_key query parameter. There is no Meta developer app to register, no app review, and no Page access token to obtain. The free tier includes 1,000 requests so you can test against real Pages first.
Why does a page sometimes fail to return data?
Facebook shows datacenter and logged-out egress a generic login wall whose tags are identical for every URL. We route through US residential proxies to get the real page, but if only the wall is served we return a clear diagnostic rather than a fabricated row built from wall metadata. Personal profiles are more gated than Pages; for those, see the profile endpoint.