Facebook Page Contacts & Ad Status Scraper: Email & Phone avatar

Facebook Page Contacts & Ad Status Scraper: Email & Phone

Pricing

from $5.40 / 1,000 page returneds

Go to Apify Store
Facebook Page Contacts & Ad Status Scraper: Email & Phone

Facebook Page Contacts & Ad Status Scraper: Email & Phone

For agency lead lists and sales prospecting: paste Facebook Page URLs, get one row per Page with email, phone, address, website, Instagram, rating, exact followers, creation date and whether it is running ads. 16 of 25 local business Pages had an email on 2026-10-15. Export CSV or Excel.

Pricing

from $5.40 / 1,000 page returneds

Rating

0.0

(0)

Developer

NeverEmpty

NeverEmpty

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 days ago

Last modified

Share

Facebook Page Contacts & Ad Status Scraper

Get the email, phone number, address and website of Facebook business Pages in bulk: paste a list of Page URLs and get one row per Page, ready to export as CSV, Excel or JSON. Each row also shows whether the Page is running ads right now (with its Ad Library link), when the Page was created, its rating and review count, and its exact follower count.

Built for lead generation, agency prospecting and sales research: you already have Page URLs from a spreadsheet, a directory or a search, and you need the contact details and a quick "is this business active and advertising?" signal next to each one. No Facebook account or cookies needed.

What you get for each Page

