Facebook search scraper for public posts by keyword, phrase or #hashtag, no login: top or most recent, date window, tagged place, post type and source filters, deep month by month search. Rows: text, author, reactions by type, comments, shares, video views and media. JSON, CSV, API; pay per post.
A search that reached Facebook's end while a post of its last page was passed over (two searches at once found the same post) is no longer marked complete or done: a restarted run and a resume token read it again.
Mentions, header tags and comment mentions after an emoji keep their whole name (Facebook counts their place in code points).
Hashtags and the query and keyword match keep whole words in scripts with vowel signs (Hindi, Bengali, Thai, Tamil).
After a restart, a post the dataset holds twice (a retry of a batch) counts once toward its search's post number.
The input form no longer refuses an input written with query, queries or searchTerms (no field is required; an input without any query is refused with one free status row, and only the run's start fee is charged).
A photo set page whose parts arrive out of order keeps each item's picture and size (Complete albums add-on); the add-on's texts say it reads the post's photo set page and that albumComplete tells whether every item was read.
The Resume token and Include personal data field texts say exactly what is skipped and what is emptied.
A resume token keeps the dates of the run that wrote it: resumed on a later day, each search sends the same date filters and walks the same months (none dropped after a month boundary). A resumed search reads month windows only with Deep search on.
With personal data off, a post whose author Facebook does not name has its links judged as a person's.
0.1 (2026-10-23)
First build: public Facebook posts found by Facebook's own post search, logged out (no login, no cookies, no account), by keyword, phrase, #hashtag or a pasted Facebook post search link (its most recent, date and location filters read too), up to 100 queries a run.
Facebook's Top order or Most recent first; a date window (days or a time back such as "7 days") sent as Facebook's filter and checked on every post; tagged locations by Facebook location id or by place name.
Filters: post type, post source (page, business page, person, group post), minimum reactions, comments and shares, only posts that contain the query, words to keep and to leave out; posts a filter leaves out are free.
Deep search, on by default: month windows backwards when a query's results end before its post number.
Each post delivered and charged once per run; a free coverage row per search, free status rows and a run summary; full or compact rows.
Add-ons, off by default: comments and replies as rows (Comment event), complete photo albums (Complete album event).
Personal data off by default: a person's profile id, link and picture, tagged people's ids and links and the phones and emails lists stay empty; names and texts are delivered as Facebook shows them; a person's post link is empty when it holds the person's profile name or id.
No monitor or "new posts only" mode: every run reads its searches fresh. A run stopped before Facebook's end writes a resume token on its summary row: the same input sent back with it goes on where each search stopped, each search skipping the posts it delivered.
Own proxy links (proxyUrls) beside Apify Proxy datacenter, residential and no proxy.