# Facebook Pages & Profiles Scraper \[$7/1K💰] (`ahmed_jasarevic/facebook-pages-profiles-scraper`) Actor

Scrape public Facebook Pages and Profiles for names, categories, followers, contact details, addresses, ratings, hours, photos and verification data. $7 per 1,000 results.

- **URL**: https://apify.com/ahmed_jasarevic/facebook-pages-profiles-scraper.md
- **Developed by:** [Ahmed Jasarevic](https://apify.com/ahmed_jasarevic) (community)
- **Features:** Limited permissions
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $4.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Facebook Pages & Profiles Scraper – Public Page Data

Scrape public **Facebook Pages and Profiles** for names, categories, followers, contact details, addresses, websites, ratings, business hours, photos, verification data and Ad Library information. Get one clean row per Page or Profile. **$7 per 1,000 results.**

### Turn Facebook Pages Into Structured Lead And Research Data

Facebook Pages hold a wealth of public business information, but it is spread across profile headers, About sections, ratings, service lists and transparency panels. This Actor collects that public data and returns it as structured records for lead generation, CRM enrichment, competitor tracking and market research.

- **Build lead lists** — collect public business names, emails, phones, addresses and websites.
- **Enrich CRM records** — add official Page names, categories and social links.
- **Track competitors** — monitor follower counts, ratings and public Page changes.
- **Verify Pages** — use confirmed owner, verification and Ad Library data.
- **Research profiles** — capture public bio, work, education and location fields.

### How It Works

![How the Facebook Pages & Profiles Scraper works: from a public Page or Profile link to structured records.](https://api.apify.com/v2/key-value-stores/oeuA0kLOyhbRM4fzt/records/how-it-works-facebook-pages-profiles-scraper.webp)

The Actor opens each public Page or Profile you provide, reads the visible profile information and normalizes it into one dataset row. Add Page URLs, Profile URLs, `profile.php?id=` URLs or plain Page names. Enable About enrichment when you need contact, hours, services and transparency fields.

- One row per successful Page or Profile.
- Failed URLs return a free error item with a clear reason.
- No Facebook account is required.
- Private Profiles and login-only content are not accessible.

### What You Can Scrape

#### Facebook Pages

Public business, brand, organization, creator and community Pages. Results can include category, followers, likes, intro text, contact details, address, website, rating, business hours, services, price range, photos and verification data.

#### Facebook Profiles

Public personal Profiles that expose information to visitors. Profile results can include display name, bio, work, education, city, relationship status, profile pictures and other public intro fields. Personal Profiles usually expose less data than business Pages.

#### About Sections

Enable `scrapeAbout` to add postal addresses, business hours, services, price range, detailed contact fields, Page transparency data and confirmed owner information when Facebook publishes them.

### Input – Configure A Facebook Run

| Field | Type | Default | Notes |
|---|---|---|---|
| `startUrls` | array | UN Climate Change example | Public Page URLs, Profile URLs, `profile.php?id=` URLs or plain Page names |
| `scrapeAbout` | boolean | `false` | Adds contact, hours, services, price range and transparency fields |
| `maxConcurrency` | integer | `20` | Advanced performance setting; higher values finish faster but may reduce reliability |
| `proxy` | object | Apify Proxy on | Standard Apify Proxy configuration |
| `requestTimeoutSecs` | integer | `45` | Advanced reliability setting for slow public Pages |
| `maxRequestRetries` | integer | `2` | Retries for URLs that do not load on the first attempt |

### Output – Page And Profile Fields

Each dataset item can contain:

- `facebookUrl`, `pageUrl`, `pageName`, `pageId`, `facebookId`
- `title`, `pageType`, `category`, `categories`
- `intro`, `about_me`
- `followers`, `followings`, `likes`, `talkingAbout`, `wereHere`
- `email`, `phone`, `address`
- `website`, `websites`, `messenger`, `socialMedia`
- `rating`, `ratingOverall`, `ratingCount`
- `businessHours`, `services`, `priceRange`
- `profilePictureUrl`, `coverPhotoUrl`, `profilePhoto`
- `verified`, `confirmed_owner`, `creation_date`, `ad_status`
- `pageAdLibrary`
- `isPersonalProfile`, `personalProfile`, `additionalProperties`
- `error`, `errorDescription` on failed URLs
- `scrapedAt`

### Example Input – Pages, A Profile And About Data

```json
{
  "startUrls": [
    { "url": "https://www.facebook.com/UNclimatechange" },
    { "url": "https://www.facebook.com/NASA" },
    { "url": "https://www.facebook.com/zuck" }
  ],
  "scrapeAbout": true,
  "maxConcurrency": 10
}
```

### Example Output – UN Climate Change Page

```json
{
  "facebookUrl": "https://www.facebook.com/UNclimatechange",
  "pageUrl": "https://www.facebook.com/UNclimatechange",
  "pageName": "UNclimatechange",
  "pageId": "100067499490396",
  "title": "UN Climate Change",
  "categories": ["Page", "Organization"],
  "category": "Organization",
  "followers": 521943,
  "followings": 118,
  "talkingAbout": 1108,
  "wereHere": 2113,
  "intro": "The official Facebook page of the United Nations Framework Convention on Climate Change (UNFCCC).",
  "phone": "+49 228 8151000",
  "address": "Platz der Vereinten Nationen 1, Bonn, Germany",
  "website": "https://unfccc.int/",
  "websites": ["https://unfccc.int/"],
  "verified": true,
  "confirmed_owner": "United Nations Framework Convention on Climate Change (UNFCCC) is responsible for this Page.",
  "ad_status": "This Page isn't currently running ads.",
  "profilePictureUrl": "https://scontent.example/photo.jpg",
  "coverPhotoUrl": "https://scontent.example/cover.jpg",
  "scrapedAt": "2026-10-30T12:03:46.993Z"
}
```

### Export Page Data To JSON, CSV Or Excel And Schedule Runs

Download results as JSON, CSV, Excel or XML from the run page or through the Apify API. Connect runs to Google Sheets, Make, Zapier or webhooks, or schedule daily and weekly refreshes to track Page growth and new public contact data.

### Related Actors

- [Google Search Scraper](https://apify.com/ahmed_jasarevic/google-search-scraper) — research brands and public Page mentions
- [Google Maps Scraper](https://apify.com/apify/google-maps-scraper) — add local business ratings and addresses
- [Contact Details Scraper](https://apify.com/ahmed_jasarevic/contact-details-scraper) — enrich business websites with emails and phones
- [Website Content Crawler](https://apify.com/apify/website-content-crawler) — collect public website text for research

### FAQ

#### What is Facebook Pages & Profiles Scraper?

It is an Apify Actor that turns public Facebook Page and Profile information into structured dataset rows for lead generation, research and CRM enrichment.

#### Do I need a Facebook account?

No. The Actor reads only information that Facebook makes publicly visible and never asks for your Facebook credentials.

#### Can I scrape private Profiles?

No. Private Profiles and content that requires login are not accessible.

#### Why are some Pages missing fields?

Facebook does not publish every field for every Page. Contact details, ratings, hours and services appear only when the Page owner has made them public.

#### Why is `likes` sometimes empty?

Facebook replaced Page likes with followers on most Pages and no longer displays a like count.

#### Why do some URLs return an error?

A Page or Profile may be unavailable because of privacy settings, regional restrictions, age restrictions or a login requirement. Each failed URL returns an error item without a result charge.

#### Can I scrape a single Page?

Yes. Pass one Page or Profile URL in `startUrls`.

#### How much does it cost?

FREE users pay **$0.007 per result** ($7 per 1,000), BRONZE pays **$0.006**, SILVER pays **$0.005** and GOLD+ pays **$0.004**, plus a small Actor Start event. Failed URLs are not charged as results.

#### Is scraping Facebook legal?

This Actor collects only publicly visible data. Results may contain personal data protected by GDPR or similar laws. Use the data responsibly and consult a lawyer if you are unsure about your use case.

### For AI Agents & LLM Apps

Returns one row per public Facebook Page or Profile with audience, contact, location, rating, hours, photo and verification fields.

Minimal working input:

```json
{ "startUrls": [{ "url": "https://www.facebook.com/NASA" }], "scrapeAbout": false }
```

Output fields: `facebookUrl, pageUrl, pageName, pageId, title, pageType, category, categories, intro, followers, followings, likes, talkingAbout, wereHere, email, phone, address, website, websites, socialMedia, rating, ratingOverall, ratingCount, businessHours, services, priceRange, profilePictureUrl, coverPhotoUrl, verified, confirmed_owner, ad_status, pageAdLibrary, isPersonalProfile, additionalProperties, scrapedAt`.

Behaviors an agent should know:

- `startUrls` accepts Page URLs, Profile URLs, `profile.php?id=` URLs, `/people/...` URLs and plain Page names.
- `scrapeAbout: true` adds contact, hours, services, price range and transparency fields but takes longer.
- Personal Profiles usually return fewer fields than business Pages.
- Missing values are returned as `null` or `[]`; failed URLs include `error` and `errorDescription`.
- Image URLs may expire, so download images you need to keep.
- Results are charged per saved dataset item; failed URLs are free.

Billing: **$0.007 per result** on FREE ($7 per 1,000), $0.006 on BRONZE, $0.005 on SILVER and $0.004 on GOLD+, plus a small Actor Start event.

### Legal & Compliance Disclaimer

This Actor is an independent tool. It is not affiliated with, endorsed by or sponsored by Meta or Facebook.

It collects only publicly visible Page and Profile information. Results may include personal data protected by GDPR, CCPA or similar laws. Users are responsible for having a lawful basis for processing personal data, respecting Facebook's terms and applicable marketing or privacy law. Nothing here is legal advice.

### SEO Keywords

facebook pages scraper, facebook profile scraper, facebook page data, facebook pages api, facebook profiles api, public facebook data, facebook page followers, facebook page contact details, facebook business pages, facebook page leads, facebook profile data, facebook page category, facebook page address, facebook page reviews, facebook page verification, facebook ad library, social media data, facebook pages export

# Actor input Schema

## `startUrls` (type: `array`):

Public Facebook Page URLs, Profile URLs, profile.php?id= URLs, or plain Page names such as "humansofnewyork".

## `scrapeAbout` (type: `boolean`):

Fetch the About section for each Page to get postal addresses, business hours, services, detailed contact fields, and page transparency data. This adds one extra request per Page, makes the run slower and uses more memory.

## `maxConcurrency` (type: `integer`):

How many Pages are scraped in parallel. HTTP scraping is fast, so 20 is a good default. Values above 50 may trigger Facebook rate limits.

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

Facebook blocks most datacenter IPs. Apify residential proxies are the most reliable option. You can also use your own proxy URLs.

## `requestTimeoutSecs` (type: `integer`):

Maximum time to wait for a single Facebook response.

## `maxRequestRetries` (type: `integer`):

How many times a blocked or failed request is retried before it is reported as an error.

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://www.facebook.com/UNclimatechange"
    },
    {
      "url": "https://www.facebook.com/NASA"
    }
  ],
  "scrapeAbout": false,
  "maxConcurrency": 20,
  "proxy": {
    "useApifyProxy": true
  },
  "requestTimeoutSecs": 45,
  "maxRequestRetries": 2
}
```

# Actor output Schema

## `pages` (type: `string`):

One item per Facebook Page or Profile, including contact details, audience stats, images and transparency data.

## `runSummary` (type: `string`):

Which Pages succeeded, failed or were skipped, and why.

# 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 = {
    "startUrls": [
        {
            "url": "https://www.facebook.com/UNclimatechange"
        },
        {
            "url": "https://www.facebook.com/NASA"
        }
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("ahmed_jasarevic/facebook-pages-profiles-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 = { "startUrls": [
        { "url": "https://www.facebook.com/UNclimatechange" },
        { "url": "https://www.facebook.com/NASA" },
    ] }

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

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

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

```

## CLI example

```bash
echo '{
  "startUrls": [
    {
      "url": "https://www.facebook.com/UNclimatechange"
    },
    {
      "url": "https://www.facebook.com/NASA"
    }
  ]
}' |
apify call ahmed_jasarevic/facebook-pages-profiles-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,ahmed_jasarevic/facebook-pages-profiles-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

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