Facebook Group Posts & Comments Scraper π₯$0.0015
Pricing
from $1.00 / 1,000 results
Facebook Group Posts & Comments Scraper π₯$0.0015
π₯ $0.0015 per post, no cookies. Full details: who posted, profile link, date, text, photos, videos, likes, comments, replies & more. See who asks, buys or sells and find leads fast.
Pricing
from $1.00 / 1,000 results
Rating
4.5
(9)
Developer
TheDoor
Maintained by CommunityActor stats
36
Bookmarked
5.2K
Total users
312
Monthly active users
5.9 hours
Issues response
2 days ago
Last modified
Categories
Features
Share
Facebook Group Posts & Comments Scraper
Scrape posts and comments from public Facebook groups. $1.50 per 1,000 posts, no login or cookies. Paste your group links, or let AI find the groups for you, and get every post as one clean row: who posted, profile link, date, text, photos, videos, reactions, comments and replies.
See who asks, buys or sells, and find leads fast. Put it on a daily schedule, pay only for new posts, and export to JSON, CSV or Excel.

Who uses it
| You want to | Example | What helps most |
|---|---|---|
| π― Find leads, buyers and sellers | People asking for a plumber, selling a car or looking for a room in your city | Profile link of each author, sale_post with price and place, AI post filter |
| π Follow groups every day | New job posts or rental listings each morning | Daily schedule with Only new posts, so you never pay twice |
| π Read what a community says | What buyers say about a product, a brand or a place | Comments and replies inside each row |
| π€ Feed an AI tool, a sheet or a CRM | Send new posts to n8n, Make, Google Sheets or your own agent | JSON, CSV or Excel, API and MCP |
π New: AI group search and AI post filter
| AI feature | What it does |
|---|---|
| π AI group search | AI finds the exact groups you need. Real AI, not a keyword match: it reads your request in any language, opens each group it finds, and keeps the public groups that fit your topic and place. Free. |
| π§ AI post filter (beta) | Keep only the posts you want. Describe them in plain words and the AI drops the rest. Dropped posts have no result fee. $0.50 per 1,000 posts read, from 19 November 2026. |

Both are optional. See how the AI features work.
What you get
| π Works with | Public Facebook group links. Private groups are skipped and the other links keep going. |
| π― Links per run | Paste 100+ links with no fixed cap. Every group is read at the same time. A link that fails is skipped and the others keep going. |
| π¬ Comments | The top comment of each post, or up to 100 comments with their replies, at no extra charge. Each comment has the author's name and profile link. |
| π Daily runs | Schedule it daily or hourly and get only new posts each time, with no duplicates to clean. |
| π Output | One row per post, with comments inside the row. Download as JSON, CSV or Excel. |
| π Data | Text, time, author and profile link, reactions by type, shares, photos and videos, shared posts, sale details (title, price, place) & more |
| βΎοΈ How many | Set Max posts - for each URL. It reads back until that number, your time frame, or the end of what Facebook shows a logged-out visitor. |
| β‘ Speed | 45 posts from 3 groups in 19 seconds. 200 posts from one group in 89 seconds, 500 in about 5 minutes. 988 posts from 50 groups in about 3 minutes. Measured at 1 GB memory. |
| π Account needed | None. No Facebook login or cookies. Only an Apify account. |
| π° Price | $1.50 per 1,000 posts ($1.00 on GOLD plans and above), plus $0.005 per GB at run start. Apify's free $5 a month covers about 3,300 posts. |
Seven posts from a run on 6 November 2026, showing the main columns, with names blurred:

How to use it
-
Paste your group links into Facebook Group URLs, one per line. Or write the groups you need in AI group search, for example
find all groups that buy and sell cars in Texas. -
Set Max posts - for each URL. Start with 20 to see the data.
-
Optional: set a Time frame, turn on comments, or turn on Only new posts for the next run for daily runs.
-
Click Start. The status line at the top of the run shows each step:
Status line What is happening Checking links: 12 of 30Each link is checked: is it a group, and is it public? Collecting posts: 7 of 50 groups done, 500 posts so far...Posts are being read. Results appear in the Output tab as they arrive. Done: 30 posts from 1 of 3 links. 1 link is not a Facebook group link. 1 group could not be read (deleted, blocked or login needed). The Log tab lists them.The run is finished, with what it got and why any link gave nothing. -
Download the results as JSON, CSV or Excel.
Need all the comments from one post, or posts from a Page or a profile? Use the Facebook Comment Scraper or the Facebook Page Scraper.
π΅ Follow a group and pay only for new posts
If you check the same group more than once, turn on Only new posts for the next run (onlyNewPosts). Without it, every run reads the group again and charges you again for posts you already have. With it, the Actor remembers the newest post you got from each group, and each run returns only what came after it.

