Facebook Group Posts Scraper - Public Feed Export
Pricing
from $1.00 / 1,000 results
Facebook Group Posts Scraper - Public Feed Export
Collect public Facebook group posts with pagination. Export text, authors, engagement, reaction breakdowns, media links and group context in one row per post.
Pricing
from $1.00 / 1,000 results
Rating
0.0
(0)
Developer
ScrapingMonkey
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Collect posts from accessible public Facebook groups and keep every post with its author, media and group context. Facebook Group Posts Scraper accepts group URLs, vanity names or numeric IDs and returns one row per new post found in each group's page sequence.
Use the results for topic research, content indexing or community reporting. Multi-image and video attachments stay with the post as aligned lists in one table; the JSON export uses the same flat column names.
| At a glance | Details |
|---|---|
| π₯ Input | Group IDs, vanity names or full group URLs |
| π€ Output | Post text, author, visible counts, reactions, media and group context |
| π Pagination | pagesPerGroup, from 1 to 100; default 1 |
| π Facebook login | Not required |
| πΎ Delivery | One post per row in a single table with matching JSON |
What the Facebook group posts scraper collects π
The Actor reads posts returned in the accessible discussion feed. Rows can include text, publication time, author identity, reaction breakdowns, engagement counts, media references and pinned or sponsored flags.
Each post retains source-group identity, privacy and membership context. Photos and videos include the fields Facebook exposes; several attachments still belong to a single result. Comment counts are included, but comment bodies are not collected.
How to scrape Facebook group posts π
- Enter one or more group IDs, vanity names or URLs.
- Set
pagesPerGroupto the maximum number of feed pages to attempt. - Start the Actor and review each post row.
- Export the dataset or send selected links to another workflow.
{"inputList":["Python"],"pagesPerGroup":2}
Use groups whose discussion content is publicly accessible. A valid group address alone does not guarantee access to its posts.
Group post data fields and output π¦
| Field group | Included data |
|---|---|
| Post identity | IDs, URL, type, text, publication time and feedback reference |
| Engagement | Reactions, comments, shares, views and reaction-type breakdowns |
| Author | Public identity, Page ID, name, link, picture and verification flag |
| Media | Photo and video links, thumbnails, dimensions, duration, captions and available playback references |
| Post state | Pinned and sponsored flags |
| Source group | Group ID, name, URL, privacy and member-count context |
Complete illustrative success row. This two-photo post demonstrates every current column without claiming a live result:
{"input": "harborartists","status": "success","id": "678901234567890","story_id": "U3Rvcnk6Njc4OTAxMjM0NTY3ODkw","url": "https://www.facebook.com/groups/harborartists/posts/678901234567890/","type": "carousel","message": "A look inside our weekend printmaking workshop. Which technique would you like to try next?","timestamp": 1788703200,"published_at": "2026-09-06T14:00:00Z","reactions_count": 15,"comments_count": 4,"shares_count": 2,"views_count": 0,"image_url": "https://images.example.com/printmaking-workshop.jpg","thumbnail_url": "https://images.example.com/printmaking-workshop.jpg","video_url": "","feedback_id": "ZmVlZGJhY2s6Njc4OTAxMjM0NTY3ODkw","is_sponsored": false,"is_pinned": false,"author.id": "100200300400500","author.page_id": "100200300400500","author.username": "harborartscollective","author.name": "Harbor Arts Collective","author.url": "https://www.facebook.com/harborartscollective/","author.profile_picture_url": "https://images.example.com/harbor-arts.jpg","author.is_verified": false,"reactions.id": ["1635855486666999","1678524932434102"],"reactions.type": ["Like","Love"],"reactions.count": [12,3],"media.id": ["567012345678902","567012345678903"],"media.type": ["photo","photo"],"media.url": ["https://www.facebook.com/photo/?fbid=567012345678902","https://www.facebook.com/photo/?fbid=567012345678903"],"media.image_url": ["https://images.example.com/printmaking-workshop.jpg","https://images.example.com/finished-prints.jpg"],"media.thumbnail_url": ["https://images.example.com/printmaking-workshop.jpg","https://images.example.com/finished-prints.jpg"],"media.video_url_hd": ["",""],"media.video_url_sd": ["",""],"media.dash_manifest_url": ["",""],"media.dash_manifest": ["",""],"media.duration_ms": [0,0],"media.width": [1200,1200],"media.height": [800,800],"media.alt_text": ["Participants making prints at a workshop","A display of completed prints"],"media.captions_url": ["",""],"source_group.id": "457660044251817","source_group.username": "harborartists","source_group.name": "Harbor Artists Community","source_group.url": "https://www.facebook.com/groups/harborartists/","source_group.profile_picture_url": "https://images.example.com/harbor-artists.jpg","source_group.privacy": "Public group","source_group.members_count": 8400,"source_group.members_text": "8.4K members"}
Dotted keys such as author.name and media.image_url are literal column names in JSON and the table. Matching positions in all media.* lists describe the same attachment. Missing item fields keep their place, empty lists remain [], and nested lists retain their dimensions.
Source defaults such as empty strings, 0 and false are preserved on success. Missing or empty objects become null. A failed row keeps input, sets status to failed and leaves post-data columns null. Counts on successful rows can still be missing or defaulted.
Input requirements and feed coverage βοΈ
| Parameter | Type | Required | Default and limits |
|---|---|---|---|
inputList | Array of strings | Yes | At least one group target; no configured item-count maximum |
pagesPerGroup | Integer | No | Default 1; minimum 1, maximum 100 |
Bare names or IDs accept letters, digits, dots, underscores and hyphens, up to 100 characters. Full URLs must identify a group under /groups/ on a supported Facebook host.
The initial feed page counts as page 1. Collection follows new continuation cursors while pages remain available and the limit has not been reached. There is no fixed number of posts per page and no date or sort input. Post IDs are deduplicated within each group's page sequence; requested pages do not guarantee a complete history.
Facebook group post use cases π―
Community topic research
Collect public text and dates to study recurring themes or questions in selected groups.
Content monitoring
Revisit a group feed to review newly returned posts, visible engagement and source-group context.
Public content search
Index post IDs, links, authors and text in a searchable database while retaining the original group input.
Media review workflows
Send media links and descriptive fields to an authorized review process without separating attachments from their parent post.
Pricing and billable post rows π°
See the Actor's Pricing tab for the current model and rate. Under dataset-item pricing, each saved post row can count as a billable result, and failed rows can count too.
More pages can yield more posts. Several attachments or reaction types do not create extra rows. Invalid or unavailable groups, an empty first page or a page that exhausts retries can save a failed row; automatic retry attempts do not independently add rows.
Facebook group posts API and integrations π
Use the Actor ID shown in its API tab for $ACTOR_ID, and your Apify token for $APIFY_TOKEN.
curl -X POST "https://api.apify.com/v2/acts/$ACTOR_ID/runs?token=$APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"inputList":["Python"],"pagesPerGroup":2}'
Connect scheduled runs to a spreadsheet, database or reporting application. Completion webhooks can hand the dataset to Make, Zapier or your own processing service.
Reliability and feed limits β οΈ
Facebook determines public feed availability and ordering. A visible group overview does not guarantee an accessible feed, and private discussions are outside this Actor's coverage. Counts and media fields can be missing even on a successful post.
Temporary failures are retried. A later page failure does not remove rows already saved, while an empty later page adds no placeholder posts. Media links can expire; startup or storage failures can interrupt the whole run.
Frequently asked questions β
Can I request an exact number of posts?
No. Choose pages with pagesPerGroup; the number of new posts on each page depends on Facebook.
Does a post with multiple photos produce multiple rows?
No. One post remains one row, with the attachment fields stored in matching ordered lists.
Are comment texts included?
No. Use Facebook Post Comments Scraper with selected post URLs when you need comment content.
Does it work with private groups?
It does not provide access to private discussions. Only posts exposed in the public response can be returned.
Why can a group produce a failed row after some successes?
A later page can remain unavailable after retries. Previously saved posts stay in the dataset, and the failed row keeps the group input visible.
Support, responsible use, and related actors π
Share the run ID, a safe public group target and pagesPerGroup when reporting an issue. Do not send credentials or private group content.
Use collected public content in accordance with applicable privacy, copyright and platform requirements.