Facebook Page Contact Info Scraper - Emails, Phones & Address avatar

Facebook Page Contact Info Scraper - Emails, Phones & Address

Pricing

from $5.50 / 1,000 facebook pages

Go to Apify Store
Facebook Page Contact Info Scraper - Emails, Phones & Address

Facebook Page Contact Info Scraper - Emails, Phones & Address

Get emails, phones, addresses with map pins, websites, social links and followers from public Facebook pages. Export to CSV, Excel, JSON or XML.

Pricing

from $5.50 / 1,000 facebook pages

Rating

0.0

(0)

Developer

ParseForge

ParseForge

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

ParseForge Banner

📇 Facebook Page Contact Info Scraper

🚀 Export the public contact details of any Facebook page in seconds. Paste page links or usernames and get emails, phone numbers, street address with map coordinates, websites, linked social accounts, exact follower counts and the page's transparency record. 5 pages with full transparency came back in 9 seconds in our cloud test.

This Actor reads the About tab that Facebook shows to anyone who opens a business page without logging in, and turns it into a clean spreadsheet row. It takes the data from the structured records behind that tab, not from scraped text, so an email is always the page's email field and a phone is always the phone field. For Katz's Delicatessen it returns the email, the phone, the Houston Street address with its map pin (40.72222, -73.98751), the Instagram account, 52,509 reviews at 98% recommend and the company Facebook confirms is responsible for the page.

Every row has 36 fields: identity (name, username, Facebook ID, Ad Library page ID, verified badge), contact (email, phone, address, latitude, longitude, website, social profiles), audience (followers, following, talking about, check-ins), reputation (recommend percentage, review count, price range, services, hours status) and transparency (creation date, running ads, confirmed owner, Ad Library link). No login, no cookie, no browser.

🎯 Target Audience💡 Primary Use Cases
Sales and lead generation teamsTurn a list of Facebook pages into callable, emailable leads
Marketing agenciesEnrich prospect lists of local businesses with contact data
Local SEO and listings managersAudit name, address and phone consistency across locations
Market researchersProfile competitors by audience size, reviews and ad activity
CRM and data teamsFill missing emails, phones and websites in existing records
Ad and brand safety analystsCheck who owns a page and whether it is running ads

📋 What the Facebook Page Contact Info Scraper does

  1. Accepts Facebook page URLs (facebook.com/katzsdeli, m.facebook.com/..., profile.php?id=..., legacy /pages/Name/ID links), plain usernames or numeric page IDs.
  2. Opens each page's Contact and basic info tab as a logged-out visitor.
  3. Reads every contact field the owner published: all emails, all phones, the address with its map pin, all websites and every linked social account (Instagram, TikTok, X, YouTube, LinkedIn and more), with Facebook's redirect links unwrapped to the real URL.
  4. Adds the page header: name, username, Facebook ID, verified badge, profile and cover photos, exact followers, following, talking about and check-ins.
  5. Adds reviews and business info: recommend percentage, review count, price range, services and hours status.
  6. With Add page transparency on (the default), reads the Page transparency tab: the Ad Library page ID, creation date as YYYY-MM-DD, whether the page is running ads, the confirmed owner and a ready Ad Library link.
  7. Writes one row per page. Pages Facebook hides from logged-out visitors come back as a free error row that says why.

💡 Why it matters: a Facebook page is often the only up-to-date contact record a small business keeps. Restaurants, dealers, clinics and shops change their phone on Facebook before they touch their website. Reading the page's own contact fields gives you the number they actually answer.

🎬 Full Demo (🚧 Coming soon)

📊 Output

Each dataset row is one Facebook page. 36 columns per row.

