Facebook Posts Search Scraper - Bulk Keywords avatar

Facebook Posts Search Scraper - Bulk Keywords

Pricing

from $2.55 / 1,000 posts

Go to Apify Store
Facebook Posts Search Scraper - Bulk Keywords

Facebook Posts Search Scraper - Bulk Keywords

Search public Facebook posts by keyword or hashtag, with many queries per run, latest or top results, date filters and optional comments. No login or cookies.

Pricing

from $2.55 / 1,000 posts

Rating

0.0

(0)

Developer

Moshe Zaudi

Moshe Zaudi

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 hours ago

Last modified

Share

Search public Facebook posts for many keywords in one run: brand names, products, topics or hashtags. Get the latest or top posts for every query, optionally within a date range and with their comments. Use it for social listening, brand and crisis monitoring, market research and trend tracking.

  • Up to 200 queries per run, each searched separately, with up to 500 posts per query. One run collects up to about 5,000 posts live (about 1,000 with comments), so split larger keyword lists into several runs
  • Latest, top or hashtag search
  • Date range for latest and top searches
  • Optional comments and replies for every post found
  • No Facebook login, no cookies and no proxies to manage

Why this one

Bulk keywordsUp to 200 queries per run, each searched separately
Three search typesLatest, top or hashtag search
Date rangeOnly posts newer or older than a date, for latest and top searches
Comments in the same runOptional comments and replies for every post found
No start feeYou pay per post plus a small fee per query. Searches that cannot be completed are not charged

What you get

{
"platform": "facebook",
"type": "post",
"id": "1400000000000001",
"url": "https://www.facebook.com/1400000000000001",
"section": "search",
"postType": "shared_link",
"text": "Watching the launch tonight with the kids. Fingers crossed!",
"language": "en",
"createdAt": "2026-10-16T21:10:00.000Z",
"author": { "id": "100000000000003", "username": "jane.doe", "name": "Jane Doe", "profileUrl": "https://www.facebook.com/jane.doe" },
"reactionCount": 64,
"reactions": { "like": 51, "love": 9, "care": 1, "haha": 0, "wow": 3, "sad": 0, "angry": 0 },
"commentCount": 12,
"shareCount": 2,
"imageUrls": [],
"videoUrl": null,
"thumbnailUrl": null,
"link": { "url": "https://news.example/launch-tonight", "description": "Everything you need to know before liftoff." },
"hashtags": [],
"mentionedProfileIds": [],
"scrapedAt": "2026-10-17T16:09:00.000Z"
}

With Include comments on, each post's comments follow as comment rows, plus reply rows with Include replies, all linked by postId. The run summary in OUTPUT shows how many items each query returned.

How to use it

  1. Add your Search queries, one per line. Each line is a separate search.
  2. Pick the Search type and Max posts per query. For latest and top searches you can also set Only posts newer than and Only posts older than (for example 7 days or 2026-09-01).
  3. Optional: turn on Include comments and choose how many per post.
  4. Run it. Searches we ran recently return instantly. New searches take 1-5 minutes each, and up to 3 queries are processed in parallel.

Calling it from an AI agent or with a short timeout? Start the run asynchronously and fetch the dataset when it finishes, or turn on Previously collected data only for an instant answer.

Pricing

Pay only for what you get:

FreeStarterScaleBusiness
Per 1,000 posts$3.00$2.85$2.70$2.55
Per 1,000 comments$1.25$1.05$0.90$0.75
Per post with comments$0.005$0.005$0.005$0.005
Per search query$0.025$0.025$0.025$0.025

The query fee is charged once for every search we complete. With Include comments on, every post also carries the per-post comment fee, even when it has no comments. Searches that cannot be completed are not charged.

Example: 50 queries with 20 posts each (1,000 posts) on the Starter plan cost 1,000 × $0.00285 + 50 × $0.025 = $4.10.

Use Maximum cost per run in the run options to cap your spend. The Actor stops cleanly at that limit.

Free plan: you get previously collected posts plus a small live allowance each day. Any paid Apify plan removes the limit.

FAQ

This Actor collects publicly visible posts only. Personal data is protected by laws such as GDPR, so only collect what you have a legitimate reason to process, and consult your lawyer if unsure.

How fresh is the data?

By default you get search results collected within the last 24 hours, or a fresh search. Set Reuse data collected within to 0 to always search live. When live collection is limited (for example on the free plan), earlier results are used if we have them, and OUTPUT notes it. With 0, such a query is reported as limited instead and not charged.

How many posts can one run collect?

Up to 200 queries with up to 500 posts each, but live collection is capped at about 5,000 posts per run and 10,000 per day on paid plans. With comments the cap is about 1,000 posts per run (at up to 40 comments per post, fewer above that), so split larger keyword lists into several runs. Queries past the cap get previously collected posts if we have them; otherwise they are reported as limited in OUTPUT and not charged. Above 40 comments per post, a query with many posts also collects fewer posts, and OUTPUT says how many.

Can I use it via API, Make, Zapier or n8n?

Yes. Use the Apify API or any Apify integration. Each run's results are in its default dataset, and OUTPUT in the key-value store has a per-query summary.

Can I use AND, OR or exact phrases?

Facebook search does not support operators such as AND or OR. Put each keyword or phrase on its own line, and each one runs as a separate search.

Why can't I set dates for hashtag searches?

Facebook's hashtag search has no date window. Use a latest or top search for the word instead, or filter on createdAt afterwards. Hashtag searches take a single word.

Can I use it from an AI agent or MCP server?

Yes. Connect the Apify MCP server at mcp.apify.com, or call the Apify API. Searches can take minutes, so start long runs asynchronously and fetch the dataset when the run finishes. For an instant answer, turn on Previously collected data only.

Why did I get no results?

Common reasons: Facebook has no public posts for the query, no posts fall inside your date range, a hashtag search was given more than one word, the free plan's daily live allowance is used up, or the run reached your Maximum cost per run. The run's OUTPUT record in the key-value store shows the status of every query, with a note when something went wrong, and lists any skipped input with the reason.

Something is wrong? Open an issue in the Issues tab. We usually respond within 24 hours.