Facebook Page Contact Details — Email, Phone, Hours, No Login avatar

Facebook Page Contact Details — Email, Phone, Hours, No Login

Pricing

from $3.00 / 1,000 results

Go to Apify Store
Facebook Page Contact Details — Email, Phone, Hours, No Login

Facebook Page Contact Details — Email, Phone, Hours, No Login

Contact details for any public Facebook page, logged out: email, phone, address, website, Instagram and other social handles, open/closed status, price range, rating and review count, category and verified badge. One HTTP request per page, no cookies, no browser.

Pricing

from $3.00 / 1,000 results

Rating

5.0

(1)

Developer

Muhamed Didovic

Muhamed Didovic

Maintained by Community

Actor stats

2

Bookmarked

104

Total users

8

Monthly active users

a day ago

Last modified

Share

Facebook Page Contact Details Scraper

Email, phone, address, website, social handles, opening status, price range, rating and review count for any public Facebook page — plus exact likes, followers, verified badge and profile picture. Paste page URLs, names or ids. No login, no cookies, no browser.

Why Use This Scraper?

  • It reads the About tab, not the intro card. Contact details live on /about_contact_and_basic_info, and Facebook renders them there keyed by a stable field enum. Scrapers that read the page root or the intro widget return blanks for most of these fields; this one returns the address, hours status, price range and social handles that the leading alternative does not.
  • Exact likes, not rounded. The page head publishes 5,472 likes · 8 talking about this · 58 were here to a logged-out client. That exact figure is returned alongside the rounded 5.4K followers label.
  • Any way you write the page. https://www.facebook.com/humansofnewyork, humansofnewyork, profile.php?id=61569673074519, the bare id 61569673074519, an m.facebook.com link, or a URL with /about or /reels on the end — all normalised, duplicates fetched and billed once.
  • Locale-proof. Extraction anchors on Facebook's internal field enum, not the visible labels, so a German or Croatian run (language input) extracts the same fields as an English one.
  • Cheap on the wire. Each page is streamed and the connection cut the moment the contact section has arrived: about 100 KB per page instead of the 2 MB the full About tab weighs.
  • A page that cannot be read says why. not_found, login_wall, no_about_tab or blocked — as a row, not charged, rather than a silently shorter dataset.

Overview

One row per page, 36 fields. Give it fifty pages and you get fifty rows, each carrying inputUrl so a batch stays attributable.

Supported Inputs

InputExample
Page URLhttps://www.facebook.com/BlueSpringsSidingandWindows
Vanity namehumansofnewyork
Numeric id61569673074519 or https://www.facebook.com/profile.php?id=61569673074519
Any hostm.facebook.com, facebook.com, www.facebook.com
Any tab/about, /reels, /videos — stripped, the About tab is fetched regardless

Use Cases

  • Lead lists — pull email, phone and website for every business page a search or category scrape returned.
  • CRM enrichment — one row per page with address, rating and verified badge, keyed on pageId.
  • Local SEO audits — category, hours status, price range and review count across a set of competitors.
  • Social graph — Instagram, TikTok and other handles a business lists on Facebook, with the URL built for each.

How It Works

Each input is normalised to the page's About tab URL. That page is fetched over a residential proxy as a stream and read only until the contact section has arrived — roughly the first 5% of the document. The page root's <head> is then fetched the same way, about 4 KB, for the profile picture. Every contact field is read from Facebook's own field_type enum, emails are decoded from the \u0040 form Facebook serves, and the website is taken from the clean destination rather than the l.facebook.com redirect wrapper.

No login and no cookies. Pure HTTP, no browser.

Input Configuration

FieldTypeDefaultNotes
startUrlsarrayrequiredPage URLs, vanity names or numeric ids. De-duplicated on the normalised page.
maxItemsinteger—Stop after this many pages.
languagestringen-USAccept-Language for the request. Extraction is locale-independent; this changes only free-text values Facebook localises, such as the category name.
proxyConfigurationobject—Non-paying sample runs only. Paying runs always use a built-in residential proxy, because Facebook serves a login wall to datacenter IPs.

Example input

{
"startUrls": [
"https://www.facebook.com/BlueSpringsSidingandWindows",
"humansofnewyork",
"61569673074519"
]
}

Output Overview

One flat row per page. A page that cannot be read yields { inputUrl, error, message } instead and is not charged.

Output Sample

A real row from a live run. The profile picture URL is abbreviated here; it arrives in full.