FieldTypeDescription
🖼 imageUrlstringProfile picture
📌 titlestringPage name
🏷 pageNamestringPage username (vanity), N/A when the page has none
🔗 urlstringCanonical page URL
🆔 facebookIdstringFacebook profile ID of the page
🆔 pageIdstringPage ID used by the Meta Ad Library
✅ isVerifiedstringYes or No
🗂 categorystringPrimary category
📧 emailstringFirst public email
📞 phonestringFirst public phone, as Facebook formats it
📍 addressstringStreet address
🧭 latitudenumberMap pin latitude
🧭 longitudenumberMap pin longitude
🌐 websitestringFirst linked website
👥 followersnumberExact follower count
➡️ followingnumberPages this page follows
💬 talkingAboutnumberPeople talking about the page
📌 checkinsnumberCheck-ins ("were here")
⭐ ratingPercentnumberPercent of reviewers who recommend
📝 ratingCountnumberNumber of reviews
💲 priceRangestringFor example $$
🕐 hoursStatusstringStatus at scrape time, for example Open now or Always open
📝 introstringIntro text
📅 creationDatestringPage creation date, YYYY-MM-DD
📣 isRunningAdsstringYes when the page is running ads
🏢 confirmedOwnerstringOrganization Facebook confirms is responsible for the page
📚 adLibraryUrlstringThe page's Meta Ad Library link
🖼 coverPhotoUrlstringCover photo
🗂 categoriesarrayAll categories
🛎 servicesarrayServices, for example Dine-in
📧 emailsarrayAll public emails
📞 phonesarrayAll public phones
🌐 websitesarrayAll linked websites
🔗 socialProfilesarrayLinked social accounts: platform, handle, URL
🕒 scrapedAtstringWhen the row was collected
❌ errorstringPopulated only on failed rows

A field the page owner did not publish shows Not Disclosed. The transparency fields show N/A when Add page transparency is off.

Real sample records

