Facebook Page Details Scraper
Pricing
from $4.99 / 1,000 page details
Facebook Page Details Scraper
Scrape Facebook Page details from page links: name, followers, verified badge, category, bio, email, phone, website, address, hours, price range, rating and Instagram, X, YouTube, LinkedIn links. No login.
Pricing
from $4.99 / 1,000 page details
Rating
0.0
(0)
Developer
ParseBird
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Facebook Page Details Scraper
Facebook Page Details Scraper turns a list of Facebook Page links into one row of Page details each: name, follower count, verified badge, category, bio, confirmed owner, email, phone, website, address with map coordinates, opening hours, price range, services, rating, and links to the Page's Instagram, X (Twitter), YouTube, LinkedIn, Pinterest, Telegram, TikTok, Threads, and Snapchat accounts.
| Paste up to 500 Facebook Page links, usernames, or IDs and get flat, spreadsheet-ready rows with 40+ fields per Page, including contact details from the Page's About tab, plus a clear error row for every link that can't be read. No Facebook login, cookies, or API key. |
| ParseBird Facebook Suite • Pages, posts, groups, reviews, ads & media | ||
|
Facebook User Posts Scraper Posts from profiles and Pages |
Facebook Page Video Downloader Every video on a Page, MP4 links |
Facebook Media Downloader HD/SD links for videos, reels, photos |
|
Facebook Public Group Posts Scraper Group posts, reactions, photos |
Facebook Group Profile Scraper Group profiles, admins & rules |
Facebook Page Reviews Scraper Recommendations, tags, comments |
|
Facebook Group Posts & Comments Scraper Group posts with comments & replies |
Meta | Facebook Ads Library Scraper Ad Library ads, EU reach & payers |
Facebook Reels Play Count Scraper Exact plays for reels & videos |
|
Facebook Group Insights Scraper Group members, growth & activity |
Facebook Marketplace Scraper Listings, prices, sellers & cars |
Facebook Page Details Scraper You are here |
Copy to your AI assistant
Copy this block into ChatGPT, Claude, Cursor, or any LLM to start using this actor.
Use Apify Actor parsebird/facebook-page-details-scraper to get details of Facebook Pages. Example with ApifyClient (Python): client.actor("parsebird/facebook-page-details-scraper").call(run_input={"pageUrls":["https://www.facebook.com/NASA"]}). Input: pageUrls array of strings (required; facebook.com/<page name> links, including links to a Page's tabs or posts, m./web. facebook.com links, profile.php?id= links, /pages/<name>/<id> and /people/<name>/<id> links, bare usernames and numeric IDs; up to 500 per run; the same Page entered twice is saved once); showVerifiedBadge boolean (default true; false leaves isVerified null); proxyConfiguration object (optional). Output: one flat row per Page with status "public": title, name, url, inputUrl, userId, adPageId (Ads Library page ID), image, imageAlt, isVerified, confirmedOwnerLabel, description (Facebook's meta description), bio, category [string, e.g. "Page","Deli"], followersCount, followersDisplay, followingCount, likesCount, likesDisplay, talkingAboutCount, checkinsCount, isBusinessPageActive, businessHours, businessPrice, businessPriceLevel (1-4), businessServices, email, emails [string], phone, phones [string], whatsapp, website, websites [string], address, mapsUrl, latitude, longitude, rating (e.g. "98% recommend (52,488 reviews)"), ratingCount, ratingRecommendPercent, languages [string], instagram, linkedin, pinterest, telegram, twitter, youtube, tiktok, threads, snapchat (URLs or null), socialLinks [{network, username, url}], scrapedAt (ISO). Failed inputs give a row with status "error", error, errorCode (400 invalid link, 403 login wall, 404 not available, 429/503 rate limited), inputUrl, scrapedAt; error rows are not charged. API docs: https://docs.apify.com/api/client/python/ and https://docs.apify.com/api/client/js/. Token: https://console.apify.com/account/integrations.
What is Facebook Page Details Scraper?
Facebook Page Details Scraper is a Facebook Page data extraction tool that reads a Page the way a logged-out visitor sees it: the Page header, the Intro card, and the About › Contact and basic info tab. For every Page link you give it, you get the exact follower count, the verified badge, the category, the bio, the confirmed owner Facebook lists on the Intro card, every email, phone number, and website the Page lists, the address with latitude and longitude, opening hours, price range, services, the recommendation rating, and the Page's other social accounts.
It works as a Facebook Pages API alternative for Page metadata: no Facebook account, cookies, or Graph API app review is needed. It also reads public profiles of people, such as creators and public figures. To try it, open the Actor, keep the two prefilled Pages, and click Start.
What can Facebook Page Details Scraper do?
- 📇 Collect contact details: every email, phone number, WhatsApp number, and website listed on the Page.
- 📍 Get the location: the street address, a map link, and latitude and longitude.
- 👥 Measure audience size: exact followers, "talking about this," check-ins ("were here"), and likes where Facebook shows them.
- ✅ Check trust signals: verified badge, confirmed Page owner, and the "% recommend" rating with its review count.
- 🏪 Read business info: opening hours, price range, services such as "Dine-in · Outdoor seating," and category.
- 🔗 Find social accounts: Instagram, X (Twitter), YouTube, LinkedIn, Pinterest, Telegram, TikTok, Threads, and Snapchat links, each as its own column plus a combined
socialLinkslist. - 🧾 Batch hundreds of Pages: up to 500 links, usernames, or IDs per run. Each Page that fails gets its own error row with a reason and code.
- ⏱️ Automate it: run on a schedule with Apify schedules, call it through the Apify API, or send results to Google Sheets, Make, Zapier, Slack, and more with integrations.
- 📁 Export anywhere: JSON, CSV, Excel, HTML, or XML.
What data can you extract from Facebook Pages?
| Field | Description |
|---|---|
name, title, url | Page name, Facebook's page title (often with the city), and the Page link |
userId, adPageId | The Page's profile ID and its Page ID used by the Meta Ad Library |
image, imageAlt | Profile picture URL and its alt text |
isVerified | true when the Page shows Facebook's verified badge |
confirmedOwnerLabel | The organisation Facebook confirms is responsible for the Page |
bio, description | The Page's intro text, and Facebook's meta description with counts |
category | Page type and category, e.g. ["Page", "Deli"] |
followersCount, followersDisplay | Exact followers, e.g. 964474, and Facebook's text "964K followers" |
talkingAboutCount, checkinsCount, likesCount | "Talking about this," "were here," and likes (when shown) |
email, emails, phone, phones, whatsapp | First and all emails and phones, and the WhatsApp number |
website, websites | The Page's main website and every listed link |
address, mapsUrl, latitude, longitude | Street address, map link, and coordinates |
businessHours, businessPrice, businessPriceLevel, businessServices | Opening hours text, price range (e.g. $$ and 2), and services |
rating, ratingCount, ratingRecommendPercent | e.g. "98% recommend (52,488 reviews)", 52488, 98 |
instagram, twitter, youtube, linkedin, pinterest, telegram, tiktok, threads, snapchat | Profile links on other networks |
socialLinks | Every social account as {network, username, url} |
status, inputUrl, scrapedAt | public, the value you entered, and the scrape time |
Rows for inputs that fail have status: "error", error (the reason), errorCode, inputUrl, and scrapedAt.
How to scrape Facebook Page details
- Open Facebook Page Details Scraper and click Start or Try for free.
- In Page URLs, paste one Page link per line, such as
https://www.facebook.com/NASA. Usernames likekatzsdeliand numeric IDs also work. - Leave Include verified badge on to get
isVerified. - Click Start. Each Page takes a few seconds, and Pages run in parallel.
- Open the Output tab. The Page overview, Contact information, Engagement, Social media links, and Business information views each show one group of fields.
- Export the results as JSON, CSV, Excel, HTML, or XML, or get them through the API.
Input parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
pageUrls | array of strings | Yes | — | Page links, usernames, or numeric IDs. Up to 500 per run |
showVerifiedBadge | boolean | No | true | Add isVerified to each row. Off leaves it empty |
proxyConfiguration | object | No | — | Optional. The Actor picks its own network route |
Which Page links work? facebook.com/<page name> links, including links to a Page's About, photos, or posts tabs, m.facebook.com and web.facebook.com links, profile.php?id= links, old /pages/<name>/<id> and /people/<name>/<id> links, bare usernames such as katzsdeli or @katzsdeli, and numeric IDs. The same Page entered in different forms is saved and charged once. Group, event, and Marketplace links aren't Pages and get an error row.
Input / Output
Example input
{"pageUrls": ["https://www.facebook.com/katzsdeli","https://www.facebook.com/NASA","pythonclcoding"],"showVerifiedBadge": true}
Example output (a real row; the image URL is shortened)
{"title": "Katz's Delicatessen | New York NY","name": "Katz's Delicatessen","url": "https://www.facebook.com/katzsdeli","inputUrl": "https://www.facebook.com/katzsdeli","userId": "100064806517961","adPageId": "89033874836","image": "https://scontent-iad3-1.xx.fbcdn.net/v/t39.30808-1/347587684_597250122171933_7563996541647...","imageAlt": "Katz's Delicatessen","isVerified": false,"status": "public","confirmedOwnerLabel": "KATZ DELICATESSEN OF HOUSTON STREET INC","description": "Katz's Delicatessen, New York. 964,474 followers · 55,492 talking about this · 530,200 were here. New York City's most iconic deli.","bio": "New York City's most iconic deli.","category": ["Page", "Deli"],"followersCount": 964474,"followersDisplay": "964K followers","followingCount": 0,"likesCount": null,"likesDisplay": null,"talkingAboutCount": 55492,"checkinsCount": 530200,"isBusinessPageActive": false,"businessHours": "Open now","businessPrice": "$$","businessPriceLevel": 2,"businessServices": "Dine-in · Outdoor seating · In-store pickup","email": "cs@katzsdelicatessen.com","emails": ["cs@katzsdelicatessen.com"],"phone": "(212) 254-2246","phones": ["(212) 254-2246"],"whatsapp": null,"website": "http://katzsdelicatessen.com/","websites": ["http://katzsdelicatessen.com/"],"address": "205 E Houston St, New York, NY, United States, 10002","mapsUrl": "https://maps.google.com/maps?q=40.72222000%2C-73.98751000%28205+E+Houston+St%2C+New+York%2C+NY%2C+United+States%2C+New+York%29&hl=en","latitude": 40.72222,"longitude": -73.98751,"rating": "98% recommend (52,488 reviews)","ratingCount": 52488,"ratingRecommendPercent": 98,"languages": [],"instagram": "https://www.instagram.com/katzsdeli","linkedin": null,"pinterest": null,"telegram": null,"twitter": null,"youtube": null,"tiktok": null,"threads": null,"snapchat": null,"socialLinks": [{ "network": "instagram", "username": "katzsdeli", "url": "https://www.instagram.com/katzsdeli" }],"scrapedAt": "2026-10-25T14:05:00.839Z"}
Example error row
{"status": "error","error": "This Facebook page isn't available: it may not exist, or it is restricted (for example by age or country) or only visible to logged-in users","errorCode": 404,"inputUrl": "https://www.facebook.com/thisdoesnotexist12345xyz","scrapedAt": "2026-10-25T13:45:40.112Z"}
Download results from the Output tab in JSON, CSV, Excel, HTML, or XML.
Python API example
from apify_client import ApifyClientclient = ApifyClient("<YOUR_APIFY_TOKEN>")run = client.actor("parsebird/facebook-page-details-scraper").call(run_input={"pageUrls": ["https://www.facebook.com/katzsdeli","https://www.facebook.com/NASA",],})for row in client.dataset(run["defaultDatasetId"]).iterate_items():if row["status"] == "public":print(row["name"], row["followersCount"], row["email"], row["phone"], row["website"])else:print("Failed:", row["inputUrl"], row["error"])
JavaScript API example
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' });const run = await client.actor('parsebird/facebook-page-details-scraper').call({pageUrls: ['katzsdeli', 'https://www.facebook.com/pythonclcoding'],showVerifiedBadge: true,});const { items } = await client.dataset(run.defaultDatasetId).listItems();items.filter((p) => p.status === 'public').forEach((p) => console.log(p.name, p.category, p.address, p.instagram, p.rating));
See the Python client docs and JavaScript client docs for more options.
Use cases
- Lead generation: turn a list of local business Pages into emails, phone numbers, websites, and addresses.
- Data enrichment: add follower counts, categories, and social links to a CRM or spreadsheet of brands.
- Influencer and brand research: compare audience size, verified status, and "talking about this" across Pages.
- Local business monitoring: track ratings, review counts, hours, and price range over time with scheduled runs.
- Ad research: get each Page's
adPageIdto look up its ads in the Meta Ad Library. - Link checking: find removed or restricted Pages in a list. Each one gets an error row.
How it works
- You paste Page links, usernames, or IDs.
- The Actor opens each Page and its About › Contact and basic info tab as a logged-out visitor.
- It merges the two into one flat row, turning text such as "964,474 followers" into numbers, and saves an error row for any input it can't read.
How much does it cost to scrape Facebook Pages?
What is the price per Facebook Page?
The Actor uses pay-per-event pricing: you pay for each Page saved. Compute and proxy usage are included in the event price, so there is no separate usage bill.
| Event | Free plan | Bronze | Silver | Gold |
|---|---|---|---|---|
page-scraped | $0.00699 ($6.99 / 1,000) | $0.00599 ($5.99 / 1,000) | $0.00549 ($5.49 / 1,000) | $0.00499 ($4.99 / 1,000) |
One page-scraped event is one successful Page row. Error rows are free, and a Page entered twice is charged once. The prefilled two-Page run costs about $0.014 on the Free plan, and 100 Pages cost about $0.70. Apify's free plan includes monthly platform credits you can use to try the Actor. You can also set a maximum cost per run; the Actor stops when it reaches it.
Is it legal to scrape Facebook Pages?
Is scraping Facebook Page data legal?
The Actor only reads Page information that Facebook shows to anyone without logging in. Scraping publicly available data is generally legal in many jurisdictions, but contact details and the names on personal profiles can be personal data protected by laws such as GDPR and CCPA. Have a legitimate reason to collect the data, respect Facebook's Terms, and check with a lawyer if you're unsure. Read more in Apify's guide: Is web scraping legal?
Other Facebook scrapers and related Actors
| Actor | Best for |
|---|---|
| Facebook User Posts Scraper | Posts from public Facebook profiles and Pages |
| Facebook Page Reviews Scraper | Reviews and recommendations on Facebook Pages |
| Facebook Page Video Downloader | Videos from a Page's Videos tab with MP4 links |
| Meta | Facebook Ads Library Scraper | Ads from the Meta Ad Library with EU reach and payer data |
| Facebook Group Insights Scraper | Member counts, growth, and activity of Facebook groups |
| Facebook Group Profile Scraper | Group profiles with admins and rules |
| Facebook Media Downloader | HD and SD links for single videos, reels, and photos |
| Facebook Reels Play Count Scraper | Exact play counts for reels and videos |
FAQ
Why are email, phone, or social links empty for some Pages?
The Actor returns what the Page itself lists. Many large brands, such as Coca-Cola, list only a website, while local businesses usually list a phone, email, address, and hours. Empty fields are null or [].
Why does likesCount show null?
Facebook shows followers, not likes, on Pages today; in our tests no Page showed a likes figure, so likesCount was empty. It's filled only if Facebook shows likes for a Page.
Why is businessPrice shown as $$ in one run and ££ in another?
Facebook draws the price range with a currency symbol based on where the visitor appears to be, so the same Page can show $$ from a US IP and ££ from elsewhere. The Actor returns Facebook's text as is. Use businessPriceLevel, the same range as a number from 1 to 4, to compare Pages.
Does it work for personal profiles?
Yes, for public profiles such as creators and public figures. Their category starts with Profile instead of Page, and fields that only Pages have, like the confirmed owner, stay empty.
What do the error codes mean?
400 means the input isn't a Facebook Page link, username, or ID. 404 means Facebook says the Page isn't available: it doesn't exist, or it's restricted by age or country, or only logged-in users can see it. 403 means Facebook showed a login page instead of the Page. 429 or 503 means Facebook kept limiting requests after several retries; run those Pages again later. Error rows are free.
How exact are the follower numbers?
followersCount comes from Facebook's exact count (e.g. 964474), while followersDisplay keeps Facebook's rounded text ("964K followers").
Can it search for Pages by keyword or scrape Page posts? No. It reads details from the Page links you give it. For posts, use Facebook User Posts Scraper.
Can I run it on a schedule or from my app? Yes. Use Apify schedules, call it from the API tab, or connect it to Make, Zapier, Google Sheets, or Slack through integrations.
Where can I report issues or request a field? Open the Issues tab on the Actor page with your input and run ID.