# Facebook Search Scraper (`scrapier/facebook-search-scraper`) Actor

Extract public Facebook search results quickly with Facebook Search Scraper. Collect pages, profiles, groups, posts, events, and related metadata using keywords for lead generation, competitor research, market analysis, and social media intelligence.

- **URL**: https://apify.com/scrapier/facebook-search-scraper.md
- **Developed by:** [Scrapier](https://apify.com/scrapier) (community)
- **Categories:** Lead generation, Social media, Other
- **Stats:** 1 total users, 0 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $5.99 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

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.md):

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

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.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/platform/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

Facebook Search Scraper is an Apify actor that discovers public Facebook business pages via Google search and extracts structured business data such as contact info, ratings, followers, and hours. It solves the challenge of sourcing high-quality Facebook page leads by using a Google SERP → Facebook Pages strategy and streaming results in real time. Built for marketers, developers, data analysts, and researchers, this Facebook search scraper tool acts as a scalable Facebook search data extractor to scrape Facebook search results by keyword, then export Facebook search results for downstream use.

### What data / output can you get?

Below are real output fields pushed to the dataset. Values are examples.

| Data field | Description | Example value |
| --- | --- | --- |
| facebookUrl | Canonical Facebook page URL | https://www.facebook.com/rustyanchorNYC |
| title | Page title/name | The Rusty Anchor |
| categories | Page categories (array) | ["Bar", "Pub"] |
| address | Business address (if available) | 123 Main St, New York, NY 10001 |
| phone | Business phone | +1 212-555-0199 |
| email | Public email | info@rustyanchor.com |
| website | Website domain | rustyanchor.com |
| websites | Website URLs (array) | ["https://rustyanchor.com"] |
| rating | Normalized rating text | 85% recommend (230 Reviews) |
| followers | Followers count (integer when available) | 2400 |
| profilePictureUrl | Profile image URL from page | https://scontent.xx.fbcdn.net/v/t39... |
| coverPhotoUrl | Cover image URL (if found) | https://scontent.xx.fbcdn.net/v/t39... |
| pageId | Page ID | 123456789012345 |
| pageName | Vanity/slug | rustyanchornyc |
| priceRange | Price range ($, $$, $$$) | $$ |
| services | Services text (if listed) | Dine-in · Takeaway · Delivery |
| business_hours | Open/closed info (if available) | Open now |
| ratingOverall | Numeric rating percent | 85 |
| ratingCount | Number of reviews | 230 |
| likes | Likes extracted from meta description (if present) | 1200 |
| instagram | Detected Instagram profiles (array of objects) | [{"username":"rustyanchor","url":"https://www.instagram.com/rustyanchor"}] |
| addressUrl | Map link generated from address | https://www.bing.com/maps/default.aspx?... |
| profilePhoto | Link to profile photo by fbid (if resolvable) | https://www.facebook.com/photo/?fbid=987654321098765 |
| alternativeSocialMedia | Alternate social link when present | https://www.instagram.com/rustyanchor |
| followings | Following count (if detected) | 1800 |
| intro | Intro/description text (if available) | Neighborhood pub with craft beers and live music. |
| category | First category (convenience field) | Bar |
| ratings | Alias of rating | 85% recommend (230 Reviews) |
| business_price | “Price Range · …” formatted text | Price Range · $$ |
| business_services | Cleaned services text | Dine-in · Takeaway |
| creation_date | Page creation date (if found) | March 10, 2015 |
| ad_status | Page ad status (if found) | This Page is currently running ads. |
| about_me | Object with intro text | {"text":"Neighborhood pub with craft beers..."} |
| facebookId | Alias of pageId | 123456789012345 |
| pageAdLibrary | Ad library metadata | {"is_business_page_active": true, "id": "987654321"} |
| error | Error message (only if the page failed to scrape) | Timeout while fetching page |

Notes:
- Results are streamed to the dataset in real time as each page is processed.
- You can export to JSON or CSV from the Apify console.
- Bonus outputs include image URLs (profilePictureUrl, coverPhotoUrl), Instagram handles, and ad library hints (pageAdLibrary).

### Key features

- 🔎 Google SERP discovery (site:facebook.com)
  Uses Google search with the GOOGLE_SERP proxy group to find Facebook page URLs from your keywords and locations, acting as a precise Facebook search results scraper.