ColumnExample (Katz's Delicatessen, run on 2026-10-15)
title, category, categoriesKatz's Delicatessen · Deli · ["Page", "Deli"]
emailcs@katzsdelicatessen.com
phone(212) 254-2246
address, addressMapUrl205 E Houston St, New York, NY, United States … · Google Maps link
website, websiteshttp://katzsdelicatessen.com/ (the business's own address, ready to click)
socialMedia, alternativeSocialMediahttps://www.instagram.com/katzsdeli
rating, ratingOverall, ratingCount98% recommend (52,493 reviews) · 98 · 52493
priceRange, services, hoursStatus$$ · Dine-in, Outdoor seating, In-store pickup · Closed now
followers, talkingAbout, wereHere956812 · 39625 · 529903 (exact numbers, ready to sort and filter)
creationDate, isRunningAds, adLibraryUrl2009-06-12 · true · Ad Library link for the Page
CONFIRMED_OWNER_LABELKATZ DELICATESSEN OF HOUSTON STREET INC
intro, isVerified, profilePictureUrl, coverPhotoUrlbio text, badge, images
pageId, adLibraryPageId, pageUrl, pageNameIDs and the Page address as Facebook names it
redirectedFromthe URL you pasted, when the Page has moved to a new name

In a run of 25 restaurant, bakery, bookstore and roofing Pages on 2026-10-15, 16 had an email, 13 a phone number, 11 a street address, 25 a website and 19 a rating; all 25 had a creation date and ad status.

Why this one

  • Contacts and ad status in one row. Email, phone, address, website, rating, hours and services sit next to the creation date, ad status, responsible organization and Ad Library link, so one export answers "how do I reach them?" and "are they spending on ads?".
  • Every row is the Page you asked for. When a Page has moved to a new name, you get that Page with your original URL kept in redirectedFrom, so every row matches a line in your list.
  • Every URL you paste gets a row. A Page row with the data, or a free row with a status and a note that says what happened, so you always know which entries to check.
  • Exact numbers. Followers, talking-about and check-ins are the exact counts Facebook publishes for the Page, ready to sort and filter in a spreadsheet.
  • You pay only for Page rows. Missing Pages, personal profiles and entries Facebook refused are free rows.
  • Any address format works. Full URLs go in startUrls: https://www.facebook.com/katzsdeli, https://m.facebook.com/katzsdeli/about, https://www.facebook.com/profile.php?id=…, https://www.facebook.com/people/Name/1000…/, https://www.facebook.com/p/Name-1000…/, https://www.facebook.com/<numeric ID>. Usernames (katzsdeli), numeric Page IDs and addresses without https:// go in pageNamesOrIds. The same Page entered twice, in any of these forms, is charged once; the repeat gets a free already-returned row that names the entry holding the data.
  • Fits your existing sheet. Column names such as facebookUrl, pageId, title, categories, info, likes, followers, rating, ratingOverall, ratingCount, email, phone, address, website, websites, intro, priceRange, services, alternativeSocialMedia, creation_date, ad_status, confirmed_owner, pageAdLibrary, profilePictureUrl and coverPhotoUrl follow the names most Facebook Page datasets already use, so an existing sheet or pipeline keeps working.

Input

{
"startUrls": [
{ "url": "https://www.facebook.com/katzsdeli" },
{ "url": "https://www.facebook.com/CollinsRoofing" }
],
"pageNamesOrIds": ["NASA", "100064806517961"],
"includeTransparency": true
}
  • startUrls: full Page URLs starting with https://.
  • pageNamesOrIds: usernames, numeric Page IDs, or addresses without https://. Both lists are read together, up to 2,000 Pages per run.
  • includeTransparency (on by default): adds creation date, ad status, Ad Library ID and responsible organization. Turn it off for faster runs with the contact fields only.

FAQ

How do I get the email and phone number from a list of Facebook business Pages?

Paste the Page URLs into startUrls and run. Each Page comes back as one row with email, phone, address and website filled wherever the Page lists them.

How can I check whether a Facebook Page is running ads?

Keep includeTransparency on. isRunningAds is true or false for each Page (empty when the Page shows no ad status), and adLibraryUrl opens the Page's ads in the Ad Library.

How do I find out when a Facebook Page was created?

With includeTransparency on, each row has creationDate (for example 2009-06-12), which helps tell long-running businesses from new ones.

Can I export the results to CSV or Excel?

Yes. Open the run's dataset and download it as CSV, Excel, JSON or XML, or read it from the API in your own tools.

Do I need a Facebook account, cookies or proxies?

No. Paste the URLs and run.

What happens if a Page was renamed or removed?

A renamed Page that Facebook forwards comes back as that Page, with the URL you pasted in redirectedFrom. A removed Page comes back as a free not-found row.

Rows that are not Pages (free)

statusMeaning
not-foundFacebook says the Page is not available (removed, renamed without a forward, or restricted).
not-a-pageThe address is a personal profile. Nothing is collected from personal profiles.
different-pageFacebook answered with another Page. Nothing from it is returned.
blocked / unreadableFacebook refused or did not answer for this entry. Run it again later.
bad-inputThe entry is not a Facebook Page address (a group, an event, another site).
budget-reachedThe run hit the maximum charge you set; the rest were not read or charged.
already-returnedThe same Page as an earlier entry of the run; sameAs names the entry whose row has the data.

Every free row has a note with the reason. The run log ends with a count of Page rows, which equals the number of charged events.

Limitations

  • Only the public information anyone can see without logging in is returned. Fields that need a logged-in account (posts, the full weekly opening hours, Messenger links, Wi-Fi and payment details from the old Page layout, people who like the Page) are not included.
  • Personal profiles are skipped on purpose.
  • Many Pages list only some contact fields, and large brand Pages list contacts less often (see the 25-Page run above).
  • likes is filled only for Pages where Facebook still shows a like count; most Pages now show followers only.
  • hoursStatus is the open/closed state at the time of the run.
  • Image URLs are signed by Facebook and expire after some days; download them if you need to keep them.
  • A Page that Facebook restricts by country or age can come back as not-found.

Thanks for using this Actor

We build these tools for people who run them every day, and we improve them from what users tell us.

  • Missing a field, or need another filter? Tell us in the Issues tab. If the data is there, we add it.
  • Found a bug or a wrong value? Post the run ID in the Issues tab. Wrong data is the thing we fix first.

If this Actor saved you time, a short review helps other people find it.