Pricing
from $0.01 / 1,000 scraped posts
Facebook User Posts Scraper
Export public Facebook profile and Page timeline posts. Get post text, URLs, authors, publish times, engagement counts, reactions, media, and links for API, CSV, Excel, schedules, and integrations.
Pricing
from $0.01 / 1,000 scraped posts
Rating
0.0
(0)
Developer
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 days ago
Last modified
Categories
Share
π Facebook User Posts Scraper
This Facebook user posts scraper exports public profile and Page timelines from Facebook. Add a Facebook handle, profile URL, Page URL, numeric profile ID, or direct post URL, then get structured post rows with text, post URLs, author data, publish times, engagement counts, reactions when Facebook exposes them, media, attachments, and links.
Use this Facebook user posts scraper when you need repeatable exports for social listening, content tracking, creator research, public profile monitoring, competitor research, reporting, or data enrichment. Instead of opening profiles by hand and copying posts into a spreadsheet, you get a clean dataset that works with Apify exports, API calls, schedules, webhooks, and integrations.
The actor does not ask for Facebook cookies, a Facebook login, or a Meta API key. It is built for public data only. Private profiles, friends-only posts, login-only content, groups, Marketplace, stories, and unavailable targets are skipped without creating successful placeholder rows.
β What this Actor does
- Scrapes public Facebook profile and Page timeline posts.
- Accepts handles,
@handles, full profile or Page URLs, numeric profile IDs, and direct post URLs. - Saves one dataset row per public Facebook post.
- Includes source identifiers so rows can be deduped, traced, and reviewed later.
- Can filter returned rows by
startDateandendDatewhen Facebook exposes post timestamps. - Saves duplicate posts only once when the same public post appears through more than one input.
- Continues through the rest of your input list when one target is private, unavailable, or temporarily not exposed.
For a first run, keep the prefilled public targets and the default Posts per target value. After you confirm the output shape, replace them with the public Facebook profiles or Pages you want to monitor.
π¦ Facebook user posts scraper data
Each saved post row can include:
matchedInput- the handle, URL, ID, or direct post URL that produced the row.profile- the resolved profile or Page ID, name, URL, and picture URL when available.postIdandpostUrl- stable identifiers for review, deduping, and later enrichment.text- post text when available.createdAt- public post time when Facebook exposes it.author- author ID, name, URL, and profile picture URL when available.engagement- comment, reaction, share, and view counts when available.reactions- reaction breakdown when Facebook exposes it.media,attachments,externalLinks, andtextReferences- images, videos, attachment URLs, non-Facebook links, and referenced profiles or Pages found in the public post data.
Some fields can be empty because Facebook exposes different data for different public posts, profiles, Pages, regions, and run times.
π How to run it
- Open the Actor input tab.
- Add one or more public Facebook profile or Page targets in Profile or Page targets.
- Optionally add direct Facebook post URLs in Post URLs.
- Set Posts per target to the maximum number of timeline posts you want per profile or Page.
- Add optional
startDateandendDatefilters inYYYY-MM-DDformat. - Run the Actor and download the dataset as JSON, CSV, Excel, XML, RSS, or HTML.
You can also run the Actor through the Apify API, schedule recurring exports, or connect the dataset to webhooks and automation tools.
π Input examples
{"targets":["zuck","Meta","https://www.facebook.com/facebook","4"],"maxPostsPerTarget":5,"startDate":"2026-01-01"}
Direct post URLs can be used on their own or together with profile targets:
{"targets":["zuck"],"postUrls":["https://www.facebook.com/zuck/posts/pfbid08HmKBLsNp4jfq5WkBKzmFep7qp9A7j3dco2NZD18eCLDe2uZNyWkW7GoCHnvroaXl"],"maxPostsPerTarget":5}
π§Ύ Output example
{"matchedInput":"zuck","profile":{"id":"4","name":"Mark Zuckerberg","url":"https://www.facebook.com/zuck","pictureUrl":"https://scontent...jpg"},"postId":"10117619505516501","postUrl":"https://www.facebook.com/zuck/posts/...","postType":"story","text":"Taking a page out of the Jocko Willink playbook...","createdAt":"2026-05-25T21:49:12.000Z","author":{"id":"4","name":"Mark Zuckerberg","url":"https://www.facebook.com/zuck","pictureUrl":"https://scontent...jpg"},"engagement":{"commentCount":1200,"reactionCount":35000,"shareCount":800,"viewCount":null},"reactions":{"like":25000,"love":10000},"media":[{"type":"image","url":"https://scontent...jpg","thumbnailUrl":null,"width":590,"height":590}],"attachments":[],"externalLinks":[],"textReferences":[],"paidPartnership":null,"adLibraryId":null}
The example shows the row shape. Exact counts, media URLs, timestamps, and available fields depend on the public post data Facebook exposes during your run.
π³ Pricing
This Actor uses pay-per-event pricing. You pay only for each public post saved to the dataset. Skipped, private, unavailable, and duplicate posts do not create paid post events.
β οΈ Limits and caveats
This Actor only collects public Facebook data that is visible without a user-provided Facebook account. It does not bypass privacy controls, collect private profile content, scrape groups, scrape Marketplace, or import your Facebook session.
Facebook may expose fewer timeline posts than your requested limit for some public profiles or Pages. Date filters apply to the rows that Facebook exposes to the Actor. If a profile has no public posts available, the Actor logs the skipped target and continues with the rest of your input list.
Use the exported data responsibly and follow Facebook's terms, Apify's terms, and applicable privacy, data protection, and platform rules.
β FAQ
π Do I need Facebook cookies or a Meta API key?
No. The Actor is built for public Facebook post data and does not ask for user-provided cookies, login details, or a Meta API key.
π Can it scrape private Facebook profiles?
No. It only exports public posts that Facebook exposes without your account. Friends-only, private, deleted, unavailable, and login-only content is skipped.
π Can I scrape Facebook Pages as well as user profiles?
Yes. You can add public Facebook profile handles, Page handles, full URLs, and numeric IDs in the same run.
π Can I use direct Facebook post URLs?
Yes. Add direct post URLs in Post URLs when you want to extract known posts instead of, or in addition to, profile timeline posts.
π Why did I get fewer posts than the limit?
The limit is a maximum, not a guarantee. Facebook may expose fewer public timeline posts for a target, or a date filter may remove rows after they are collected.
π Changelog
- 1.0: Added the stable public post row format with profile, author, engagement, reactions, media, attachment, link, and reference data.
- 0.1: Initial release.
π Support
For issues, questions, or feature requests, file a ticket and I'll fix or implement it in less than 24h π«‘
π Other actors
- Facebook Media Downloader β - Download public Facebook videos and reels with metadata and direct media links.
- Facebook Page Video Downloader β - Download public Facebook Page videos with source metadata.
- Facebook Reviews Scraper β - Export public Facebook Page recommendations and review-style feedback.
- LinkedIn Posts Scraper β - Collect public LinkedIn profile, company, and direct post data.
- Social Media Stats Checker β - Check public profile stats across major social platforms.
Made with β€οΈ by Maxime DuprΓ©