- 🧭 Two-phase workflow
  Phase 1 discovers Facebook page URLs; Phase 2 visits each URL to extract contact details, ratings, hours, and more for reliable Facebook page search scraper automation.

- 🔄 Smart proxy fallback
  For page scraping, it automatically falls back No proxy → Datacenter → Residential (up to 3 retries) to maximize success rate.

- ⚡ Real-time streaming to dataset
  Each page result is pushed immediately (Actor.push_data), enabling incremental processing and faster feedback loops.

- 🧰 Developer-friendly (API & Python)
  Built with the Apify SDK in Python, making it easy to integrate via the Facebook search scraper API or extend with your Facebook search scraper Python workflows.

- 💾 Easy export
  Export Facebook search results in JSON or CSV from the OUTPUT tab, ready for analytics, enrichment, or CRM pipelines.

- 🧱 Production-ready infrastructure
  Designed for stability with structured logging and proxy handling—ideal Facebook search scraping software for recurring jobs.

### How to use Facebook Search Scraper - step by step

1. Create or log in to your Apify account.
2. Open the “facebook-search-scraper” actor in your Apify Console.
3. Add your inputs:
   - categories: e.g., ["Pub", "Bar"]
   - locations: e.g., ["NYC", "London"]
   - resultsLimit: set how many pages to collect across all queries (e.g., 20)
4. (Optional) Configure proxyConfiguration for page scraping. Discovery uses the GOOGLE_SERP proxy group internally—your account must have access to it.
5. Click Start. You’ll see logs for:
   - Phase 1: Discovering Facebook page URLs…
   - Phase 2: Scraping page details (address, phone, rating, hours…)
6. Watch results stream into the dataset in real time.
7. Download your data from the OUTPUT tab as JSON or CSV.

Pro Tip: Combine multiple categories and locations to broaden coverage (e.g., ["Pub","Restaurant"] × ["NYC","Boston"]). Increase resultsLimit to export Facebook search results at scale.

### Use cases

| Use case name | Description |
| --- | --- |
| Local lead generation | Build targeted lists of local businesses by category + location, then extract phones, emails, and websites for outreach. |
| Competitor mapping | Track competitors’ Facebook presence across cities and categories to benchmark ratings and followers. |
| Market analysis | Analyze category saturation and engagement (followers, reviews) across regions for better GTM planning. |
| Social media intelligence | Enrich social datasets with profile images, cover photos, and Instagram links for cross-channel research. |
| Franchise and multi-location audits | Validate brand coverage and contact consistency across regions using a repeatable Facebook keyword search scraper workflow. |
| Data enrichment via API | Pipe structured outputs into your data warehouse or CRM for automated enrichment using the Apify API. |
| Academic & non-profit research | Collect public business page metadata for studies on local economies and small business ecosystems. |

### Why choose Facebook Search Scraper?

Facebook Search Scraper is built for precision and automation—discover pages via Google and extract structured data reliably, at scale.

- 🎯 Accurate discovery via Google SERP (site:facebook.com) with business-page filtering
- 🛡️ Resilient proxy fallback for page scraping (No proxy → Datacenter → Residential)
- 🚫 No login required; processes public pages only
- ⚡ Real-time dataset streaming for faster iteration
- 🧑‍💻 Developer-ready: use as a Facebook search scraper API or extend with Python
- 💰 Cost-effective at scale with controllable resultsLimit
- 🧩 Works as Facebook search scraping software that fits automation pipelines

Compared to fragile browser extensions, this Facebook search scraper tool runs on Apify’s infrastructure with reliable proxy management and structured outputs—ideal for production workflows.

### Is it legal / ethical to use Facebook Search Scraper?

Yes—when done responsibly. This actor collects publicly available data from Facebook business pages and does not access private or authenticated content. Users are responsible for complying with applicable laws and platform terms.

Guidelines:
- Collect only public information.
- Avoid personal or private data.
- Follow data protection regulations (e.g., GDPR, CCPA) as applicable.
- Use the data responsibly and verify compliance with your legal team for edge cases.

### Input parameters & output format

