Facebook Posts Search Scraper with Comments & Date Range
Pricing
$19.99/month + usage
Facebook Posts Search Scraper with Comments & Date Range
Search and extract Facebook posts based on keywords, hashtags, or topics. Collect post content, timestamps, reactions, comments, and author details. Perfect for trend monitoring, audience insights, and social research with clean, structured data output.
Pricing
$19.99/month + usage
Rating
0.0
(0)
Developer
ScraperForge
Maintained by CommunityActor stats
0
Bookmarked
6
Total users
0
Monthly active users
6 days ago
Last modified
Categories
Share
Search Facebook for public posts by keyword, then pull each post's own comment thread (top-level comments plus the first page of replies) and filter results to an exact date range. Built as a superset of the base Facebook Posts Search Scraper — every original input and output field still works — plus two genuinely new capabilities: a comment/reply child dataset per post, and a real, push-time-enforced startDate/endDate filter.
Key Features
- Keyword-based post discovery — search Facebook for posts matching one or more topics
- Real comment & reply extraction — fetches each post's own permalink page and collects its actual top-level comments plus the first page of replies per comment, tagged as child rows (
type: "comment"/"reply",isChild: true) - Absolute date-range filter — set
startDate/endDateto only keep posts published in that exact window, enforced before rows are pushed to the Output table (not just an in-memory count) - Engagement metrics — likes, comments, shares per post
- Live output — results (posts and comments) appear in the dataset as they're scraped
- Honest coverage flags —
commentsFetchedandcommentsTruncateddisclose exactly how many comments were collected and whether more exist beyond what server-rendered HTML exposes
Input
| Field | Type | Description |
|---|---|---|
searchQueries | array | Search keywords, e.g. ["football", "cricket"] |
maxPosts | integer | Max posts to collect per keyword (1–5,000, default 10) |
postTimeRange | string | Quick recency bucket: 24h, 7d, 30d, 90d, or empty for all time |
fetchComments | boolean | Collect each post's comment + reply thread (default true) |
maxCommentsPerPost | integer | Cap on top-level comments collected per post (0 = unlimited, default 20) |
startDate | string | Only include posts on/after this date (absolute or relative, e.g. 2026-07-01 or "7 days") |
endDate | string | Only include posts on/before this date |
proxyConfiguration | object | Proxy settings (Apify Proxy enabled by default) |
Example input:
{"searchQueries": ["football", "cricket"],"maxPosts": 20,"fetchComments": true,"maxCommentsPerPost": 20,"startDate": "2026-01-01","endDate": "","proxyConfiguration": { "useApifyProxy": true }}
Output
Post rows (type absent/"post"-shaped, same 17 fields as the base actor plus 2 new ones):
facebookUrl,pageId,pageName,facebookId– Page infopostId,postFacebookId,url,topLevelUrl– Post identifierstime,timestamp– Post datelikes,comments,shares– Engagementtext,link,thumb– ContentcommentsFetched,commentsTruncated– how many comment rows were collected for this post, and whether more exist beyond what was fetchedsearchQuery– the query that matched this post
Comment/reply rows (type: "comment" or "reply", isChild: true), pushed to the same Output table plus mirrored to a per-run child dataset:
postId,url– links the row back to its parent postcommentId,parentCommentId–parentCommentIdis set only on reply rowsauthorName,authorUrl– commenter identity, when Facebook renders ittext,time,timestamp– comment content and datesearchQuery– inherited from the parent post
How to Use
- Open Apify Console → Actors
- Select Facebook Posts Search Scraper With Comments & Date Range
- Enter search keywords, choose a max posts count, and (optionally) a date range
- Toggle comment fetching on/off and set a per-post comment cap
- Run the actor
- View posts and comment/reply rows together in the OUTPUT tab
- Export as JSON or CSV
Coverage notes
- Comment/reply extraction reads what Facebook's own server-rendered page already includes — long threads are not fully paginated, so
commentsTruncated: trueon a post means more comments exist than were collected. sharesis leftnull(never a faked0) when the field genuinely isn't present in a post's payload.- Discovery is keyword-driven: results reflect Facebook Pages currently matching the search terms and their newest visible content.
Cautions
- Data is from public sources only
- You are responsible for legal compliance (privacy, ToS, etc.)