Skip to content

Facebook Search Scraper

Try for free

Search public Facebook pages, profiles, posts, and reels by keyword. Google page search returns contact details, followers, and ratings.

🔎 Facebook Search Scraper

Search public Facebook by keyword and get clean rows for pages, profiles, posts, or reels. Add a city or country to focus the search, and set how many results you want. No Facebook login, no cookies, and you pay only for results that are saved.

✨ Why use Facebook Search Scraper?

  • 💸 Cheap — $0.003 per result ($3 per 1,000), plus a small amount of platform usage.
  • 🔓 No login — it reads public search responses, so no account, cookies, or session are needed.
  • 🧭 Five search types — pages, profiles, posts, reels, or a Google-based page search.
  • 📍 Location aware — add one or more places and each search term runs once per place.
  • 🔁 Multiple keywords — give several search terms in one run; the limit applies to the whole run.
  • 🧹 Clean empty runs — a keyword with no public matches returns no rows and no result fee.

🎯 Use cases

  • 🏪 Local lead lists — find pages for restaurants, salons, gyms, or any category in a city.
  • 📞 Contact enrichment — with Pages - Google search, collect phone, email, address, website, and rating from public pages.
  • 📰 Brand and topic monitoring — collect public posts that mention a business, place, or product.
  • 🎬 Reel research — pull reels for a keyword with captions and public counts.
  • 🕵️ Competitor scouting — list the pages and profiles that show up for the keywords you care about.

🚀 How to use

  1. Enter one or more search terms (for example Restaurant).
  2. Optionally add locations such as Austin.
  3. Pick a search type: pages, profiles, posts, reels, or Pages - Google search.
  4. Set maximum results (default 10).
  5. Click Start, then export to JSON, CSV, Excel, or HTML, or read the dataset through the API.

📥 Input

FieldTypeWhat it does
categoriesarraySearch terms. Required. Each term is searched until the limit is reached.
locationsarrayCity, region, or country applied to each term. Optional.
searchTypeselectpages (default), profiles, posts, reels, or pages-google.
resultsLimitintegerResults to save for the whole run. Default 10.
proxyConfigurationobjectDatacenter proxy by default. Switch to residential if a search only loads from a residential IP.
{
  "categories": ["Restaurant"],
  "locations": ["Austin"],
  "searchType": "pages",
  "resultsLimit": 10
}

Search several terms and places in one run:

{
  "categories": ["Coffee", "Bakery"],
  "locations": ["Berlin", "Hamburg"],
  "searchType": "pages",
  "resultsLimit": 50
}

Find public reels instead:

{
  "categories": ["street food"],
  "searchType": "reels",
  "resultsLimit": 20
}

📤 Output

One dataset row per result. Page rows include the name, URL, profile image, verification flag, and the description shown in search. Profile rows use the same fields and add a bio when Facebook shows one. Post rows include the post id, text, publish time, author, reactions, and media. Reel rows include the caption, author, duration, and public counts when the reel page exposes them. Pages - Google search rows are the public page itself: title, categories, followers, phone, email, address, website, rating, and ad status.

Field (pages)Description
facebookUrlThe search URL the row came from.
searchTypeWhich search type produced the row.
idFacebook page id.
namePage name.
urlPublic page URL.
profilePictureUrlProfile image (a CDN link that expires).
isVerifiedWhether the page shows a verification badge.
descriptionDescription shown in search.
{
  "facebookUrl": "https://www.facebook.com/search/top?q=Restaurant",
  "searchType": "pages",
  "id": "100083535933598",
  "name": "Lalezar - Restaurant & Cafe",
  "url": "https://www.facebook.com/lalezarrestaurantandcafe",
  "profilePictureUrl": "https://scontent-iad3-2.xx.fbcdn.net/v/t39.30808-1/286430160_102680862477366_1063033409...",
  "isVerified": false,
  "description": "Lalezar Restaurant"
}

The image URL is shortened in this example.

Posts, reels, and Pages - Google search rows add their own fields on top of this shape, so check the dataset table view for the columns of the search type you picked.

💰 Pricing

$0.003 per result saved, which is $3.00 per 1,000 results, plus platform usage for compute and proxy traffic (datacenter proxy traffic is $1 per GB). A run with no matching rows does not charge a result fee.

Worked example: a 10-result search is about $0.03 in result fees, plus the platform usage of the run.

❓ FAQ

Is it legal to scrape Facebook search? The actor only reads publicly available results without logging in. You are responsible for how you use the data and for following local law and platform terms.

Do I need a Facebook account or a proxy? No account. A datacenter proxy is configured by default.

How many results can I get? As many as you set for the whole run. Facebook ends a logged-out search after a few hundred results per keyword, so add more keywords or locations to get more rows.

What does a location do? Each search term runs once per location. Facebook search receives the place as a filter. Pages - Google search adds the place to the Google query.

Which search type includes phone and email? Pages - Google search. Pages and profile search return the fields shown on the search result, not the full about section.

What if a field is empty? Facebook does not show every field for every result, so some fields can be empty or missing on a given row.

Can I schedule it or use the API? Yes, through schedules in the console or the API.

⚠️ Limits

  • One search type per run.
  • Facebook ends a logged-out search after a few hundred results per keyword. In tests one keyword returned about 330 pages, 280 posts, and 100 reels; profiles reached the old 1,000 cap. Add more keywords or locations to get more rows. The run status says when Facebook had no more results.
  • Reels are filled from each reel's page, which adds about 1 MB of proxy traffic per reel.
  • Public results only. Private posts, friends-only profiles, and ads are not returned.
  • Profile images and media URLs are CDN links and expire.
  • Pages - Google search depends on a Google search service and is less reliable than the other search types. If it is unavailable the run falls back to a single browser session and can stop when throttled. Use pages for the most dependable results.
  • Reaction and comment counts on reels are the public numbers; view and share counts may be abbreviated figures.
  • A small run takes roughly 9 to 13 seconds because the search starts a fresh session.

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.