{
"imageUrl": "https://scontent-arn2-1.xx.fbcdn.net/v/t39.30808-1/347587684_597250122171933_7563996541647031112_n.jpg?stp=c187.0.1275.1275a_dst-jpg_tt6&cstp=mx1275x1275&ctp=s200x200&_nc_cat=1&ccb=1-7&_nc_sid=2d3e12&_nc_ohc=_mluL9TnSYoQ7kNvwGJcQj0&_nc_oc=Ado-cwq2R5FEEMnzGTjkYzJ7C2WeG1LYvlAtXW_HrarpVVqlz-PEv-nzzs3SvFxr0yI&_nc_zt=24&_nc_ht=scontent-arn2-1.xx&_nc_gid=aBSirQrLjOAvI8kl_yLExg&_nc_ss=70289&oh=00_AQIfmM18OLgdW3myP6n3irj1QSQhr9_TrS8AMVp9on13NQ&oe=6ABB70DA",
"title": "Katz's Delicatessen",
"pageName": "katzsdeli",
"url": "https://www.facebook.com/katzsdeli",
"facebookId": "100064806517961",
"pageId": "89033874836",
"isVerified": "No",
"category": "Deli",
"email": "cs@katzsdelicatessen.com",
"phone": "(212) 254-2246",
"address": "205 E Houston St, New York, NY, United States, 10002",
"latitude": 40.72222,
"longitude": -73.98751,
"website": "http://katzsdelicatessen.com/",
"followers": 940593,
"following": 0,
"talkingAbout": 76987,
"checkins": 529285,
"ratingPercent": 98,
"ratingCount": 52509,
"priceRange": "$$",
"hoursStatus": "Closing Soon",
"intro": "New York City's most iconic deli.",
"creationDate": "2009-06-12",
"isRunningAds": "Yes",
"confirmedOwner": "KATZ DELICATESSEN OF HOUSTON STREET INC",
"adLibraryUrl": "https://www.facebook.com/ads/library/?active_status=all&ad_type=all&country=ALL&view_all_page_id=89033874836",
"coverPhotoUrl": "https://scontent-arn2-1.xx.fbcdn.net/v/t39.30808-6/347638085_5639895616114156_695043930763579880_n.png?stp=dst-png&cstp=mx828x315&ctp=s828x315&_nc_cat=108&ccb=1-7&_nc_sid=cc71e4&_nc_ohc=T9cSNd7cOBYQ7kNvwEMTyQk&_nc_oc=AdqkvRhiqO4YKsKcwDN0qyC8yZEFr7eTAP9eDPbvTXgeJNO1XuKawTFw1bM5aL7fjGU&_nc_zt=23&_nc_ht=scontent-arn2-1.xx&_nc_gid=aBSirQrLjOAvI8kl_yLExg&_nc_ss=70289&oh=00_AQJRFBBIeSM_5lo5glcxVB-B04Vb79NCzI74p5wLIT1edw&oe=6ABB3F94",
"categories": ["Deli"],
"services": ["Dine-in", "Outdoor seating", "In-store pickup"],
"emails": ["cs@katzsdelicatessen.com"],
"phones": ["(212) 254-2246"],
"websites": ["http://katzsdelicatessen.com/"],
"socialProfiles": [
{ "platform": "Instagram", "handle": "katzsdeli", "url": "https://www.instagram.com/katzsdeli" }
],
"scrapedAt": "2026-09-24T20:17:58.145Z",
"error": null
}
{
"title": "Keyes Toyota",
"pageName": "KeyesToyota",
"url": "https://www.facebook.com/KeyesToyota",
"facebookId": "100064058500501",
"pageId": "192701300769125",
"isVerified": "No",
"category": "Automotive Parts Store",
"email": "toyotakeyes@gmail.com",
"phone": "(818) 305-6926",
"address": "5855 Van Nuys Boulevard, Los Angeles, CA, United States, 91401",
"latitude": 34.17717,
"longitude": -118.44969,
"website": "https://www.keyestoyota.com/",
"followers": 5351,
"following": 15,
"talkingAbout": 30,
"checkins": 5971,
"ratingPercent": 88,
"ratingCount": 482,
"priceRange": "Not Disclosed",
"hoursStatus": "Open now",
"intro": "Keyes Toyota",
"creationDate": "2011-03-25",
"isRunningAds": "Yes",
"confirmedOwner": "Lithia Motors, Inc",
"adLibraryUrl": "https://www.facebook.com/ads/library/?active_status=all&ad_type=all&country=ALL&view_all_page_id=192701300769125",
"categories": ["Automotive Parts Store"],
"services": [],
"emails": ["toyotakeyes@gmail.com"],
"phones": ["(818) 305-6926"],
"websites": ["https://www.keyestoyota.com/"],
"socialProfiles": [],
"scrapedAt": "2026-09-24T20:17:57.820Z",
"error": null
}
{
"title": "BBC News",
"pageName": "bbcnews",
"url": "https://www.facebook.com/bbcnews",
"facebookId": "100064620046507",
"pageId": "228735667216",
"isVerified": "Yes",
"category": "Media/news company",
"email": "yourvoice@bbc.co.uk",
"phone": "Not Disclosed",
"address": "BBC Broadcasting House, London, United Kingdom, W1A 1AA",
"latitude": 51.51853,
"longitude": -0.14406,
"website": "http://www.bbc.co.uk/news",
"followers": 62052592,
"following": 49,
"talkingAbout": 839435,
"checkins": 9376,
"ratingPercent": "Not Disclosed",
"ratingCount": "Not Disclosed",
"priceRange": "Not Disclosed",
"hoursStatus": "Always open",
"intro": "BBC News is recognised by audiences around the world as a provider of news that you can trust.",
"creationDate": "2009-12-24",
"isRunningAds": "Yes",
"confirmedOwner": "British Broadcasting Corporation",
"adLibraryUrl": "https://www.facebook.com/ads/library/?active_status=all&ad_type=all&country=ALL&view_all_page_id=228735667216",
"categories": ["Media/news company"],
"services": [],
"emails": ["yourvoice@bbc.co.uk"],
"phones": [],
"websites": ["http://www.bbc.co.uk/news"],
"socialProfiles": [],
"scrapedAt": "2026-09-24T20:18:00.368Z",
"error": null
}

