Extract public Facebook Page details, contacts, engagement metrics, profile images, and lead-ready metadata from Page URLs or handles.
Facebook Page Details Scraper turns a list of public Pages into one normalized record per Page. Use it for recurring lead generation, CRM enrichment, market research, competitor monitoring, and automated social intelligence workflows.
At a glance
- Input: Facebook Page URLs or handles such as
NASAorhttps://www.facebook.com/Meta. - Output: One detail record per public Page.
- Key data: Page ID, name, description, public contact data, likes, followers, talking-about counts, image, rating, categories, and social links.
- Exports: JSON, CSV, Excel, XML, RSS, API, webhooks, and MCP through Apify datasets.
- Access: Public logged-out Page information only; no Facebook credentials are requested.
Example input
{
"pageUrls": [
"https://www.facebook.com/NASA",
"Meta"
],
"maxItems": 2
}
Example output
{
"input": "https://www.facebook.com/NASA",
"url": "https://www.facebook.com/NASA/",
"handle": "NASA",
"pageId": "100044561550831",
"name": "NASA - National Aeronautics and Space Administration",
"title": "NASA - National Aeronautics and Space Administration",
"description": "Explore the universe and discover our home planet.",
"bio": null,
"categories": [],
"website": "https://www.nasa.gov/",
"email": null,
"phone": null,
"address": null,
"profileImageUrl": "https://scontent...fbcdn.net/...png",
"likesCount": 28721135,
"likesDisplay": "28,721,135 likes",
"followersCount": null,
"followersDisplay": null,
"talkingAboutCount": 155816,
"talkingAboutDisplay": "155,816 talking about this",
"isVerified": null,
"rating": null,
"ratingCount": null,
"socialLinks": [],
"scrapedAt": "2026-09-06T00:00:00.000Z",
"sourceStatus": "complete"
}
Values are returned only when they are visible on the public Page. Nullable fields are not inferred from unrelated viewer or proxy data.
Who is it for?
This Actor is designed for sales and lead-generation teams, CRM operators, market researchers, social-media analysts, agencies, and developers who need repeatable public Facebook Page records.
What you can do
- Generate leads: collect public websites, email addresses, phone numbers, and addresses shown on business Pages.
- Enrich CRM records: attach canonical Page URLs, Page IDs, names, descriptions, categories, and profile images.
- Monitor competitors: schedule recurring runs and compare public descriptions and engagement counts over time.
- Research markets: build structured Page datasets for brands, organizations, venues, nonprofits, and local businesses.
- Power automations: connect datasets to Google Sheets, n8n, Make, Zapier, webhooks, or your own application.
- Use with AI agents: run the Actor through Apify MCP and analyze normalized Page records in an agent workflow.
Input settings
| Setting | JSON key | Description |
|---|---|---|
| Facebook Pages | pageUrls |
Public Page URLs or handles. Accepts up to 500 entries. |
| Start URLs | startUrls |
Alternative Apify request-list input for full public Page URLs. |
| Maximum Pages | maxItems |
Global output limit from 1 to 500; default is 10. |
| Proxy | proxyConfiguration |
Optional Apify Proxy configuration for public Pages unavailable from direct access. |
Duplicate normalized Page URLs are processed once. Invalid hosts and URLs without a Page path are rejected before any network request.
Input recipes
Collect local-business leads
{
"pageUrls": [
"https://www.facebook.com/example-business-one",
"https://www.facebook.com/example-business-two"
],
"maxItems": 10
}
Monitor known Pages
{
"startUrls": [
{ "url": "https://www.facebook.com/NASA" },
{ "url": "https://www.facebook.com/Meta" }
],
"maxItems": 2
}
Schedule the second recipe weekly or monthly and compare records by pageId or url.
API usage
JavaScript
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('fetch_cat/facebook-page-details-scraper').call({
pageUrls: ['NASA', 'Meta'],
maxItems: 2,
});
console.log(run.defaultDatasetId);
Python
from apify_client import ApifyClient
client = ApifyClient('YOUR_APIFY_TOKEN')
run = client.actor('fetch_cat/facebook-page-details-scraper').call(run_input={
'pageUrls': ['NASA', 'Meta'],
'maxItems': 2,
})
print(run['defaultDatasetId'])
cURL
curl -X POST "https://api.apify.com/v2/acts/fetch_cat~facebook-page-details-scraper/runs?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"pageUrls":["NASA","Meta"],"maxItems":2}'
MCP and AI agents
Connect an AI client to the focused Apify MCP endpoint:
https://mcp.apify.com?tools=fetch_cat/facebook-page-details-scraper
Add it with the Claude CLI:
claude mcp add apify https://mcp.apify.com?tools=fetch_cat/facebook-page-details-scraper
Or add this server configuration to an MCP-compatible client:
{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com?tools=fetch_cat/facebook-page-details-scraper"
}
}
}
Example prompt: “Extract public contact and engagement details for these Facebook Pages and return a lead table.”
Tips
- Start with two or three Page URLs before scaling a large list.
- Use canonical public Page URLs when available.
- Schedule recurring inputs to track changes over time.
- Join records using
pageIdwhen present and fall back to canonicalurl. - Treat nullable contact fields as “not publicly visible,” not as evidence that the business has no contact method.
Limits
- Only public Facebook Pages visible without logging in are supported.
- Private profiles, private groups, comments, reactions, and login-only details are out of scope.
- Age-gated, region-restricted, removed, or temporarily challenged Pages may not return a record.
- Facebook can vary public fields by Page and can change its public presentation.
- Contact details and ratings are returned only when explicitly present in public Page information.
Support
Open an issue from the Actor page if a public Page fails or a field looks wrong. Include the run URL or ID, input JSON, one example public Page URL, expected result, and actual dataset row.
Privacy and responsible use
Use this Actor only for lawful public-data workflows. Respect applicable terms, privacy rules, and data-protection requirements. Avoid collecting or retaining unnecessary personal or sensitive information.