Skip to content

Facebook Search Scraper

Try for free

Search public Facebook posts, pages, and places by keyword. Returns authors, reactions, comments, and profile links without a browser.

🔎 Facebook Search Scraper

Search Facebook by keyword and get public results as structured data: posts with reactions and comment counts, pages, places, or all of them at once. No login and no cookies. $0.003 per result, which is $3 per 1,000.

✨ Why use Facebook Search Scraper?

  • 🔓 No login needed — works on the public search results, so there is no account or cookie to manage.
  • 🗂️ Four search modes — posts, pages, places, or a global search across them.
  • 💬 Engagement included — reaction split (like, love, haha, ...), comment count, and share count on every post.
  • 🕒 Recent and dated — sort posts by most recent and cut them to a date window.
  • 🧼 Capped and deduplicated — you get at most the number of results you ask for, without repeats.
  • 💸 Low price — a flat $0.003 per saved result, about 39% under the free-plan price of the actor this one replaces for the same job.

🎯 Use cases

  • 📈 Social listening — follow what people post about your brand, product, or topic.
  • 🧭 Trend research — compare engagement across posts for a keyword.
  • 🏪 Local discovery — find pages and places matching a keyword in a given city.
  • 🤝 Lead generation — build a list of pages that talk about a niche.
  • 🎓 Academic and market research — collect public posts in a date window.

🚀 How to use

  1. Type a Search query, the same text you would put in Facebook search.
  2. Choose a Search type: Posts, Pages, Places, or Global.
  3. Set Maximum results (default 10).
  4. Optionally tick Recent posts, add a Location, or set a date window.
  5. Click Start and download the results as JSON, CSV, or Excel.

📥 Input

FieldKeyDescription
Search queryqueryKeyword to search for.
Search typesearch_typeposts, pages, places, or global.
Maximum resultsmax_postsHow many results to save. Default 10.
Recent postsrecent_postsSort posts by most recent. Applies to posts and global search; when a date is set, the date filter is used instead.
LocationlocationCity and country, such as Berlin, Germany. Passed as a search filter.
Date from / tostart_date, end_dateYYYY-MM-DD window for posts and global search, sent to Facebook as its own date filter. Either one alone is fine.
Proxy configurationproxyConfigurationDatacenter by default. Switch to residential if a search only loads from a residential IP.
{
  "query": "Mausritter",
  "search_type": "posts",
  "max_posts": 10,
  "recent_posts": false,
  "proxyConfiguration": {
    "useScrapelyProxy": true,
    "scrapelyProxyGroups": ["DATACENTER"]
  }
}

📤 Output

Post results include:

FieldDescription
post_id, type, urlPost id, result type, and permalink
message, message_richPost text
timestampUnix time of the post
reactions_count, reactionsTotal reactions and the split by type
comments_count, reshare_countComment and share counts
authorAuthor id, name, profile URL, and picture
image, video, video_filesAttached media when present
external_url, attached_postLinked content when present

Page and place searches return a row per page or place with its name and details. Example post (trimmed):

{
  "post_id": "122121471735295264",
  "type": "post",
  "url": "https://www.facebook.com/permalink.php?story_fbid=pfbid0o43JUZ...&id=61588857940219",
  "message": "Hey everyone! We are opening our mobile coffee trailer next month. Stay tuned for updates. ...",
  "timestamp": 1791414785,
  "comments_count": 56,
  "reactions_count": 1974,
  "reshare_count": 52,
  "reactions": { "angry": 2, "care": 11, "haha": 1, "like": 1429, "love": 531, "sad": 0, "wow": 0 },
  "author": {
    "id": "100000000000001",
    "name": "Example Coffee Co.",
    "url": "https://www.facebook.com/people/Example-Coffee-Co/100000000000001/"
  },
  "image": { "height": 1440, "width": 1080, "id": "122121471507295264" },
  "video": null
}

💰 Pricing

$0.003 per result saved ($3 per 1,000 results). Platform usage is billed on top at standard rates: compute $0.30 per GB-hour and datacenter proxy $1 per GB.

Worked example: 10 results cost 10 × $0.003 = $0.03 in result fees. In our measured run, compute and proxy traffic added about $0.0035, so the job came to about $0.033.

❓ FAQ

Is it legal to scrape Facebook search?

The actor only reads results that Facebook shows to logged-out visitors. Check Facebook's terms and privacy laws such as GDPR for your use case, especially for personal data in posts.

Do I need a login or a proxy?

No login. Datacenter proxies are used by default and billed per GB. Residential is optional.

How many results can I get?

As many as you set, until Facebook has no more results. Facebook ends a logged-out search after a few hundred results, and returns fewer for narrow queries.

What if a field is empty?

Fields such as video or external_url are null when the post has no such attachment.

Can I schedule it or call it from the API?

Yes. Use Schedules for recurring runs, or start it through the REST API and read the dataset as JSON, CSV, or Excel.

⚠️ Limits

  • Public results only. It does not scrape a specific page's post feed or a post's comments.
  • Date filters and Recent posts apply to posts and global search, not to pages and places.
  • Location is passed to Facebook as a filter string, not resolved to a city id, so matching depends on Facebook.
  • Media links point to Facebook's CDN and their hosts can differ between runs.
  • Video file URLs are filled only when Facebook sends them.
  • Facebook ends a logged-out search after a few hundred results. In tests one keyword returned about 90 to 330 posts, 620 to 820 pages, and 160 places, with a limit of 1,000. The run stops cleanly and its status says Facebook returned no more results.

Related actors

G2
4.7/5
Excellent
Trustpilot

The internet is full of data.
Start owning yours.

Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes. The advantage lasts forever.

No credit card. No setup calls.