#### Example JSON input
```json
{
  "categories": ["Pub", "Bar"],
  "locations": ["NYC", "London"],
  "resultsLimit": 20,
  "proxyConfiguration": { "useApifyProxy": false }
}
````

| Field | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| categories | array | No | \["Pub"] | Business types to search (Pub, Bar, Restaurant...). Combined with locations → e.g., "Pub NYC", "Bar London". |
| locations | array | No | \["NYC"] | Where to search (NYC, London…) — paired with each category. |
| resultsLimit | integer | No | 10 | Max pages to scrape across all queries. Higher = more data, longer run. Limits: 1–500. |
| proxyConfiguration | object | No | {"useApifyProxy": false} | Optional. No proxy by default for page scraping. Auto fallback to datacenter → residential if blocked. Discovery uses the GOOGLE\_SERP proxy group internally. |

Note: Your account must have access to the GOOGLE\_SERP proxy group for discovery. If unavailable, discovery returns zero URLs.

#### Example JSON output

```json
{
  "facebookUrl": "https://www.facebook.com/rustyanchorNYC",
  "categories": ["Bar", "Pub"],
  "info": ["2.4K likes · Pub", "Live music on weekends"],
  "likes": 2400,
  "messenger": null,
  "priceRange": "$$",
  "title": "The Rusty Anchor",
  "address": "123 Main St, New York, NY 10001",
  "pageId": "123456789012345",
  "pageName": "rustyanchornyc",
  "pageUrl": "https://www.facebook.com/rustyanchorNYC",
  "intro": "Neighborhood pub with craft beers and live music.",
  "websites": ["https://rustyanchor.com"],
  "phone": "+1 212-555-0199",
  "email": "info@rustyanchor.com",
  "alternativeSocialMedia": "https://www.instagram.com/rustyanchor",
  "website": "rustyanchor.com",
  "services": "Dine-in · Takeaway · Delivery",
  "rating": "85% recommend (230 Reviews)",
  "followers": 2400,
  "followings": 1800,
  "profilePictureUrl": "https://scontent.xx.fbcdn.net/v/t39.30808-6/...",
  "coverPhotoUrl": "https://scontent.xx.fbcdn.net/v/t39.30808-6/...",
  "profilePhoto": "https://www.facebook.com/photo/?fbid=987654321098765",
  "ratingOverall": 85,
  "ratingCount": 230,
  "category": "Bar",
  "addressUrl": "https://www.bing.com/maps/default.aspx?v=2&pc=FACEBK&mid=8100&where1=123%20Main%20St%2C%20New%20York%2C%20NY%2010001&FORM=FBKPL1&mkt=en-US",
  "instagram": [
    { "username": "rustyanchor", "url": "https://www.instagram.com/rustyanchor" }
  ],
  "ratings": "85% recommend (230 Reviews)",
  "business_hours": "Open now",
  "business_price": "Price Range · $$",
  "business_services": "Dine-in · Takeaway",
  "creation_date": "March 10, 2015",
  "ad_status": "This Page is currently running ads.",
  "about_me": { "text": "Neighborhood pub with craft beers and live music." },
  "facebookId": "123456789012345",
  "pageAdLibrary": {
    "is_business_page_active": true,
    "id": "987654321"
  }
}
```

Notes:

- If a page fails to load or is blocked, an item with {"facebookUrl": "...", "error": "..."} is pushed instead.
- Some fields may be missing or null when not present on the public page (e.g., email, rating, priceRange).

### FAQ

#### Do I need to log in or provide cookies?

No. This actor targets public Facebook business pages and does not require login. It uses standard HTTP requests to extract publicly available information.

#### Is a proxy required to scrape?

Discovery relies on the GOOGLE\_SERP proxy group. Your Apify account must have access to that group; otherwise, discovery returns no URLs. For page scraping, proxyConfiguration is optional and the actor falls back automatically through No proxy → Datacenter → Residential if blocked.

#### How many results can I collect per run?

Use resultsLimit to control how many Facebook pages are discovered and scraped across all queries. If you need more coverage, add more categories/locations or increase resultsLimit (1–500).

#### What types of data can it extract?

It returns structured fields such as facebookUrl, title, categories, address, phone, email, website, rating, followers, profilePictureUrl, business\_hours, and more. See the Output section for the full list of fields.

#### Does this scrape Facebook groups, people, or posts?

No. This tool focuses on business pages discovered via Google SERP. It is not a Facebook group search scraper, Facebook people search scraper, or Facebook posts search scraper.

#### Can I integrate this with my existing pipeline?

Yes. As an Apify actor written in Python, you can run it via the Apify API, schedule runs, and connect outputs to your data workflows for Facebook search scraping automation.

#### How do I export Facebook search results?

Open the run’s OUTPUT tab in Apify Console and export the dataset as JSON or CSV. This makes it easy to export Facebook search results to your analytics or CRM tools.

#### Is this compliant and safe to use?

Yes—when used responsibly with public data. Always comply with platform terms and applicable regulations (e.g., GDPR, CCPA) and avoid collecting private or sensitive information.

### Closing CTA / Final thoughts

Facebook Search Scraper is built to discover and extract structured data from public Facebook business pages using a reliable Google SERP → Facebook Pages strategy. With smart proxy fallback, real-time streaming, and clean outputs, it’s ideal for marketers, analysts, researchers, and developers who need accurate Facebook search scraping software at scale. Use it as a Facebook search scraper API, extend it with Facebook search scraper Python code, and automate your workflows to export Facebook search results seamlessly. Start extracting smarter, structured Facebook page data today.

### What are other Facebook scraping tools?

If you want to scrape specific Facebook data, you can use any of the dedicated scrapers below for faster and more targeted results.

| Scraper Name | Scraper Name |
|---|---|
| [Facebook Ads Library Scraper](https://apify.com/scrapier/facebook-ads-library-scraper) | [Facebook Page Email Scraper](https://apify.com/scrapier/facebook-page-email-scraper) |
| [Facebook B2b Email Scraper](https://apify.com/scrapier/facebook-b2b-email-scraper) | [Facebook Page Lead Scraper](https://apify.com/scrapier/facebook-page-lead-scraper) |
| [Facebook B2b Lead Scraper](https://apify.com/scrapier/facebook-b2b-lead-scraper) | [Facebook Page Phone Number Scraper](https://apify.com/scrapier/facebook-page-phone-number-scraper) |
| [Facebook B2b Phone Number Scraper](https://apify.com/scrapier/facebook-b2b-phone-number-scraper) | [Facebook Page Posts Scraper](https://apify.com/scrapier/facebook-page-posts-scraper) |
| [Facebook Comments Scraper](https://apify.com/scrapier/facebook-comments-scraper) | [Facebook Page Scraper](https://apify.com/scrapier/facebook-page-scraper) |
| [Facebook Email Scraper](https://apify.com/scrapier/facebook-email-scraper) | [Facebook Pages Scraper](https://apify.com/scrapier/facebook-pages-scraper) |
| [Facebook Event Search Scraper](https://apify.com/scrapier/facebook-event-search-scraper) | [Facebook Phone Number Scraper](https://apify.com/scrapier/facebook-phone-number-scraper) |
| [Facebook Events Scraper](https://apify.com/scrapier/facebook-events-scraper) | [Facebook Photos Scraper](https://apify.com/scrapier/facebook-photos-scraper) |
| [Facebook Followers Following Scraper](https://apify.com/scrapier/facebook-followers-following-scraper) | [Facebook Posts Scraper](https://apify.com/scrapier/facebook-posts-scraper) |
| [Facebook Followers Scraper](https://apify.com/scrapier/facebook-followers-scraper) | [Facebook Posts Search Scraper](https://apify.com/scrapier/facebook-posts-search-scraper) |
| [Facebook Group Member Scraper](https://apify.com/scrapier/facebook-group-member-scraper) | [Facebook Profile Email Scraper](https://apify.com/scrapier/facebook-profile-email-scraper) |
| [Facebook Group Post Scraper](https://apify.com/scrapier/facebook-group-post-scraper) | [Facebook Profile Lead Scraper](https://apify.com/scrapier/facebook-profile-lead-scraper) |
| [Facebook Group Posts And Details Scraper](https://apify.com/scrapier/facebook-group-posts-and-details-scraper) | [Facebook Profile Phone Number Scraper](https://apify.com/scrapier/facebook-profile-phone-number-scraper) |
| [Facebook Group Profile Scraper](https://apify.com/scrapier/facebook-group-profile-scraper) | [Facebook Reels Scraper](https://apify.com/scrapier/facebook-reels-scraper) |
| [Facebook Groups Posts Scraper](https://apify.com/scrapier/facebook-groups-posts-scraper) | [Facebook Reviews Scraper](https://apify.com/scrapier/facebook-reviews-scraper) |
| [Facebook Groups Scraper](https://apify.com/scrapier/Facebook-Groups-Scraper) | [Facebook Url To Id Scraper](https://apify.com/scrapier/facebook-url-to-id-scraper) |
| [Facebook Groups Search Scraper](https://apify.com/scrapier/facebook-groups-search-scraper) | [Facebook User Search Scraper](https://apify.com/scrapier/Facebook-User-Search-Scraper) |
| [Facebook Lead Scraper](https://apify.com/scrapier/facebook-lead-scraper) | [Facebook Video Search Scraper](https://apify.com/scrapier/facebook-video-search-scraper) |
| [Facebook Likes Reactions Scraper](https://apify.com/scrapier/facebook-likes-reactions-scraper) | [Facebook Video Transcript Extractor](https://apify.com/scrapier/facebook-video-transcript-extractor) |
| [Facebook Marketplace Scraper](https://apify.com/scrapier/facebook-marketplace-scraper) | [Facebook Videos Scraper](https://apify.com/scrapier/facebook-videos-scraper) |

# Actor input Schema

## `categories` (type: `array`):

Business types to search (Pub, Bar, Restaurant...). Combined with locations → e.g. "Pub NYC", "Bar London".

## `locations` (type: `array`):

Where to search (NYC, London...) — paired with each category.

## `resultsLimit` (type: `integer`):

Max pages to scrape across all queries. Higher = more data, longer run.

## `proxyConfiguration` (type: `object`):

Optional. No proxy by default. Auto fallback to datacenter → residential if blocked.

## Actor input object example

```json
{
  "categories": [
    "Pub"
  ],
  "locations": [
    "NYC"
  ],
  "resultsLimit": 10,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# 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 = {
    "categories": [
        "Pub"
    ],
    "locations": [
        "NYC"
    ],
    "proxyConfiguration": {
        "useApifyProxy": false
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapier/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 = {
    "categories": ["Pub"],
    "locations": ["NYC"],
    "proxyConfiguration": { "useApifyProxy": False },
}

# Run the Actor and wait for it to finish
run = client.actor("scrapier/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 '{
  "categories": [
    "Pub"
  ],
  "locations": [
    "NYC"
  ],
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}' |
apify call scrapier/facebook-search-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Facebook Search Scraper",
        "description": "Extract public Facebook search results quickly with Facebook Search Scraper. Collect pages, profiles, groups, posts, events, and related metadata using keywords for lead generation, competitor research, market analysis, and social media intelligence.",
        "version": "0.1",
        "x-build-id": "aEqubJKEwJWpEqwug"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/scrapier~facebook-search-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-scrapier-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/scrapier~facebook-search-scraper/runs": {
            "post": {
                "operationId": "runs-sync-scrapier-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/scrapier~facebook-search-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-scrapier-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",
                "properties": {
                    "categories": {
                        "title": "🏷️ Categories",
                        "type": "array",
                        "description": "Business types to search (Pub, Bar, Restaurant...). Combined with locations → e.g. \"Pub NYC\", \"Bar London\".",
                        "default": [
                            "Pub"
                        ],
                        "items": {
                            "type": "string"
                        }
                    },
                    "locations": {
                        "title": "📍 Locations",
                        "type": "array",
                        "description": "Where to search (NYC, London...) — paired with each category.",
                        "default": [
                            "NYC"
                        ],
                        "items": {
                            "type": "string"
                        }
                    },
                    "resultsLimit": {
                        "title": "📊 Results Limit",
                        "minimum": 1,
                        "maximum": 500,
                        "type": "integer",
                        "description": "Max pages to scrape across all queries. Higher = more data, longer run.",
                        "default": 10
                    },
                    "proxyConfiguration": {
                        "title": "🌐 Proxy",
                        "type": "object",
                        "description": "Optional. No proxy by default. Auto fallback to datacenter → residential if blocked."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
