Facebook Page Post Intelligence | Public Pages & Posts Scraper avatar

Facebook Page Post Intelligence | Public Pages & Posts Scraper

Pricing

Pay per usage

Go to Apify Store
Facebook Page Post Intelligence | Public Pages & Posts Scraper

Facebook Page Post Intelligence | Public Pages & Posts Scraper

Scrape public Facebook page metadata and posts without API keys. Get page followers, post text, reactions, shares, comments, and engagement signals for analytics and research.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

太郎 山田

太郎 山田

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

8 hours ago

Last modified

Share

Facebook Page Post Intelligence

Public Facebook page metadata and post scraper — no API keys, no login required.

Collect page-level intelligence (followers, likes, description, category, website) and recent public post signals (text, timestamps, reactions, comments, shares) from public Facebook Pages.


Status

Live V1 — Public page metadata extraction and recent post parsing with honest degraded/partial/blocked status reporting.

⚠️ Important: Facebook aggressively guards content behind login walls. This actor targets the subset of data that Facebook serves to logged-out visitors. Success rates vary by page, region, and Facebook's current challenge policy.


What this actor does

FeatureV1 Status
Page name, category, description✅ When publicly served
Follower count, like count✅ When visible in HTML
Profile image URL✅ Via og:image
Website, contact info✅ When exposed
Verified badge✅ When embedded in page JSON
Recent post text✅ When served to logged-out visitors
Post timestamps✅ Parsed from embedded JSON
Post reactions/comments/shares✅ When exposed (often null)
Post media URLs✅ When public
Hashtag and mention extraction✅ Client-side regex from post text

Explicitly out of scope (V1)

  • Private profiles or personal timelines
  • Facebook Groups or Events
  • Stories, Reels, Live videos
  • Full comment thread contents
  • Ads (use Meta Ad Library Intelligence instead)
  • Pagination beyond what is initially visible
  • Any data requiring Facebook login

Input

{
"pageUrls": ["https://www.facebook.com/NASA"],
"maxPostsPerPage": 10,
"includePosts": true,
"includePageSummary": true,
"timeoutMs": 20000,
"delivery": "dataset",
"dryRun": false
}

Input fields

FieldTypeDefaultDescription
pageUrlsstring[][]Public Facebook Page URLs or bare handles (e.g. https://www.facebook.com/NASA, NASA, @NASA)
maxPostsPerPageinteger10Max recent posts to extract per page (1–50)
includePostsbooleantrueWhether to extract recent posts
includePageSummarybooleantrueWhether to extract page metadata
timeoutMsinteger20000HTTP timeout per request in ms (5000–60000)
deliverystring"dataset""dataset" or "webhook"
webhookUrlstringWebhook endpoint when delivery="webhook"
dryRunbooleanfalseParse and validate but do not push to dataset

Accepted URL formats

  • https://www.facebook.com/NASA
  • https://fb.com/NASA
  • facebook.com/NASA
  • NASA (bare handle)
  • @NASA (with @ prefix)

Output

Results are written to output/result.json and pushed to the Apify dataset (one item per post, or per page if no posts are found).

Top-level structure

{
"meta": { ... },
"pages": [ { ...page summary... } ],
"posts": [ { ...post... } ]
}

meta object

FieldTypeDescription
generatedAtstringISO 8601 run timestamp
implementationStatusstring"live"
dataStrategystring"public_html"
totalPagesintegerPages queued
succeededintegerPages with at least partial data
failedintegerPages that errored
postsCollectedintegerTotal posts extracted
v1ScopestringScope statement
warningsstring[]Run-level warnings
notesstring[]Methodological notes

pages[] fields

FieldTypeNotes
pageUrlstringCanonical page URL
pageHandlestring|nullURL slug / handle
pageIdstring|nullFacebook numeric page ID
namestring|nullPage display name
categorystring|nullPage category
descriptionstring|nullAbout / description text
followerCountinteger|nullFollower count
likeCountinteger|nullLike count
websiteUrlstring|nullExternal website
phonestring|nullPhone number (when public)
emailstring|nullEmail address (when public)
addressstring|nullPhysical address (when public)
profileImageUrlstring|nullProfile image URL
coverImageUrlstring|nullCover image URL
verifiedBadgeboolean|nullPage verification status
createdDatestring|nullPage creation date
extractedAtstringExtraction timestamp
statusstringok / partial / degraded / error
warningsstring[]Page-specific warnings
errorstring|nullError message if failed

posts[] fields

FieldTypeNotes
postUrlstring|nullCanonical post URL
postIdstring|nullFacebook post/story ID
pageHandlestring|nullSource page handle
pageIdstring|nullSource page ID
textstring|nullPost body text
publishedAtstring|nullISO 8601 publish time
mediaTypestring|nulltext, image, video, carousel, link
imageUrlsstring[]Image URLs
videoUrlstring|nullVideo URL
linkUrlstring|nullShared link URL
linkTitlestring|nullShared link title
reactionCountinteger|nullTotal reactions
commentCountinteger|nullComment count
shareCountinteger|nullShare count
viewCountinteger|nullView count (video/reel)
isSponsoredboolean|nullWhether marked as sponsored
isPinnedboolean|nullWhether post is pinned
hashtagsstring[]Hashtags found in text
mentionedHandlesstring[]@mentions found in text
extractedAtstringExtraction timestamp

Status values

StatusMeaning
okFull or near-full data extracted
partialSome fields extracted; others not publicly available
degradedJS challenge or login wall detected; extraction may be incomplete
not_foundHTTP 404 — page does not exist
blockedHTTP 429 rate limit
errorNetwork failure or unexpected error

Warnings glossary

Warning prefixTrigger
challenge-requiredFacebook JS challenge or login wall detected
pagination-not-supportedAdditional posts exist beyond visible page
field-not-publicExpected fields not available to logged-out visitors
page-structure-changedNo extraction pattern matched — possible Facebook HTML change

Pricing

This actor uses PAY_PER_EVENT pricing:

EventPrice
Actor start (per GB memory, min 1)$0.001
Per result (Facebook page)$0.005

A typical run collecting posts from 10 Facebook pages costs approximately $0.05–$0.06 (10 × $0.005 + start fee).


FAQ

Can this actor access private Facebook profiles or personal timelines? No. V1 is scoped exclusively to public Facebook Pages. Personal profiles are protected by Facebook's login wall.

Why are reaction/comment/share counts often null? Facebook hides engagement metrics from logged-out visitors on most pages. The actor extracts them when available but cannot guarantee their presence.

Can I scrape a Business Page, Celebrity Page, or Brand Page? Yes — these are public Facebook Pages and are in scope, subject to Facebook's access controls.

Does this use the Facebook Graph API? No. This actor uses public HTML only. No Facebook API credentials are required or used.

What happens if Facebook updates its page structure? The actor uses tiered parsing (embedded JSON → meta tags → inline patterns) to be resilient to minor changes. If all tiers fail, a page-structure-changed warning is emitted. See the RUNBOOK for maintenance steps.

Can I run this at scale? Yes, on Apify. Start with a small batch (5–10 pages) to verify extraction quality for your target pages before scaling. Use maxPostsPerPage to control output volume.


Support & limitations

  • Public pages only — no private profiles, groups, or events
  • V1 does not paginate — only posts visible in the initial page load are extracted
  • Engagement metrics are often null for logged-out visitors
  • Rate limiting — the actor politely spaces requests (2.5 s between pages) to reduce ban risk
  • For issues, open a GitHub issue or contact the actor maintainer via Apify console