- First run: posts as usual, newest first, up to Max posts - for each URL.
- Every next run: only posts made since your last run. Reading stops at the first post you already have, so the run also ends sooner.
- No new posts: 0 results and no result fee, only the run start fee. The status line says so.
- A group fails partway: your place is kept, so the next run still picks up those posts.
| One group checked daily for 30 days, 50 new posts a day, Max posts - for each URL 200 | Posts | Cost with start fees |
|---|---|---|
| Normal runs | 6,000 | $9.15 |
With onlyNewPosts | 1,650 | about $2.63 |
When it is worth using:
- Local buy and sell or rental groups: catch new listings and requests each morning.
- Job groups: collect new openings without the old ones.
- Lead finding: get new people asking for what you sell.
- Your brand or market: add new posts to your sheet, with no duplicates to clean.
To set it up:
- Paste the group links and turn on Only new posts for the next run.
- Set Max posts - for each URL higher than the new posts you expect between runs.
- Click Save as a new task, then add a schedule to it. Daily suits a quiet group; hourly suits a very busy one.
Good to know:
- Turn it on from the first run. Runs with the option off do not save your place.
- A low Max posts - for each URL skips posts. If a group gets 500 new posts and Max posts - for each URL is 100, the run returns the newest 100 and your place moves to the newest post. The other 400 are not returned later.
- Enter the links on every run. Each run updates only the groups in its input. A saved task does this for you.
- Your place is saved per Apify account and per group.
- Your place is saved when a group finishes. If the timeout or your cost limit stops a run in the middle of a group, the next run reads that group from the last saved place, so those posts come back and are charged again.
- The feed is always newest posts. This option replaces your sorting order.
- It works together with a time frame. A post must pass both.
- With the AI filter, your place moves only to the newest kept post. Dropped posts newer than that are read, and charged as AI reads, again on the next run.
- If the saved post was deleted, the run cannot find its place and reads up to Max posts - for each URL again.
How much does it cost?
You pay for the posts in your results, plus a small fee when the run starts.
| What | Price |
|---|---|
| Post in your results | $1.50 per 1,000 ($1.00 on GOLD, PLATINUM and DIAMOND plans) |
| Run start | $0.005 per GB of memory |
| Comments and replies | Included, no extra charge |
| Posts outside your time frame | No result fee |
| AI group search | Free. You pay only for the posts it leads to. |
| AI post filter (beta) | $0.50 per 1,000 posts the AI reads, from 19 November 2026. Dropped posts have no result fee. |
A run uses 1 GB for up to 39 groups, then 1 GB more for every 40 groups, up to 4 GB.
| You collect | Cost at $1.50 per 1,000 |
|---|---|
| 100 posts from each of 10 groups (1,000 posts) | $1.505 |
| 3,300 posts, about what Apify's free $5 a month covers | about $4.96 |
Two ways to keep the bill under control:
- Max posts - for each URL: posts read from each group, so the most a run can return is
maxPosts x number of groups. - Maximum cost per run: set it in the run options (
maxTotalChargeUsdin the API). Posts past that limit are not saved or charged, and the results already collected stay in your dataset.
What you give it
{"url": ["https://www.facebook.com/groups/63181993057/"],"maxPosts": 100,"postsNewerThan": "1 day","onlyNewPosts": true}
| Field | Default | What it does |
|---|---|---|
url | empty | Facebook group links, always as a list. Send this or groupSearchPrompt. |
maxPosts | 100 | Posts to read from each group. |
sortingOrder | newest_posts | newest_posts, newest_activity, most_relevant, or buy_sell_listings for Facebook's own sale listings only. |
postsNewerThan | empty | Only posts newer than a date (2026-10-01) or a period (2 days, 6 hours). |
postsNewerThanDays, postsNewerThanHours | empty | The same as a number, such as 1.5. Used only when postsNewerThan is empty, and days win over hours. |
postsOlderThan | empty | Only posts older than a date or period. Use it with postsNewerThan for a date range. |
onlyNewPosts | off | Only posts made since your last run on that group. See the section above. |
includeTopComment | on | Add the top comment of each post. |
fetchAllComments | off | Add up to 100 top-level comments of each post. |
fetchCommentReplies | off | Also add replies. Needs fetchAllComments. |
groupSearchPrompt | empty (off) | AI group search: the groups you need, in plain words, up to 4,000 characters. |
groupSearchMaxGroups | 50 | The most groups the AI search may add, from 1 to 500. |
prompt | empty (keep all) | AI post filter: the posts to keep, up to 300 words and 2,000 characters. |
Links it accepts: any link that contains facebook.com/groups/, with a group number or name. Other links are skipped and counted in the status line.
What you get back
One row per post. This is a real row from a run on 6 November 2026, shortened, with the author's details hidden:
{"thumbnail": "https://scontent.xx.fbcdn.net/...","text": "Toyota Rav4 2025\nVersiΓ³n Limited HEV...","reactions_count": 0,"topReactionsCount": 0,"reactionHahaCount": 0,"reactionLikeCount": 0,"reactionLoveCount": 0,"reactionCareCount": 0,"reactionSadCount": 0,"comments_count": 0,"shares_count": 0,"post_url": "https://www.facebook.com/groups/586623906994613/permalink/1506576508332677/?sale_post_id=1506576508332677","user_name": "...","user_url": "...","creation_time": "Thu, 05 Nov 2026 23:35:11 GMT","creation_timestamp": 1793921711000,"media": [{ "type": "Photo", "uri": "https://scontent.xx.fbcdn.net/...", "width": 2048, "height": 1536 }],"photo_count": 5,"topComment": null,"post_id": "1506576508332677","feedback_id": "...","sale_post": {"title": "2025 Toyota RAV4","price": "MX$739,000","location": "Zapopan, Jal","listingUrl": "https://www.facebook.com/groups/586623906994613/posts/1506576508332677/","seller": "...","isSold": false,"isOnMarketplace": false},"post_type": "sale_post","user": "...","sharedPost": null,"group_url": "https://www.facebook.com/groups/586623906994613","group_id": "586623906994613"}
What each field means:
| Field | In plain words |
|---|---|
text | What the person wrote. Empty for a photo with no text. |
post_url | A direct link that opens this post on Facebook. |
post_id | The post's unique number. Use it to spot the same post across runs. |
feedback_id | Facebook's internal id for the post's reactions and comments. |
creation_time | When it was posted, as a readable date and time in UTC. |
creation_timestamp | The same time as a number in milliseconds, handy for sorting in code. |
user_name | The name of the author. Unknown when Facebook gives no name. |
user_url | A link to the author's profile. |
user | The author's details together: id, name, profileUrl, profilePic, type. |
reactions_count | All reactions on the post added up. |
reactionLikeCount, reactionLoveCount, reactionHahaCount, reactionCareCount, reactionSadCount | The reactions of each of these types. |
topReactionsCount | How many different reaction types the post has. |
comments_count | The comment count Facebook shows. |
shares_count | The share count Facebook shows. |
media | The photos and videos in the post, with links and sizes. [] means none. |
photo_count | How many photos are in media. |
thumbnail | A link to the first image, for previews. null when there is none. |
topComment | With the top comment on: one comment, or null. With fetchAllComments: a list of up to 100 comments, and replies if you asked for them. |
sale_post | For sale posts: title, price, location, listingUrl, seller, isSold and more. null for other posts. |
sharedPost | The post this one shares, with its link, author, text and media. null if it shares nothing. |
post_type | regular, sale_post, shared, shared_reel or __reel__. |
group_url | The group link the post came from. |
group_id | The group's Facebook number. |
With Fetch comments on, topComment is a list of comments, each with the author's name and profile link. One comment with a reply looks like this:
"topComment": [{"id": "1234567890","text": "Still available? Can I see it this weekend?","comment_time": "2026-11-11T09:02:41.000Z","author_name": "...","author_profile_url": "https://www.facebook.com/...","reactions_count": 3,"replies_count": 1,"replies": [{ "text": "Yes, message me", "author_name": "...", "author_profile_url": "..." }]}]
Two extra tables are free. Posts outside selected time frame holds posts the run passed while looking for your dates, with time_frame_reason. All posts before AI filtering holds every post the AI read, with ai_filter.
Coming from another scraper?
Most Facebook group scrapers return the same data under other names. Rename these columns and your sheet or code keeps working:
| Name in other scrapers | Name here |
|---|---|
url, postUrl | post_url |
time, date, timestamp | creation_time, creation_timestamp |
authorName, user.name | user_name |
authorUrl, user.profileUrl | user_url |
likesCount, reactionsCount | reactions_count, and one field per type such as reactionLikeCount |
commentsCount | comments_count |
sharesCount | shares_count |
attachments, images, media | media |
topComments, comments | topComment |
groupUrl, facebookUrl | group_url |
What you may get here that others charge extra for or do not have: comments and replies at no extra fee, sale_post with price and place, only new posts on daily runs, and AI group search.
How the AI features work
Both are optional. Without them, the Actor scrapes the links you give it.
AI group search
Write what groups you need and where, in AI group search, in any language. This is not a keyword or regex search: the AI works out what you mean, so a group can fit without using your exact words, and a group that only shares a word with your request is left out. It looks for matching groups, opens each one, and keeps public groups that fit your topic and place and still have recent posts. Then it scrapes them together with any links you pasted.
A good prompt names the topic and the place:
used car buy and sell groups in Guadalajara, MexicoVietnamese community groups in BangkokIT job groups in Berlin
What to expect:
- A search takes 30 to 90 seconds in our tests, and the status line shows the seconds.
- It returns up to 50 groups by default. Set maximum groups from 1 to 500. A larger search takes more memory: it counts as its maximum groups.
- The best matches come first. In one test with the Guadalajara prompt, 41 of 50 groups fit, and the ones that did not sat at the end of the list.
- If the same Apify account runs the same search again within 30 days, it gets the saved groups back in seconds.
- The groups found are saved in the
GROUP_SEARCHrecord in the run's Storage tab.
AI post filter (beta)
Describe the posts you want in AI post filter. The AI reads each post and keeps those that match: item, brand and price for buy and sell; rent or sale, rooms and area for real estate; role and place for jobs; or any other topic. It also removes repeated posts and spam.
A good prompt says exactly what to keep, in any language, up to 300 words and 2,000 characters. The AI checks only what you write, so if you want only sellers, say so:
used Toyota cars for sale in Jakarta, under 200 million IDR2 bedroom apartments for rent in District 7, Ho Chi Minh Citypeople asking for plumber recommendations
What to expect:
- Max posts - for each URL counts posts read, not posts kept. Reading 100 posts may leave you with 20.
- In our test of 70 cases, about 9 of 10 kept posts were right, and it kept about 93% of the posts it should have kept. Check a small run first.
- Every post it read is saved in the All posts before AI filtering dataset, in the run's Storage tab, with
ai_filter.keepandai_filter.reason, so you can see why a post was dropped. - If the AI cannot check a post, you get the post unfiltered and pay nothing for the AI on it.
- The run waits for every post to be checked, and the status line shows how many are done.
What it costs: $0.50 per 1,000 posts read, from 19 November 2026, and no AI fee before that date. Repeated posts count as read. Kept posts also cost the normal result price. For example, if the AI reads 1,000 posts and keeps 300, you pay $0.50 + $0.45 + $0.005 = $0.955, less than the $1.505 for the same 1,000 posts without the filter.
When you get few or no results
The status line tells you how each link ended, and the Log tab has a [Link] line for each link that needs explaining. Links that give nothing add no rows and no result fee.
| What you see | What it means | What to do |
|---|---|---|
1 link is not a Facebook group link | The link has no facebook.com/groups/ in it. | Paste the group's link. |
1 group is private | Only members can see it. | Nothing to fix: private groups cannot be read. |
1 group could not be read | The group is deleted, blocked, or shows a login page to visitors. | Open the link in a private browser window. If you can see the posts there, run it again. |
1 group was read only in part | Facebook stopped answering partway. The posts read before that are kept. | Run it again. |
1 group had no new posts since your last run | With onlyNewPosts, nothing new. | Nothing to fix. |
1 group had no posts in your time frame | All the posts it read were outside your dates. They are in the time frame table. | Widen the dates. |
1 group had no post that matched your AI filter | The AI read the posts and dropped them all. | Check the reasons in the All posts before AI filtering table, then loosen the prompt. |
1 group had no posts | The group is empty, or buy_sell_listings found no sale listings. | Try another sorting order. |
1 group gave only 1 post | Facebook did not show that the group is public, so the run read one post to test it. | Run it again: the group is now known to be public. |
AI group search found no relevant public Facebook groups | No group fit the prompt. The run ends with no result fee. | Make the prompt broader. |
AI group search failed | The search could not finish. The run stops, even if you pasted links. | Run it again. |
The run reached your maximum cost | Your limit was reached, so later posts were not saved. | Raise the limit and run again. |
What it does not do
- Public groups only. It does not log in, so private groups and members-only posts are skipped, and the other links still run.
- Groups, not Pages or profiles. A link that is not a group link is skipped.
- It reads what a logged-out visitor sees. A group's real post count can be higher than what you get.
- It does not remove duplicates between links. Two different links to the same group are read and charged twice, unless they come through AI group search.
- A post made again counts as a new post. Only the AI post filter removes repeats.
- Wow and Angry have no field of their own. They count in
reactions_count. - No email or phone fields. You get them only if the author wrote them in the text.
- It has no default time limit. A run ends when it finishes its groups, unless you set a timeout. If the timeout is reached, the results collected so far stay in your dataset.
- It is not an official Facebook tool. theDoor is independent and is not affiliated with or endorsed by Facebook or Meta.
Questions people ask
Why did I get fewer posts than I asked for?
maxPosts is the number of posts read from each group. You get fewer when the group has fewer posts, when a time frame or onlyNewPosts stops the run, when a group is private, or when the AI filter drops posts. See When you get few or no results.
Can I scrape private groups? No. It does not log in, so private groups give no posts, and you pay no result fee for them.
Can I get every post in a group?
Set maxPosts high. It reads until that number or the end of what Facebook shows a logged-out visitor. Check how busy the group is first, because each post costs money.
Can I run it every day?
Yes. Save a task, turn on onlyNewPosts, and add a schedule.
Can I call it from code, Make, n8n or an AI agent? Yes. The API tab has Python, JavaScript and HTTP examples. In Python:
# pip install apify-clientfrom apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")run = client.actor("thedoor/facebook-group-post-scraper").call(run_input={"url": ["https://www.facebook.com/groups/63181993057/"],"maxPosts": 50,},max_total_charge_usd=0.50, # the most this run may spend)for row in client.dataset(run["defaultDatasetId"]).iterate_items():print(row["creation_time"], row["reactions_count"], row["text"][:80])
Can I get the comments and who wrote them? Yes, at no extra charge. Turn on Fetch comments for up to 100 comments of each post, and Fetch comment replies for their replies. Each comment has the author's name and profile link.
Can I use it to find leads?
Yes. Each post has the author's name and profile link. Use AI group search to find groups in your city, then the AI post filter to keep only people asking for what you sell, for example people asking for a roofer in Dallas.
How much does a daily run cost? One group with 50 new posts a day costs about $2.63 for 30 days with Only new posts on. See How much does it cost?
Is it legal? It reads only public posts. Posts and author names are personal data under GDPR and similar laws, so collect them only for a clear reason and keep only what you need.
Using an AI agent?
| Actor | thedoor/facebook-group-post-scraper |
| The required field | url, a list of group links, or groupSearchPrompt, a plain sentence. Send at least one. |
| Cap the bill | Set maxTotalChargeUsd on the run, for example 0.50 |
| Why a link gave nothing | Read the run's status message: it counts private groups, groups it could not read and groups with no posts. The log has a [Link] line for each. |
| MCP link | https://mcp.apify.com/?tools=fetch-actor-details,thedoor/facebook-group-post-scraper |
Support
Open the Issues tab and paste the link you used and the run ID.