Alfalfa

Extracting emails from Facebook pages, in bulk

Businesses publish a contact address on their Facebook page and then wonder why nobody uses it. If you sell to those businesses, that field is the cleanest B2B contact you will find anywhere. Here is where it lives, how much of it exists, and how to collect it properly.

Updated September 2026.

Where the email actually comes from

It is not hidden and it is not guessed. The owner types it into the page's contact fields, and Facebook then renders it in two places a signed-out visitor can see: the Intro block on the page itself, and the Contact section under About. That is the whole mechanism. Anything that claims to "find" an email that a page never published is guessing a pattern like info@domain, and guessed addresses bounce.

Alongside the email, the same block usually carries a phone number, a website, a street address with a map link, opening hours, a price range and the page's rating. Those come as one unit, which matters, because the email alone is rarely enough to qualify a lead.

What you should expect to get

Set expectations before you build a list. Across the pages we test with, a minority publish an email. Phone numbers and websites are much more common. So a realistic pipeline looks like this:

Anyone promising an email for every page is either guessing addresses or scraping something they should not.

The three ways people do this

MethodReality
By handFine for ten pages. Opening a page, clicking About and copying the address takes about a minute each.
Browser extensionWorks while you browse, tied to your logged-in session, and that is the risk. Automating actions inside your own account is what gets accounts restricted.
Signed-out scraperReads the same public fields without any account. Nothing of yours is exposed, and it scales to thousands of pages.

Doing it with a list of pages

The Facebook Pages Scraper takes page URLs, one per line, and returns one record per page with the contact block already parsed:

{
  "title": "The Copper Kettle Restaurant",
  "categories": ["Page", "Pizza place"],
  "email": "copperkettle.events@gmail.com",
  "phone": "+1 306-525-3545",
  "website": "thecopperkettle.online",
  "address": "1953 Scarth Street, Regina, SK, Canada",
  "likes": 3268,
  "followers": 3200,
  "rating": "94% recommend (201 reviews)",
  "priceRange": "$$",
  "hours": "Closed now"
}

Bare page names work as well as full URLs, and profile.php?id=… links resolve correctly. The same run also returns the page's category, rating and follower count, which is what lets you sort a raw list into the accounts worth contacting.

Where to get the list of pages in the first place

The scraper enriches pages you already know about. To build that list, most people start from one of these:

Before you email anybody

This part gets skipped and it is the part that costs money. A named person's work address is personal data under the GDPR, and "it was published publicly" is not by itself a lawful basis to process it. European regulators have fined companies for building contact databases this way, including a French penalty against a contact-data provider for scraping professional details.

Practical version: prefer role addresses over named individuals, write down why you have a legitimate interest in contacting them, keep the collection date, honour unsubscribes immediately, and check the anti-spam rules where the recipient lives before sending anything cold. Enriching accounts you already do business with is a much safer footing than blasting a purchased-feeling list.

Questions people ask

Do I need a Facebook account?

No. These are fields a page shows to anyone, signed in or not.

Can it get emails from personal profiles?

Only if the profile publishes one, which is rare. This is a business-page technique.

How fast is it?

About 100 pages in a couple of minutes at default settings, and you can raise the concurrency for longer lists.

What does it cost?

From $3.50 per 1,000 pages with the contact details included. Apify's own tools split this into a page scraper and a separate contact-info scraper, at $12 and $13 per 1,000.

Try the Facebook Pages Scraper See the bulk email example