Facebook Pages · Email, Phone & Website avatar

Facebook Pages · Email, Phone & Website

Pricing

from $3.99 / 1,000 results

Go to Apify Store
Facebook Pages · Email, Phone & Website

Facebook Pages · Email, Phone & Website

Paste public Facebook page URLs — email, phone, website, Instagram, category and bio in one row. Free plan: 20 pages / run. No login, no API key.

Pricing

from $3.99 / 1,000 results

Rating

0.0

(0)

Developer

Corentin Robert

Corentin Robert

Maintained by Community

Actor stats

0

Bookmarked

39

Total users

3

Monthly active users

4 days ago

Last modified

Share

Facebook Page Contacts · Email, Phone & Website

Paste public Facebook page URLs — get phone, email, website, Instagram and category in one CRM-ready row.

No login. No API key. No Facebook app.

Works on vanity URLs (facebook.com/cocacola) and numeric /pages/ links. One URL or a list. Free plan: 20 pages per run. Paid plans use your PPE budget.


Who is this for?

You are…Typical goalSuggested setup
B2B / outboundContact list from Facebook business pagesPaste page URLs · export CSV
CRM / RevOpsEnrich existing accounts with phone and emailBulk URLs · keep status
AgencyClient pages + competitor pages in one run10–200 URLs
Local servicesShops and venues that only publish FacebookCity page list
Events / sponsorshipOrganiser phone and email from event pagesEvent page URLs

What you get by default: one row per page with name, phone, email, websites, social links, Instagram handle, address, category, bio, followers, page ID. Empty contact fields stay empty — status is ok, no_contact, or an error code.

Honest limit: only public intro-card data. If Facebook hides email behind login, you get no_contact, not a guess.


Quick start

  1. Open the Actor Input tab.
  2. Paste one Facebook page URL (prefill is a real public page).
  3. Click Start.
  4. Download JSON / CSV / Excel from the Dataset tab.

Standby lookup (HTTP)

Console Start is unchanged: paste page URLs, run, download the dataset.

Need one Facebook page (or a few) in n8n, Make, or your own app? Use the Standby tab hostname. Authenticate with Authorization: Bearer <APIFY_TOKEN> (or ?token=).

MethodPathRequestResponse
GET / POST/lookuppageUrl or pageUrls (max 5){ items, count, failed, budgetExhausted, cap }
GET/Header x-apify-container-server-readiness-probeOK

Hard cap: 5 pages per request. Bulk scrapes belong on Start. Same PPE as a dataset row. First byte timeout: 5 minutes.

curl -H "Authorization: Bearer $APIFY_TOKEN" \
"https://<user>--facebook-page-contact-scraper.apify.actor/lookup?pageUrl=https://www.facebook.com/cocacola"
curl -H "Authorization: Bearer $APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"pageUrls":["https://www.facebook.com/cocacola","https://www.facebook.com/nike"]}' \
"https://<user>--facebook-page-contact-scraper.apify.actor/lookup"
{ "items": [{ "pageName": "Coca-Cola", "website": "coca-cola.com", "category": "Food and drink", "status": "ok" }], "count": 1, "cap": 5 }

Standby memory 512 MB, idle 60 s (Console → Actor → Standby).


Ready-made examples (published tasks)

ExampleBest for
Extract contacts from Africa Eco Race pageEvent / sponsorship outreach
Extract Coca-Cola Facebook page contactsBrand page baseline
Extract Nike Facebook page contactsGlobal brand page
Extract Airbnb Facebook page contactsTravel brand
Extract IKEA Facebook page contactsRetail chain
Extract Sephora Facebook page contactsBeauty retail
Extract Decathlon Facebook page contactsSport retail
Extract Spotify Facebook page contactsMedia / streaming
Extract Booking.com Facebook page contactsTravel marketplace
Extract McDonald's Facebook page contactsQSR brand
Extract Lloyd & Davis Facebook contactsSME / real-estate agency
Extract Staycation Paris Facebook contactsIndependent hotel brand

What you get

CategoryFields
IdentitypageName, pageId, pageUrl, category, bio, followers, profileImageUrl
Contactphone, email, website, websites, address
SocialsocialLinks, instagramHandle
ExtrapriceRange (shops / restaurants), status, scrapedAt

Posts, comments and DMs are not scraped.

Example output

{
"pageName": "LLOYD & DAVIS",
"phone": "01 87 37 55 69",
"email": "contact@lloyd-davis.com",
"website": "lloyd-davis.com",
"websites": ["recrutement-lloyd-davis.com", "lloyd-davis-luxury.com", "lloyd-davis.com"],
"socialLinks": ["https://www.instagram.com/lloyddavisluxury", "https://tiktok.com/@lloydanddavis", "https://www.linkedin.com/company/lloyd-davis/"],
"instagramHandle": "lloyddavisluxury",
"category": "Real Estate Agent",
"bio": "Lloyd & Davis, réseau immobilier international, experts en résidentiel, luxe et en expatriation.",
"followers": 1996,
"pageId": "100057626180863",
"pageUrl": "https://www.facebook.com/lloydanddavis/",
"status": "ok",
"scrapedAt": "2026-04-06T10:00:00.000Z"
}

How to use

Accepted URL shapes:

https://www.facebook.com/africaecorace/
https://www.facebook.com/cocacola
https://www.facebook.com/pages/Some-Page/123456789
  1. Paste URLs in Page URL(s) (one per line).
  2. Click Start.
  3. Export from the Dataset tab.

Private profiles, groups and deactivated pages return an error status. Pages that only show contacts to logged-in users return no_contact.


How much does it cost to scrape Facebook page contacts?

Pay-per-event on Apify (see the Actor Pricing tab for live tiers). Typical shape: one charge per page row written to the dataset — on the order of ~$4 per 1,000 pages at list price, plus compute. Residential proxy (default on cloud) is billed per GB when used.

ScenarioWhat you pay for
1 page (Try)1 result event + a short run
100 pages CRM enrich~100 result events
1,000 pages bulk~1,000 result events

Failed / empty-contact rows still occupy a dataset line (status) so you can filter; check Pricing if a given event is billed only on ok.


This Actor only reads publicly visible intro-card fields — the same data anyone can see without an account. You are responsible for GDPR / e-privacy and Meta’s terms for your use case. Not affiliated with Meta.


Input (API / JSON only)

The Console form only asks for URLs. Default on Apify: residential proxy + up to 5 workers. Override via API / input.json:

KeyTypeDefaultNotes
parallelWorkersinteger5 with proxy, 1 withoutCap 5
delayBetweenRequestsMsinteger4500 cloud / 2000 localPause after each page
loginWallCooldownMsinteger18000 cloud / 10000 localExtra wait after a login wall. 0 = off
proxyConfigurationobjectresidential on{ "useApifyProxy": false } for direct

Also available


Local development

cd facebook-page-contact-scraper
npm install
apify run --purge --input-file=./input.json

Use apify run (not npm start). Edit root input.json or pass --input-file. Example:

{
"pageUrls": [
{ "url": "https://www.facebook.com/cocacola" }
]
}

npm test runs unit tests (no network). Local storage/ is not synced to Apify Console.


Support

Questions or custom bulk runs: corentin@outreacher.fr.

Does Standby replace Start? No. Start = bulk dataset. Standby = small JSON lookup (max 5 pages). First HTTP byte timeout is 5 minutes.

Ready? Paste a page URL and click Start.