# Facebook Pages Scraper - $0.10/1k, No Login (`dami_studio/facebook-pages-scraper`) Actor

Enrich thousands of Facebook Pages for a fraction of a cent each. Get the page name, category, canonical URL, likes, talking-about count, verified badge and cover image, with no login, no cookies and no residential proxy bill. The lowest price on the market: $0.10 per 1,000 pages.

- **URL**: https://apify.com/dami\_studio/facebook-pages-scraper.md
- **Developed by:** [Dami's Studio](https://apify.com/dami_studio) (community)
- **Categories:** Social media, Lead generation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.10 / 1,000 facebook pages

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 Pages Scraper

Extract current public Facebook Page metadata without a Facebook login. Provide public Page URLs and receive one structured row for every Page whose crawler-visible metadata is present at run time.

### What it returns

- Public Page name, handle, canonical Page URL, description, and preview image URL.
- Public likes and people-talking-about-this counts when Facebook exposes them in the current Page metadata.
- A deterministic uncharged diagnostic for bad input, a block, rate limiting, an unavailable Page, or missing public crawler metadata.

Only genuine `page` rows are chargeable. Samples and diagnostics are not charged.

### Input

```json
{
  "pageUrls": ["https://www.facebook.com/NASA"]
}
```

Leave `pageUrls` empty to receive one clearly labelled, uncharged sample row.

### Network behavior

The Actor requests every Page directly using Facebook's crawler-facing metadata path. Residential proxy fallback is deliberately disabled so proxy transfer cannot turn large or blocked runs into losses. Blocked and rate-limited pages produce uncharged diagnostics. The Actor does not download images.

### Scope and limits

- Public Page URLs only. Groups, Marketplace, Events, posts, and personal-profile extraction are intentionally outside this actor's scope.
- A run accepts at most 10 distinct Page URLs to bound target load and runtime.
- Facebook may omit counts or change its anonymous metadata. Missing data stays `null`; no Page row is emitted where the public page itself cannot be validated.

### Pricing

- `$0.004` once after a run accepts at least one valid Page URL.
- `$0.0001` for each genuine Facebook Page row.
- Empty samples and invalid-only inputs are uncharged. Blocked pages and diagnostics add no per-page charge.

Use public data in accordance with applicable law and Facebook's terms.

### Billing

Two charges apply: a **$0.001 run-start fee** each time a run begins, and the per-result fee for results actually delivered. Samples, diagnostics, duplicates, blocked look-ups and no-result runs **never incur the per-result fee** — a run that returns nothing costs only the $0.001 start fee.

# Actor input Schema

## `pageUrls` (type: `array`):

Public page URLs such as https://www.facebook.com/NASA. Empty input returns one clearly labelled, uncharged sample row.

## Actor input object example

```json
{
  "pageUrls": []
}
```

# Actor output Schema

## `dataset` (type: `string`):

No description

# 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 = {};

// Run the Actor and wait for it to finish
const run = await client.actor("dami_studio/facebook-pages-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 = {}

# Run the Actor and wait for it to finish
run = client.actor("dami_studio/facebook-pages-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 '{}' |
apify call dami_studio/facebook-pages-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/A1I95OXfYlneH18k9/builds/B9OM1UA5thIcVmrsf/openapi.json
