# 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:** 33 total users, 29 monthly users, 100.0% runs succeeded, 0 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 a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js/docs.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python/docs.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/integrations/mcp.md).

If your project is in a different language, use 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

### ⚠️ 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

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Facebook Search Scraper — People, Pages, Posts & More",
        "description": "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.",
        "version": "0.0",
        "x-build-id": "vPnF7PabZlBHWkmTh"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/memo23~facebook-search-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-memo23-facebook-search-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/memo23~facebook-search-scraper/runs": {
            "post": {
                "operationId": "runs-sync-memo23-facebook-search-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/memo23~facebook-search-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-memo23-facebook-search-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "searchQueries"
                ],
                "properties": {
                    "searchType": {
                        "title": "Search type",
                        "enum": [
                            "top",
                            "people",
                            "pages",
                            "places",
                            "events",
                            "posts",
                            "videos"
                        ],
                        "type": "string",
                        "description": "Which Facebook search tab to scrape.",
                        "default": "people"
                    },
                    "searchQueries": {
                        "title": "Search queries",
                        "type": "array",
                        "description": "Keywords to search for on Facebook.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "maxItems": {
                        "title": "Max results",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Maximum total results across all queries.",
                        "default": 100
                    },
                    "pageDelayMs": {
                        "title": "Delay between pages (ms)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Polite delay between paginated calls to avoid rate limits.",
                        "default": 800
                    },
                    "proxy": {
                        "title": "Proxy",
                        "type": "object",
                        "description": "Datacenter (default) works well and is fast. If you hit rate limits at high volume, switch to RESIDENTIAL.",
                        "default": {
                            "useApifyProxy": true
                        }
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
