DEV Community

Viktor Dubnytskiy
Viktor Dubnytskiy

Posted on

How to Find Facebook Groups by Keyword Without Login

If you have ever tried to search Facebook groups for a topic — "yoga kyiv", "react developers berlin", "vintage cameras" — you already know the first wall you hit: Facebook's group search only works if you are logged in. Open a private tab, search for groups, and you get a login prompt instead of results. That's a problem if you're doing market research, building a list of communities to pitch, or just don't want to hand Facebook another browsing session tied to your account.

This post covers what Facebook's search does and doesn't give you, three practical ways to find public groups by keyword without logging in, and a step-by-step walkthrough of the one that scales — an Apify actor that also pulls member count, privacy status, and any contact info the group published in its own description.

What Facebook's own search gives you (and what it doesn't)

Logged in, Facebook's group search is genuinely good: it ranks by relevance and activity, and it lets you filter by "Public" vs "Private". Logged out, you get almost nothing — group search results either redirect you to a login wall or show a handful of groups with no member counts.

Even logged in, there are gaps that matter if you're doing anything beyond casually browsing:

  • No bulk export. You can scroll and click, but there's no button that turns "groups matching X" into a spreadsheet.
  • No city or size filtering in the URL. You can type a city into the query ("yoga kyiv"), but there's no structured filter for "groups with 1,000–50,000 members near this city" — you filter by eye, one group page at a time.
  • Member count requires opening each group. The search results list doesn't show it; you have to click through.
  • Private groups tell you almost nothing. Name and cover photo, no member count, no description — by design, since Meta doesn't publish private-group internals to non-members.

So the real question isn't "how do I search Facebook groups" — it's "how do I get a list of public groups for a keyword, with enough metadata to decide which ones are worth joining or contacting, without babysitting a browser session logged into my own account."

Three ways to do it

1. Manual search, logged out

Google or Bing site-restricted search still indexes a good number of public Facebook groups: site:facebook.com/groups "yoga kyiv". This works for a handful of lookups, costs nothing, and needs no tools. It falls apart the moment you need more than a dozen groups, need member counts, or need to repeat the search weekly to see what's new. You also can't filter by size — you'd open each result yourself.

2. A scraper that reads what Facebook already publishes

This is where an actor like facebook-groups-search on Apify Store fits. It does mechanically what the manual search above does, at volume: search a keyword, collect the public group links, then open each group page as a logged-out visitor — the same page anyone gets without an account — and read memberCount, privacy, description, and the numeric groupId off it. No account, no cookies, no session to keep alive or get banned. Private groups still show up (so you know they exist) but come back with privacy: private and no member count, because that's genuinely all Facebook shows a non-member.

It also pulls website and email — the first link and the first email address the group itself put in its public description. That's group-level self-published contact info, not anything about individual members; the actor doesn't touch member lists, posts, or comments, and never will (that's a hard no on this project, not a missing feature).

3. The same actor in monitor mode, scheduled

If you're tracking a niche over time — competitor communities, partner groups, or just "did this hashtag spawn a new group this month" — running the same search every day and diffing manually gets old fast. The actor has a monitor mode: give it a monitorStateId, and each run only returns groups that are new or changed (member count moved, privacy flipped) since the last run. Point webhookUrl or telegramBotToken/telegramChatId at it and you get an alert instead of a full re-scrape every time. Run it on an Apify schedule (daily or weekly) and it becomes a standing feed rather than a one-off pull.

Step-by-step: from zero to a spreadsheet of groups

  1. Open the actor's Store page and hit Try for free (no separate Apify account setup beyond a free Apify account, which is free to create).
  2. Fill in the input. A realistic run for "find yoga-related public groups in Kyiv, keep only mid-sized ones":
{
  "queries": ["yoga kyiv", "йога київ"],
  "resultsPerQuery": 20,
  "fetchDetails": true,
  "minMembers": 500,
  "maxMembers": 20000,
  "maxItems": 30,
  "mode": "scrape"
}
Enter fullscreen mode Exit fullscreen mode
  1. Run it. For a plain scrape, that's the whole interaction — no polling loop, no login step.
  2. Export the dataset as CSV, JSON, or straight into Google Sheets/Airtable from the Apify UI.

A run against that input produces rows shaped like this (real field names, values illustrative):

name memberCount privacy website email url
Yoga in Ukraine — Kyiv, Lviv, Odesa 4,381 public yogaukraine.org — facebook.com/groups/yogaukraine/
Kyiv Morning Yoga Community 1,203 public — hello@kyivyoga.example facebook.com/groups/kyivmorningyoga/
Йога та медитація Київ 812 public — — facebook.com/groups/yogameditationkyiv/

If a query turns up nothing, the dataset stays empty rather than being padded with irrelevant rows — the run's summary record records why (a real empty result vs. a search engine hiccup), so you're not left guessing whether the niche is actually empty.

For the monitor version, swap mode to "monitor", add a monitorStateId (any stable string identifying this search), and set webhookUrl or the Telegram fields. Subsequent scheduled runs will only push groups that are new or whose memberCount/privacy changed since the previous run.

Pricing

It's pay-per-event: $0.003 per group row returned, $0.006 per monitor-mode check, and $0.003 per new or changed group in monitor mode — you're charged for groups actually delivered, not for pages the actor merely visited.

FAQ

Is this legal / does it violate Facebook's terms? Facebook's Terms of Service prohibit automated data collection generally, and that's worth knowing going in — this isn't a loophole, it's a documented risk you're accepting, the same risk you'd take running any scraper against a large platform. The actor stays within what's technically visible to a logged-out visitor (no login, no bypassing an access wall) and returns only group-level metadata that groups publish for anyone to see. Use it for research and outreach list-building, not for anything the underlying data isn't meant for.

Does it collect personal data about people? No. The actor returns group-level facts only — name, member count, privacy, description, group id, and self-published contact info the group put in its own bio. It never touches member lists, individual posts, or comments, and has no code path that would.

Can it get private group details? No, and that's not a limitation of the actor — it's what Facebook itself shows a non-member. A private group returns its name and privacy status; member count and description are withheld because Facebook doesn't publish them to logged-out visitors.

Why not just use Facebook's own group search? Facebook's group search requires login, doesn't export, doesn't filter by size, and doesn't show member count in the results list. This tool automates the same "what's publicly visible" lookup at volume and adds a size filter and change tracking, without needing your account logged into a scraping session.

What if a keyword has no public groups, or Facebook blocks the request? The dataset comes back empty either way, but the run's internal summary distinguishes the two cases — a genuine empty result versus a blocked/challenged request — so you're not billed for a broken run and you know whether to retry or move on.

Try it

If you need a repeatable way to shortlist public Facebook groups by keyword or city — for outreach, competitive tracking, or niche research — the actor is live on Apify Store under datahamster/facebook-groups-search. Free to try, pay only for the rows you actually get back.

Top comments (0)