{
"facebookUrl": "https://www.facebook.com/BlueSpringsSidingandWindows",
"pageUrl": "https://www.facebook.com/BlueSpringsSidingandWindows",
"pageName": "Blue Springs Siding & Windows",
"title": "Blue Springs Siding & Windows",
"pageId": "100063837091544",
"facebookId": "100063837091544",
"category": "Construction Company",
"categories": [
"Construction Company"
],
"address": "2201 NW Jefferson Street, Blue Springs, MO, United States, 64015",
"addressUrl": "https://maps.google.com/maps?q=2201%20NW%20Jefferson%20Street%2C%20Blue%20Springs%2C%20MO%2C%20United%20States%2C%2064015",
"phone": "+1 816-439-8048",
"email": "info@bsswin.com",
"website": "https://bluespringssidingandwindows.com/",
"websites": [],
"followers": "5.4K followers",
"rating": "82% recommend (76 reviews)",
"ratings": "82% recommend (76 reviews)",
"ratingOverall": 82,
"ratingCount": 76,
"business_hours": "Closed now",
"likes": 5472,
"talkingAbout": 8,
"wereHere": 58,
"following": "41 following",
"intro": "Providing quality remodeling services to the Kansas City metropolitan area and surrounding locations!",
"profilePictureUrl": "https://scontent.fcrk3-4.fna.fbcdn.net/v/t39.30808-1/281412954_5968711679812581_1539915091538558437_n.jpg?…",
"isVerified": true,
"ratingPercent": 82,
"reviewCount": 76,
"hoursStatus": "Closed now",
"priceRange": "$$$",
"socialLinks": [
{
"platform": "Instagram",
"handle": "bluespringssidingandwindows",
"url": "https://www.instagram.com/bluespringssidingandwindows"
}
],
"instagram": "https://www.instagram.com/bluespringssidingandwindows",
"fieldsFound": [
"category",
"address",
"profile_phone",
"profile_email",
"website",
"screenname",
"ratings",
"business_hours",
"business_price"
],
"inputUrl": "https://www.facebook.com/BlueSpringsSidingandWindows",
"scrapedAt": "2026-09-15T11:24:51.684Z"
}

Key Output Fields

FieldNotes
email / phone / address / websiteFrom the About tab's contact section. null where the page lists none.
websitesEvery external site the page links, clean destinations.
socialLinks / instagramPlatform, handle and a built URL for each social handle the page lists. instagram is the Instagram URL alone, for convenience.
hoursStatusOpen now / Closed now / Always open, as Facebook renders it. The per-day schedule is not served to a logged-out client and is not guessed.
priceRange$ to $$$$.
rating / ratingPercent / reviewCount82% recommend (76 reviews) and its parsed parts.
likes / talkingAbout / wereHereExact counts from the page head.
followers / followingFacebook's rounded labels — 5.4K followers.
category / categoriesThe page's category as Facebook names it in the request language.
isVerifiedThe blue badge.
introThe page's own intro line.
profilePictureUrlSigned CDN link, valid for a few hours.
pageId / facebookIdThe numeric page id.
fieldsFoundWhich of Facebook's contact field types this page rendered — so an empty phone is distinguishable from a page that never listed one.
error / messagePresent only on a failure row: not_found, login_wall, no_about_tab, blocked, invalid_url.

FAQ

Do I need a Facebook account or cookies? No. Every figure in this README came from logged-out requests with no cookies of any kind.

Why is phone null for a page I can see a number on? Check fieldsFound. If profile_phone is absent, the page does not list a phone in its About section — the number you see is in a post or the intro text, which is not a structured field. If it is present and phone is still null, that is a bug; open an issue with the page URL.

Can I get opening hours by day? Not logged out. Facebook renders only the current open/closed status server-side; the day-by-day schedule loads on click and is absent from the document a logged-out client receives. hoursStatus is what exists.

Why are likes exact but followers rounded? Because that is how Facebook publishes them. The page head carries the exact like count in its OpenGraph description; followers appear only as the rounded label.

What happens to a private or removed page? You get one row with error and a message saying which, and you are not charged for it.

Am I charged twice if I list the same page twice? No. humansofnewyork and https://www.facebook.com/humansofnewyork/about normalise to the same page and are fetched once.

Support

Open an issue on the Actor's Issues tab. Bug reports with a run id and the page URL get looked at first.

Explore More Scrapers

🤖 For AI Agents & LLM Apps

Purpose: Return contact and profile details for public Facebook pages — email, phone, address, website, social handles, open/closed status, price range, rating, exact likes, verified badge, profile picture — from page URLs, names or ids.

Minimal tested input:

{ "startUrls": ["https://www.facebook.com/BlueSpringsSidingandWindows"] }

Output: array of flat objects, one per page. Fields: facebookUrl, pageUrl, pageName, title, pageId, facebookId, category, categories, address, addressUrl, phone, email, website, websites, followers, following, rating, ratings, ratingOverall, ratingCount, ratingPercent, reviewCount, business_hours, hoursStatus, priceRange, likes, talkingAbout, wereHere, intro, profilePictureUrl, isVerified, socialLinks, instagram, fieldsFound, inputUrl, scrapedAt.

Agent-relevant behaviour: a null contact field means the page does not list it — check fieldsFound to tell "not listed" from "not extracted". likes is exact; followers is Facebook's rounded label and should not be presented as exact. hoursStatus is the only hours information a logged-out client can obtain. A row carrying error is a page-level failure, not a page. profilePictureUrl expires within hours.

Billing: per delivered row. Failure rows are free.

⚠️ Disclaimer

This Actor reads only publicly available Facebook page information — no login, no cookies, no private content. You are responsible for using the output lawfully, including under the GDPR, the CCPA and Facebook's terms where they apply to you. Nothing here is legal advice.

SEO Keywords

facebook page contact scraper, facebook page email scraper, facebook business phone number, facebook page address scraper, facebook page details, facebook about scraper, facebook page info api, facebook page likes exact, facebook business contact details, facebook page social links, facebook page hours, facebook page rating scraper, facebook lead generation, facebook page scraper no login, apify facebook page contact info