✨ Why choose this Actor

  • Map coordinates on every published address. The latitude and longitude come from the page's own map pin, so rows drop straight into a map, a territory plan or a distance filter without a geocoding step.
  • Every contact, not just the first. All emails, all phones and all websites are kept as lists, alongside a first-value column that is easy to sort and filter.
  • Social accounts, unwrapped. Linked Instagram, TikTok, X, YouTube, LinkedIn and other accounts come with platform, handle and the real URL, not Facebook's l.facebook.com redirect.
  • Exact audience numbers. Followers are the exact count (940,593), not a rounded "940K", plus talking about and check-ins.
  • Page transparency included. Ad Library page ID, creation date, running-ads flag and the confirmed owner company, with a ready Ad Library link. Useful for ad research and for spotting who really runs a page.
  • Structured fields, not guesses. Values come from Facebook's own field records (email field, phone field, address field), not from a regex over the page text, so a phone number in a post never ends up in your phone column.
  • 110 languages. Categories, services, hours and phone formatting can come back in any of the 110 languages Facebook offers, while dates, owner and ad status stay machine-readable.
  • Pay only for pages that came back. Pages that do not exist or are hidden from logged-out visitors produce a free error row that says why.
  • No credentials, no browser. Plain HTTP with automatic IP rotation. You never hand over a Facebook login.

📈 How it compares to alternatives

This ActorTypical page contact scrapersCookie based scrapersManual copy and paste
Requires your Facebook loginNoNoYesYes
Email, phone, address, websiteYes, all valuesUsually first valueYesYes
Map coordinatesYesNoRarelyLook it up yourself
Linked social accountsYes, unwrapped URLsRarelyVariesYes
Exact follower countYesOften roundedVariesRounded
Page transparency (owner, ads, creation date)YesCreation date at mostVariesSeveral clicks per page
Age-restricted pages (alcohol sellers)Not available, see FAQNot availableYesYes, when logged in
Account riskNoneNoneYour account can be flaggedNone

The Actor returns what the page owner chose to publish. In our test of 25 well-known brand pages, 23 were readable, 22 listed a website, 7 a phone and 4 an email. Local businesses (restaurants, dealers, clinics, shops) publish phone, address and email far more often than global brands, which is where this Actor is most useful. Facebook hides some pages from logged-out visitors, typically age-restricted pages of businesses that sell alcohol, and those return an error row instead of data.

🚀 How to use

  1. Create a free Apify account. New accounts include $5 of free platform credit, which is plenty to try this out: console.apify.com/sign-up
  2. Open the Actor and go to the Input tab.
  3. Paste Facebook page links into Facebook page URLs, or usernames and page IDs into Page usernames or IDs.
  4. Set Max Items to the number of pages you want.
  5. Leave Add page transparency on for owner, ad status and creation date, or turn it off for a faster run.
  6. Click Start. The log shows which contact fields each page published as it goes.
  7. Open the Dataset tab and download as CSV, Excel, JSON or XML, or pull it from the API.
{
"startUrls": [{ "url": "https://www.facebook.com/katzsdeli" }],
"pageNames": ["KeyesToyota", "bbcnews"],
"maxItems": 100,
"includeTransparency": true,
"language": "en_US"
}

💼 Business use cases

Local business lead lists

Agencies and SaaS sales teams selling to restaurants, dealers, salons and clinics can take a list of Facebook pages from a directory or a search and turn it into leads with email, phone, address and website in one pass. The map coordinates let you split the list into sales territories without geocoding.

CRM enrichment and data hygiene

Match your CRM accounts to their Facebook pages and fill the gaps: a missing email, a second phone, the website the business actually links, its Instagram handle. Because every value is kept as a list, you can compare them with what you already hold and flag the records that changed.

Local SEO and listings audits

Multi-location brands and listings managers can check that each location's page shows the right name, address and phone. latitude and longitude expose pins that drifted away from the real storefront.

Competitor and ad research

Pull the transparency block for a competitor set: who confirms ownership of each page, when it was created, whether it is running ads right now, and a direct link to its ads in the Meta Ad Library. Pair it with follower and review numbers to size each competitor.

🔌 Automating Facebook Page Contact Info Scraper

  • Make and Zapier: run the Actor when a new lead with a Facebook link lands in your CRM and write the contact fields back.
  • Slack: post a message when a tracked page changes its phone, email or ad status.
  • Airbyte: sync datasets into Snowflake, BigQuery or Postgres for a running history of your prospect pages.
  • GitHub: schedule runs from Actions and keep versioned snapshots of a page list.
  • Google Drive: drop a CSV or Google Sheet into a shared folder after every run.
  • API and webhooks: every run emits a dataset ID; subscribe to the run succeeded webhook and pull the rows into any system.

