# Facebook Search Scraper — People, Pages, Posts & More (`memo23/facebook-search-scraper`) Actor

The most complete Facebook search: people, pages, places, events, posts, videos and top — in one actor, no login and no cookies. Get names, URLs, profile pictures, verified badges, event dates, and post text with authors. Auto-paginates across results. Export to JSON, CSV or Excel.

- **URL**: https://apify.com/memo23/facebook-search-scraper.md
- **Developed by:** [Muhamed Didovic](https://apify.com/memo23) (community)
- **Categories:** Social media, AI, Agents
- **Stats:** 47 total users, 38 monthly users, 100.0% runs succeeded, 1 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.90 / 1,000 search results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## Facebook Search Scraper

<p align="center">
  <img src="https://raw.githubusercontent.com/muhamed-didovic/muhamed-didovic.github.io/main/assets/facebook-search/logo.png" width="130" alt="Facebook Search Scraper">
</p>

**Search Facebook across every tab — people, pages, events, posts and videos — and get clean structured data. No login, no cookies, no browser. Enter a keyword, pick a search type, and the actor queries Facebook's own search and returns names, profile/page URLs, profile pictures, verification badges, event dates, and post text with authors.**

| You give | You get |
|---|---|
| A keyword + a search type | One structured row per matching result |

> Pure HTTP. No account, no cookies, no headless browser. Results come straight from Facebook's own search — not scraped from Google.

***

### Why use this scraper

- **No login and no cookies.** You don't provide a Facebook account or session. The actor bootstraps a guest token and calls Facebook's search directly.
- **Six search types, one actor.** People, pages, events, posts, videos, or "top" (all) — selected with a single `searchType` field.
- **Native Facebook results.** Straight from Facebook's ranking, not a Google `site:` workaround.
- **Auto-pagination.** Set `maxItems` and the actor walks the result cursor across pages for you.
- **Rich fields.** Names, profile/page URLs, profile pictures, verified badges, event names + URLs, and — for posts — the post text, author, permalink and time.

### How it works

<p align="center">
  <img src="https://raw.githubusercontent.com/muhamed-didovic/muhamed-didovic.github.io/main/assets/facebook-search/how-it-works-facebook-search.png" width="900" alt="How the Facebook Search scraper works">
</p>

1. **You give** a keyword (or several) and a search type.
2. **We fetch** — bootstrap a guest token, call Facebook's search API (one query serves every tab), and page through the results via the cursor. FB traffic egresses through residential proxies.
3. **You get** structured rows (JSON, CSV, or Excel), each tagged with a `rowType`.

### Supported search types

| `searchType` | Returns | Key fields |
|---|---|---|
| `people` | Profiles | name, profile URL, picture, verified |
| `pages` | Pages | name, page URL, picture, verified |
| `places` | Places / businesses | name, URL, picture, verified |
| `events` | Events | name, event URL, picture |
| `posts` | Public posts | text, author, permalink, time |
| `videos` | Videos | title, URL |
| `top` | Mixed (all of the above) | per-entity fields |

### Use cases

- **Lead generation** — find people and pages matching a niche, brand, or location.
- **Brand & competitor monitoring** — track public posts and pages mentioning a keyword.
- **Event discovery** — pull events matching a topic or city.
- **Audience & influencer research** — surface profiles and pages around a theme.
- **Social listening** — collect public post text + authors for a keyword over time.

### Input configuration

| Field | Type | Notes |
|---|---|---|
| `searchType` | select | `top`, `people`, `pages`, `places`, `events`, `posts`, `videos` |
| `searchQueries` | array | One or more keywords to search |
| `maxItems` | integer | Max total results across all queries |
| `pageDelayMs` | integer | Delay between paginated calls |
| `proxy` | object | Residential recommended (Facebook rate-limits datacenter IPs) |

#### Example input

```json
{
  "searchType": "people",
  "searchQueries": ["coffee roaster", "specialty coffee"],
  "maxItems": 200
}
```

### Output

#### `rowType: "person"` / `"page"`

```jsonc
{
  "rowType": "person",
  "name": "Coffee Town",
  "url": "https://www.facebook.com/Cooffee.Town",
  "profilePicture": "https://scontent.../...jpg",
  "isVerified": false,
  "query": "coffee",
  "searchType": "people"
}
```

#### `rowType: "event"`

```jsonc
{
  "rowType": "event",
  "name": "Cavendish Beach Music Festival 2026",
  "url": "https://www.facebook.com/events/1108414837875098/"
}
```

#### `rowType: "post"`

```jsonc
{
  "rowType": "post",
  "authorName": "Magnolia Honey",
  "text": "The drip has arrived at The Shoppe…",
  "postUrl": "https://www.facebook.com/groups/…/permalink/…",
  "creationTime": "2026-07-04T12:30:26.000Z"
}
```

### Key output fields

| Field | Description |
|---|---|
| `rowType` | person / page / event / post / video |
| `name` | Profile / page / event name (or post author) |
| `url` | Facebook URL of the result |
| `profilePicture` | Avatar / cover image URL |
| `isVerified` | Verified badge (people & pages) |
| `text` / `authorName` / `creationTime` | Post body, author, timestamp (posts) |
| `query` / `searchType` | The search that produced the row |

### FAQ

**Do I need a Facebook account or cookies?** No. The actor works fully logged-out with a guest token — nothing to provide.

**Is this Facebook's real search?** Yes — it calls Facebook's own search endpoint, so results and ranking match what you'd see on the site (not a Google `site:facebook.com` workaround).

**Which proxy should I use?** Residential. Facebook rate-limits datacenter and cloud IPs, so residential proxies give reliable throughput.

**How many results can I get?** It auto-paginates until `maxItems` or the results run out. Each keyword returns its own paginated set.

**Why isn't group search supported?** Facebook gates group search behind a login, which this no-cookie actor deliberately avoids. People, pages, events, posts and videos are all available logged-out.

### Notes & limitations

- Only **public** search results are returned (logged-out visibility).
- Group search is not available without a login and is intentionally omitted.
- Facebook changes its internals periodically; the actor is maintained to keep pace.

### Support

Found a bug or need a search type that isn't exposed? Open an issue on the Actor's **Issues** tab on Apify, or reach out via the Apify Store profile. Include your input JSON and the run ID.

### Explore more scrapers

More Facebook and social tools from the same developer:

- [Facebook Marketplace Scraper](https://apify.com/memo23/facebook-marketplace-scraper-ppe) — newest Marketplace listings, fast
- [Facebook Public Group Posts & Comments](https://apify.com/memo23/facebook-public-group-posts-scraper) — no cookies needed
- [Facebook Comments Scraper](https://apify.com/memo23/facebook-comments-scraper) — full comment threads for any public post
- [Facebook Ads Library Scraper](https://apify.com/memo23/facebook-ads-library-scraper-ppe) — ads intel with reach included
- [Google Flights Scraper](https://apify.com/memo23/google-flights-scraper) — fares & multi-city from $1/1k

### 🤖 For AI Agents & LLM Apps

Compact reference for AI agents calling this actor via the [Apify MCP server](https://mcp.apify.com) or the Apify API (actor: `memo23/facebook-search-scraper`).

**Purpose:** Facebook's own native search across people, pages, places, events, posts and videos — fully logged-out (no account, no cookies) via a bootstrapped guest token, so results match Facebook's ranking rather than a Google `site:` workaround.

**Minimal input:**

```json
{
  "searchType": "people",
  "searchQueries": ["coffee roaster"],
  "maxItems": 50
}
```

**Output:** one row per result — rowType, name, url, profilePicture, isVerified, query, searchType; posts also add authorName, text, postUrl, creationTime; events add name and url.

**Behaviors an agent should know:**

- `searchType` selects the tab: `top`, `people`, `pages`, `places`, `events`, `posts`, `videos` (default `people`); one query serves every tab.
- Always set `maxItems` (total across all queries, default 100) — the actor auto-paginates the result cursor until the cap or the results run out.
- Group search is not supported (login-gated and deliberately omitted); only public, logged-out results are returned.
- Datacenter proxy is the default and works well; switch to RESIDENTIAL only if you hit rate limits at high volume.
- Billing: Pay-per-event billing — see the Pricing tab on the actor page.

### ⚠️ Disclaimer

This actor collects **publicly available** data from Facebook search for legitimate purposes such as market research, lead generation, and social listening. You are responsible for how you use the data. Comply with Facebook's Terms of Service, applicable data-protection law (including the GDPR when handling personal data), and all local regulations. Do not use collected personal data for unsolicited contact where prohibited. This tool is not affiliated with, endorsed by, or connected to Facebook or Meta.

### SEO Keywords

Facebook search scraper, Facebook scraper, Facebook people search, Facebook pages scraper, Facebook posts scraper, Facebook events scraper, Facebook search API, scrape Facebook without login, Facebook data extraction, social media scraper, Facebook profiles scraper, Facebook keyword search, Facebook lead generation, social listening tool, Facebook public data, no-cookie Facebook scraper, Facebook video search, Meta search scraper, Apify Facebook scraper, Facebook search results.

# Actor input Schema

## `searchType` (type: `string`):

Which Facebook search tab to scrape.

## `searchQueries` (type: `array`):

Keywords to search for on Facebook.

## `maxItems` (type: `integer`):

Maximum total results across all queries.

## `pageDelayMs` (type: `integer`):

Polite delay between paginated calls to avoid rate limits.

## `proxy` (type: `object`):

Datacenter (default) works well and is fast. If you hit rate limits at high volume, switch to RESIDENTIAL.

## Actor input object example

```json
{
  "searchType": "people",
  "searchQueries": [
    "coffee"
  ],
  "maxItems": 100,
  "pageDelayMs": 800,
  "proxy": {
    "useApifyProxy": true
  }
}
```

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "searchQueries": [
        "coffee"
    ],
    "maxItems": 100,
    "proxy": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("memo23/facebook-search-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "searchQueries": ["coffee"],
    "maxItems": 100,
    "proxy": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("memo23/facebook-search-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "searchQueries": [
    "coffee"
  ],
  "maxItems": 100,
  "proxy": {
    "useApifyProxy": true
  }
}' |
apify call memo23/facebook-search-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=memo23/facebook-search-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/acts/TkfI14JjZfdfldhzV/builds/QFqOm34WYRDgWr4VP/openapi.json
