Facebook Pages Scraper
Pricing
from $6.00 / 1,000 results
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 days ago
Last modified
Categories
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
| Input | Type | Default | Meaning |
|---|---|---|---|
startUrls | array | required | Facebook page links, usernames or numeric page IDs. One row per page. |
maxPages | integer | 20 | Cap on the number of pages read in this run. |
proxyConfiguration | object | Apify proxy, United States | Where requests come from. The default suits almost every page; change the country if you need pages as seen from elsewhere. |
residentialFallback | boolean | true | Pages 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:
| Field | Meaning |
|---|---|
pageId, profileId, url, username | Page identity and its canonical link. |
name, category, categories | Page name and category as shown on the page. |
followers, likes, following | Exact counts (likes only for pages that still show them). |
talkingAbout, wereHere | People talking about the page and check-ins. |
intro, description | The page's intro text and short description. |
email, phone, website, websites, address | Contact details listed in the page's intro. |
latitude, longitude | Coordinates of the listed address, when there is one. |
priceRange, services, recommendPercent, reviewCount | Business details for shops, restaurants and venues. |
socialLinks | Other accounts linked from the page, such as Instagram. |
responsibleEntity | The organisation listed as responsible for the page. |
introItems | Every intro line as shown, with its type, for anything not covered above. |
verified | Whether the page shows the verified badge. |
profilePictureUrl, coverPhotoUrl | Profile picture and cover photo links. |
latestPosts | The 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, scrapedAt | The link you supplied and the collection time (UTC, ISO 8601). |
error | Always 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.
latestPostsholds 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.