Facebook Pages Scraper avatar

Facebook Pages Scraper

Pricing

from $6.00 / 1,000 results

Go to Apify Store
Facebook Pages Scraper

Facebook Pages Scraper

Collect public Facebook page profiles from page links or usernames: exact follower count, category, intro, website, email and phone when listed, profile and cover images, verified badge, and the latest post with its reaction, comment and share counts. You only pay for pages delivered.

Pricing

from $6.00 / 1,000 results

Rating

0.0

(0)

Developer

Philip Kirkbride

Philip Kirkbride

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Share

Turn a list of Facebook page links or usernames into clean page profiles. Every page becomes one row with its exact follower count, category, intro text, the website, email, phone and address it lists, profile and cover images, the verified badge, and its latest post with reaction, comment and share counts. Local businesses also return their price range, services, review score and map coordinates when the page shows them.

No Facebook account, login or cookies are needed. You only pay for pages that are actually delivered.

Use cases

  • Lead lists: collect the public email, phone, website and address of brands, shops and venues.
  • Competitor and brand tracking: follow exact follower counts, "talking about this" and check-ins over time.
  • Influencer and media research: compare audience size and recent engagement across many pages.
  • Data enrichment: add category, verified status and links to a list of Facebook pages you already have.

Quick Start

{
"startUrls": [
"https://www.facebook.com/nike",
"https://www.facebook.com/NASA",
"katzsdeli"
],
"maxPages": 20
}

Page links, bare usernames, profile.php?id= links and numeric page IDs all work. Mobile links (m.facebook.com) and links to a page's sub-tabs or posts are reduced to the page itself, and duplicates are returned once.

Input

InputTypeDefaultMeaning
startUrlsarrayrequiredFacebook page links, usernames or numeric page IDs. One row per page.
maxPagesinteger20Cap on the number of pages read in this run.
proxyConfigurationobjectApify proxy, United StatesWhere requests come from. The default suits almost every page; change the country if you need pages as seen from elsewhere.
residentialFallbackbooleantruePages that keep refusing anonymous visitors are retried on a residential address for their last attempts. Turn off to stay strictly on the proxy chosen above.

What it returns

The dataset contains one row per page:

FieldMeaning
pageId, profileId, url, usernamePage identity and its canonical link.
name, category, categoriesPage name and category as shown on the page.
followers, likes, followingExact counts (likes only for pages that still show them).
talkingAbout, wereHerePeople talking about the page and check-ins.
intro, descriptionThe page's intro text and short description.
email, phone, website, websites, addressContact details listed in the page's intro.
latitude, longitudeCoordinates of the listed address, when there is one.
priceRange, services, recommendPercent, reviewCountBusiness details for shops, restaurants and venues.
socialLinksOther accounts linked from the page, such as Instagram.
responsibleEntityThe organisation listed as responsible for the page.
introItemsEvery intro line as shown, with its type, for anything not covered above.
verifiedWhether the page shows the verified badge.
profilePictureUrl, coverPhotoUrlProfile picture and cover photo links.
latestPostsThe first post Facebook includes on the page itself, normally the newest: postId, url, text, createdAt, mediaTypes, reactions, comments, shares, videoViews and a per-reaction reactionBreakdown.
input, scrapedAtThe link you supplied and the collection time (UTC, ISO 8601).
errorAlways null in the dataset. Failures are reported in the run summary instead.

Fields the page does not show are null (or an empty list). The run summary (OUTPUT) reports pages (rows delivered), errors and the failed pages at pageErrors.

Example queries

  • Brand pages: nike, cocacola, starbucks
  • Media and public bodies: https://www.facebook.com/NASA, https://www.facebook.com/bbcnews
  • Local businesses: https://www.facebook.com/katzsdeli
  • Pages without a username: https://www.facebook.com/profile.php?id=100064470440594

Output example

{
"pageId": "15087023444",
"profileId": "100044541544829",
"url": "https://www.facebook.com/nike",
"username": "nike",
"name": "Nike",
"category": "Sportswear Store",
"categories": ["Sportswear Store"],
"followers": 39500692,
"likes": null,
"following": 24,
"talkingAbout": 140904,
"wereHere": 18567,
"intro": null,
"description": "Just Do It.",
"email": null,
"phone": "+972 54-292-7777",
"website": "http://nike.com/",
"websites": ["http://nike.com/"],
"address": null,
"latitude": null,
"longitude": null,
"priceRange": null,
"recommendPercent": null,
"reviewCount": null,
"services": [],
"socialLinks": [],
"responsibleEntity": "NIKE, Inc.",
"introItems": [
{"type": "influencer_category", "text": "Page · Sportswear Store"},
{"type": "confirmed_owner_label", "text": "NIKE, Inc.", "subtitle": "is responsible for this Page"},
{"type": "profile_phone", "text": "+972 54-292-7777"},
{"type": "website", "text": "nike.com", "url": "http://nike.com/"}
],
"verified": true,
"profilePictureUrl": "https://scontent.xx.fbcdn.net/v/t39.30808-1/284964043_10159903868513445_7696353984967674128_n.jpg",
"coverPhotoUrl": "https://scontent.xx.fbcdn.net/v/t39.30808-6/285211224_10159903868008445_5477337468887983165_n.png",
"latestPosts": [
{
"postId": "1393461115481927",
"url": "https://www.facebook.com/reel/2166091230582141/",
"text": "Leave your limits at the surface. #JustDoIt",
"createdAt": "2025-09-15T16:01:59+00:00",
"mediaTypes": ["video"],
"reactions": 8372,
"comments": 2686,
"shares": 1179,
"videoViews": 508812,
"reactionBreakdown": {"like": 6919, "love": 1199, "care": 137, "wow": 45, "angry": 36, "haha": 32, "sad": 4}
}
],
"input": "nike",
"scrapedAt": "2026-10-19T22:30:54+00:00",
"error": null
}

Failed pages

A page that cannot be read is listed in the run summary at OUTPUT.pageErrors with its link, a code and a message:

  • NOT_FOUND: the page does not exist or was removed.
  • LOGIN_WALL: Facebook only shows this page to logged-in visitors (age- or country-restricted pages, some personal profiles), or kept refusing anonymous visits.
  • SOURCE_CHANGED: the page loaded but did not have the expected layout.

Failed pages are never dataset rows and are not charged. A run in which every page fails exits with an error instead of finishing green with an empty dataset.

Limits and caveats

  • Only public pages are supported. Groups, events, Marketplace and private personal profiles are not.
  • latestPosts holds the first post Facebook includes on the page itself, normally the newest; on pages with a pinned post this may be the pinned one. For a page's full post history, use a dedicated posts scraper.
  • Follower, "talking about this" and check-in counts are exact. Reaction, comment and share counts are those shown at collection time.
  • Contact details appear only when the page lists them publicly.
  • Automated access is subject to Facebook's terms; use this actor only where you have the necessary permissions and a lawful basis, especially for contact details of individuals.

FAQ

Do I need a Facebook account? No. Pages are read the way any visitor who is not logged in sees them.

Why is a page missing from my results? Check OUTPUT.pageErrors. Most often the page was renamed, removed, or is restricted to logged-in visitors.

Can I pass a link to a post or a page's About tab? Yes. The actor reads the page that the link belongs to.

Price

$0.006 per page delivered, plus $0.005 per run start. The run-start event is charged per GB of memory; the default 512 MB run is one start event. The start is charged even if the run saves no results. Failed pages are not charged. Platform usage is included in these prices.