🌟 Beyond business use cases

  • Research: study how organizations present themselves on Facebook, which contact channels they publish and how that varies by country or category.
  • Personal: collect the phones and addresses of the venues you plan to visit into one list.
  • Non-profit: build contact lists of local organizations and community groups for outreach.
  • Experimentation: the coordinates, categories and audience numbers make a small, clean geo dataset for mapping and analytics projects.

🤖 Ask an AI assistant about this scraper

Paste this into ChatGPT, Claude or any assistant to get help designing your run:

I am using the ParseForge Facebook Page Contact Info Scraper on Apify. It takes Facebook page URLs, usernames or page IDs and returns one row per page with 36 fields, including title, pageName, url, facebookId, pageId, isVerified, category, email, phone, address, latitude, longitude, website, followers, following, talkingAbout, checkins, ratingPercent, ratingCount, priceRange, services, hoursStatus, intro, creationDate, isRunningAds, confirmedOwner, adLibraryUrl, emails, phones, websites and socialProfiles. It only returns what the page owner published and cannot read pages Facebook hides from logged-out visitors. Help me design a run to answer this question: [your question here].

❓ Frequently Asked Questions

🔐 Do I need a Facebook account or cookie? No. The Actor reads only what Facebook shows to a logged-out visitor. You never supply credentials, so no account of yours is exposed.

📭 Why is the email or phone "Not Disclosed" for some pages? The page owner did not publish it. The Actor returns every contact field the page shows to the public and never guesses. Local businesses publish phone and email far more often than global brands: in our test of 25 brand pages, 7 listed a phone and 4 an email.

🚫 Why did a page return an error row? Either the page does not exist, or Facebook hides it from visitors who are not logged in. That is typical for age-restricted pages of businesses that sell alcohol, such as some supermarkets and bars. Error rows are never charged.

🧭 Where do the coordinates come from? From the map pin Facebook shows next to the page's address. When a page has an address without a pin, the coordinates show Not Disclosed.

📞 Why do phone formats differ between pages? The phone is returned exactly as Facebook formats it for the selected language and the visitor's location, for example (212) 254-2246 or +44 20 7730 1234. The digits are the page's own.

🌍 What does the Language setting change? Categories, services, hours status and phone formatting come back in the chosen language. Creation date, running ads and owner always come back in a fixed, machine-readable form, and counts are plain numbers in every language.

📣 What is the page transparency data? The public block Facebook shows about who runs a page: its Ad Library page ID, the date it was created, whether it is running ads now and, when Facebook has confirmed it, the organization responsible for it. It costs one extra request per page and can be turned off.

👍 Does it return page likes? No. Facebook replaced likes with followers on current pages and no longer shows a like count to visitors. The Actor returns the exact follower count instead.

🕐 Does it return full opening hours? Only the status Facebook shows publicly at the moment of the run, such as Open now, Closing Soon or Always open. The weekly schedule is not part of the public page data.

🌐 Do I need a proxy? Keep the default Apify Proxy. Facebook shows a login wall to an IP after a few dozen page views, so the Actor uses a new IP for every attempt and moves to residential IPs by itself when datacenter IPs get walled.

⏱ How fast is it? 5 pages with full transparency took 9 seconds in our cloud test. The Actor reads 5 pages at a time.

📥 What export formats are supported? CSV, Excel, JSON, XML, plus direct API access and integrations with Make, Zapier, Airbyte, Slack, Google Drive and more.

⚖️ Is this legal? The Actor collects business contact information that page owners publish to everyone. You remain responsible for how you use the data, including compliance with GDPR, CCPA, anti-spam law and Facebook's terms.

🔌 Integrate with any app

Every run writes to an Apify dataset reachable through a REST API, so the output drops into whatever you already use. Native integrations cover Make, Zapier, Airbyte, Slack, Google Drive, GitHub, Google Sheets and webhooks, and the API covers everything else.

💡 Pro Tip: browse the complete ParseForge collection.

🆘 Need Help? Open our contact form

⚠️ Disclaimer: independent tool, not affiliated with Facebook or Meta; only publicly available data.