# Facebook Posts Scraper (`scrapier/facebook-posts-scraper`) Actor

This Facebook Posts Scraper extracts text posts, media, reactions, shares, comments, and metadata from public pages and profiles. Ideal for trend tracking, social listening, competitor analysis, and building large-scale Facebook intelligence.

- **URL**: https://apify.com/scrapier/facebook-posts-scraper.md
- **Developed by:** [Scrapier](https://apify.com/scrapier) (community)
- **Categories:** Automation, Social media, Lead generation
- **Stats:** 86 total users, 4 monthly users, 100.0% runs succeeded, 2 bookmarks
- **User rating**: 5.00 out of 5 stars

## Pricing

$24.99/month + usage

To use this Actor, you pay a monthly rental fee to the developer. The rent is subtracted from your prepaid usage every month after the free trial period.You also pay for the Apify platform usage, which gets cheaper the higher Apify subscription plan you have.

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

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

### 🧩 What does Facebook Posts Scraper do?

A Facebook Posts Scraper is a powerful automation tool that helps you extract public posts, comments, reactions, timestamps, media links, and engagement metrics from Facebook pages, groups, and profiles — all without manual copy-pasting. ✨  
It is widely used by marketers, researchers, data analysts, and social media agencies who need structured Facebook insights at scale.

Whether you're using an Apify Facebook Posts Scraper, a Facebook post scraper extension, or a Facebook posts scraper Python script, the goal remains the same: turning raw Facebook data into actionable insights.

From improving SEO strategies to powering competitor analysis and audience research, a well-optimized Facebook posts scraper gives you a measurable advantage in content planning and social listening. 🔍📊

  

### 📥 What Facebook Posts Scraper Can I Extract?

Here’s a clear breakdown of the data types a Facebook Posts Scraper can extract (supports Apify, Python, GitHub tools, and browser extensions):

#### 📊 Extractable Data Table

| Data Type | Description | Example Use |
| --- | --- | --- |
| Post Text | Main text content of the Facebook post | Content research, sentiment analysis |
| Post ID | Unique identifier for each post | Tracking & referencing |
| Timestamps | When the post was published | Trend analysis |
| Author Details | Name or page posting the content | Competitor insights |
| Reactions | Likes, love, wow, etc. | Engagement analytics |
| Comments | Text + author + timestamps | Customer feedback research |
| Shares Count | Number of shares | Virality tracking |
| Media Links | Images, videos, external link previews | Content curation |
| Hashtags | Extracted keywords | SEO & tagging strategy |

  

#### ⭐ Key Features of Facebook Posts Scraper

A top-tier Facebook Posts Scraper (Apify, GitHub, or browser extension) comes with a wide range of user-friendly features. Here are the most important ones:

*   🔍 Multi-source extraction — scrape posts from pages, groups, and profiles.  
      
    
*   ⚡ Fast data processing — extract hundreds or thousands of posts quickly.  
      
    
*   📂 Export formats — JSON, CSV, Excel, API integration.  
      
    
*   🤖 Automation-ready — schedule recurring scrapes for continuous monitoring.  
      
    
*   🌎 Supports multiple tools — works with Facebook posts scraper Python, GitHub repositories, and Facebook post scraper Chrome extensions.  
      
    
*   🧠 Smart parsing — automatically extracts reactions, comments, shares, and media.  
      
    
*   🔐 Privacy-aware — scrapes only publicly accessible data.  
      
    
*   💡 SEO & marketing friendly — provides insights to optimize content strategies.  
      
    
*   🔄 Pagination & infinite-scroll handling — useful for large page histories.  
      
    
*   🧩 Easy input configuration — URLs, keywords, or group/page IDs
    

### 🛠️ How to Use Facebook Posts Scraper?

Follow this simple step-by-step guide to extract Facebook posts effortlessly — perfect for Apify users, but also relevant for Python and GitHub versions.

#### 🔧 Step-by-Step Guide

1.  Log in to Apify — Create a free account or sign in.  
      
    
2.  Select the Actor — Search for “Facebook Posts Scraper” or Apify Facebook Posts Scraper.  
      
    
3.  Enter Input Data — Paste Facebook page/group URLs into the startUrls field.  
      
    
4.  Choose Options — Select the number of posts, filters, or media extraction preferences.  
      
    
5.  Run the Actor — Hit Start. The scraper will automatically fetch all Facebook posts.  
      
    
6.  Download Results — Export as JSON, CSV, or Excel for analysis.
    

  

### 🎯 Use Cases

A Facebook Posts Scraper unlocks powerful use cases across industries. Here’s what you can do:

*   📈 Marketing & Social Media Analysis — Track competitor content, top-performing posts, and engagement trends.  
      
    
*   📰 Journalism & Research — Monitor public conversations, analyze group discussions, and gather insights from communities.  
      
    
*   🧩 Product Feedback Mining — Extract comments to discover customer needs and complaints.  
      
    
*   📊 Brand Monitoring — Identify brand mentions across Facebook pages and groups.  
      
    
*   🤝 Lead Generation — Analyze audience behavior in niche groups.  
      
    
*   🧠 AI/ML Dataset Creation — Build datasets for sentiment analysis or NLP.  
      
    
*   🛒 E-commerce Trend Tracking — Identify viral products in Facebook groups.
    

  

### 💙 Why Choose Us?

Choosing our Facebook Posts Scraper means choosing performance, reliability, and ease of use. Here’s what sets us apart:

*   🚀 Industry-leading speed — Extract thousands of posts in minutes.  
      
    
*   ✔️ No coding required — Perfect for beginners and experts.  
      
    
*   🔧 Flexible setup — Ideal for marketers, developers, and analysts.  
      
    
*   🔒 Secure & compliant — We scrape only publicly accessible data.  
      
    
*   🌐 Cloud-powered automation — Schedule tasks and run scraping 24/7.  
      
    
*   📊 Clean, structured output — Ready for spreadsheets, dashboards, or APIs.  
      
    
*   🤖 Developer-friendly — Works seamlessly with Python, GitHub, and browser extensions.
    

### 📈 How many results can you scrape with Facebook Posts Scraper?

A high-performance Facebook Posts Scraper is designed to scale — whether you’re scraping 10 posts or 100,000+. Its cloud-based architecture (e.g., Apify Facebook Posts Scraper) ensures reliable extraction without slowing down your workflow.

#### 🚀 Scalability Breakdown

*   Small Scale (1–100 posts)  
    Perfect for quick research and editorial planning.  
      
    
*   Medium Scale (100–10,000 posts)  
    Ideal for competitor audits, trend analysis, or long-term monitoring.  
      
    
*   Large Scale (10,000+ posts)  
    Supports enterprise-level scraping, academic datasets, and machine-learning pipelines.  
      
    

With proper configuration, batching, and pagination handling, the scraper can process massive post archives from:

*   Facebook Pages  
      
    
*   Facebook Groups  
      
    
*   Public Profiles  
      
    

Whether you prefer a free Facebook post scraper, a Facebook post scraper extension, or a Facebook posts scraper Python project, scaling remains smooth and efficient.

### ⚖️ Is it legal to scrape Facebook Posts?

Scraping public Facebook posts is generally allowed when:

*   You scrape only publicly available information  
      
    
*   You respect Facebook’s Terms of Service  
      
    
*   You avoid bypassing login restrictions  
      
    
*   You comply with local data privacy laws (GDPR, CCPA, etc.)  
      
    

A Facebook Posts Scraper does not access private data or restricted content. It simply automates what a user could manually view on the platform.

For ethical compliance:

*   Don’t scrape personal data  
      
    
*   Use data responsibly  
      
    
*   Always follow platform rules
    

### 🧩 Input Parameters

#### 📥 JSON Input Example
```json
{
  "includeVideoTranscript": true,
  "oldestPostDateUnified": "2025-08-01",
  "proxyConfiguration": {
    "useApifyProxy": false
  },
  "startUrls": [
    "Cristiano"
  ],
  "maxPosts": 10
}
````

### 📤 Output Format

#### 📤 JSON Output Example

```json
   {
    "facebookUrl": "https://www.facebook.com/Cristiano/",
    "postId": "1528738675279334",
    "pageName": "Cristiano",
    "url": "https://www.facebook.com/Cristiano/posts/pfbid0Dxr2Kpiv5RNSvmqUeTNuSA1Ds1ZoAEE5pxh5YbKzMGWuwWo94hwmmCVEey2ZkgXLl",
    "time": "2026-01-11T19:09:27.000Z",
    "timestamp": 1768158567,
    "user": {
      "id": "100044296486382",
      "name": "Cristiano Ronaldo",
      "profileUrl": "https://www.facebook.com/100044296486382",
      "profilePic": "https://scontent.fdkr5-1.fna.fbcdn.net/v/t39.30808-1/448474001_1102716254548247_2613997786866384047_n.jpg?stp=cp0_dst-jpg_s80x80_tt6&_nc_cat=107&ccb=1-7&_nc_sid=2d3e12&_nc_ohc=Ol4uNlSPTX0Q7kNvwFwLUu1&_nc_oc=Adk7oNuuZIbBTa-09ICiGRt8xCtD7qs43Ur1CzCTHAGv7HBs2zUv1g44liQUaNlE1wQ&_nc_zt=24&_nc_ht=scontent.fdkr5-1.fna&_nc_gid=NmVD0-GbBjxRpnyQgZAGtg&oh=00_Afqt2Olm3FP4m5j3CUE72pYN1q07inthriiwm130y9kL8Q&oe=696AEAA1"
    },
    "text": "Let’s go 🟡🔵",
    "textReferences": [],
    "likes": 246196,
    "comments": 7972,
    "shares": 1256,
    "topReactionsCount": 7,
    "media": [
      {
        "mediaset_token": "pcb.1528738675279334",
        "url": "https://www.facebook.com/Cristiano/posts/pfbid0Dxr2Kpiv5RNSvmqUeTNuSA1Ds1ZoAEE5pxh5YbKzMGWuwWo94hwmmCVEey2ZkgXLl",
        "comet_product_tag_feed_overlay_renderer": null
      }
    ],
    "feedbackId": "ZmVlZGJhY2s6MTUyODczODY3NTI3OTMzNA==",
    "topLevelUrl": "https://www.facebook.com/100044296486382/posts/1528738675279334",
    "facebookId": "100044296486382",
    "pageAdLibrary": {
      "is_business_page_active": false,
      "id": "100044296486382"
    },
    "inputUrl": "https://www.facebook.com/Cristiano/"
  },
```

### ❓ FAQ

#### 1️⃣ Is there a free Facebook Posts Scraper?

Yes! You can use free Facebook post scrapers, GitHub tools, or open-source Python libraries.

#### 2️⃣ Can I scrape Facebook group posts?

Absolutely — a Facebook group posts scraper can extract data from public groups.

#### 3️⃣ Does this work with Python?

Yes — many users scrape Facebook posts using Python or the library from facebook\_scraper import get\_posts.

#### 4️⃣ Is there a Facebook post scraper Chrome extension?

Yes, several Chrome extensions allow lightweight Facebook scraping.

#### 5️⃣ Does Apify offer a Facebook Posts Scraper?

Yes — the Apify Facebook Posts Scraper is one of the most reliable options.

#### 6️⃣ Can I scrape Facebook posts online without coding?

Yes — the Facebook posts scraper online version (Apify) requires no programming.

#### 7️⃣ How many posts can I scrape at once?

Thousands — depending on your configuration and limits.

### 🏁 Conclusion

A Facebook Posts Scraper empowers marketers, researchers, and businesses to extract valuable Facebook data quickly and efficiently. 🚀 Whether using Apify, Python, GitHub tools, or browser extensions, it streamlines insights, boosts content strategy, and unlocks smarter decision-making—all while staying compliant and user-friendly. 💡

### 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 Search Scraper](https://apify.com/scrapier/facebook-posts-search-scraper) |
| [Facebook Followers Scraper](https://apify.com/scrapier/facebook-followers-scraper) | [Facebook Profile Email Scraper](https://apify.com/scrapier/facebook-profile-email-scraper) |
| [Facebook Group Member Scraper](https://apify.com/scrapier/facebook-group-member-scraper) | [Facebook Profile Lead Scraper](https://apify.com/scrapier/facebook-profile-lead-scraper) |
| [Facebook Group Post Scraper](https://apify.com/scrapier/facebook-group-post-scraper) | [Facebook Profile Phone Number Scraper](https://apify.com/scrapier/facebook-profile-phone-number-scraper) |
| [Facebook Group Posts And Details Scraper](https://apify.com/scrapier/facebook-group-posts-and-details-scraper) | [Facebook Reels Scraper](https://apify.com/scrapier/facebook-reels-scraper) |
| [Facebook Group Profile Scraper](https://apify.com/scrapier/facebook-group-profile-scraper) | [Facebook Reviews Scraper](https://apify.com/scrapier/facebook-reviews-scraper) |
| [Facebook Groups Posts Scraper](https://apify.com/scrapier/facebook-groups-posts-scraper) | [Facebook Search Scraper](https://apify.com/scrapier/facebook-search-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

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

📌 **Required.** Enter one or more Facebook *page* targets.

• **Full URL:** `https://www.facebook.com/nytimes/` or `https://www.facebook.com/Cristiano/`
• **Username only:** `nytimes`, `Cristiano`, `iamsrk` — the actor will turn these into full URLs.

You can mix URLs and usernames. Each target is scraped in sequence (one page after another) to reduce rate limits. 🔄

## `maxPosts` (type: `integer`):

🎯 **Limit how many posts to collect *per target page*.**

• Minimum: **1** — Maximum: **10,000**.
• Default: **10** — Good for quick tests.
• Increase for deeper timelines (e.g. 50–500). The actor stops once this count is reached for each page. 🛑

## `includeVideoTranscript` (type: `boolean`):

📝 **Capture video captions & transcripts!**

• **ON** ✨ — Extracts closed captions/transcripts from video & reel posts into the output.
• **OFF** — Video posts still appear with metadata, but no transcript text.

Default: **OFF** for faster scraping. Turn **ON** when you need subtitle/caption data. 🎬

## `oldestPostDateUnified` (type: `string`):

⏳ **Only include posts *after* this date.**

• **Absolute:** Pick a calendar date (e.g. `2024-01-01`).
• **Relative:** e.g. `7` days, `2` months, `1` year — counted backward from today.

Leave empty to allow posts from any past date. Combines with "Posts Older Than" for a window. 🗓️

## `newestPostDate` (type: `string`):

🛑 **Only include posts *before* this date.**

• **Absolute:** e.g. `2024-12-31`.
• **Relative:** e.g. `0` for “today” or a number of days/months/years ago.

Use together with "Posts Newer Than" to scrape a precise date range. Leave empty for no end limit. 📆

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

🛡️ **Anti-block & reliability.**

• The actor **prefers Apify Residential proxy** when available for higher success rates.
• If residential isn’t set, it falls back to **Apify Datacenter** proxy.
• You can optionally provide **custom proxy URLs** here as a fallback.

No proxy configuration is required for basic runs; the actor will use Apify proxy when possible. 🔒

## Actor input object example

```json
{
  "startUrls": [
    "iamsrk",
    "https://www.facebook.com/nytimes/"
  ],
  "maxPosts": 10,
  "includeVideoTranscript": false,
  "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 = {
    "startUrls": [
        "https://www.facebook.com/nytimes"
    ],
    "proxyConfiguration": {
        "useApifyProxy": false
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapier/facebook-posts-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": ["https://www.facebook.com/nytimes"],
    "proxyConfiguration": { "useApifyProxy": False },
}

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

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Facebook Posts Scraper",
        "description": "This Facebook Posts Scraper extracts text posts, media, reactions, shares, comments, and metadata from public pages and profiles. Ideal for trend tracking, social listening, competitor analysis, and building large-scale Facebook intelligence.",
        "version": "0.1",
        "x-build-id": "m6gIQlpAKkznKbXId"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/scrapier~facebook-posts-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-scrapier-facebook-posts-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-posts-scraper/runs": {
            "post": {
                "operationId": "runs-sync-scrapier-facebook-posts-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-posts-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-scrapier-facebook-posts-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": [
                    "startUrls"
                ],
                "properties": {
                    "startUrls": {
                        "title": "🔗 Facebook Page URLs or Usernames",
                        "type": "array",
                        "description": "📌 **Required.** Enter one or more Facebook *page* targets.\n\n• **Full URL:** `https://www.facebook.com/nytimes/` or `https://www.facebook.com/Cristiano/`\n• **Username only:** `nytimes`, `Cristiano`, `iamsrk` — the actor will turn these into full URLs.\n\nYou can mix URLs and usernames. Each target is scraped in sequence (one page after another) to reduce rate limits. 🔄",
                        "items": {
                            "type": "string"
                        }
                    },
                    "maxPosts": {
                        "title": "📊 Maximum Posts per Page",
                        "minimum": 1,
                        "maximum": 1000000,
                        "type": "integer",
                        "description": "🎯 **Limit how many posts to collect *per target page*.**\n\n• Minimum: **1** — Maximum: **10,000**.\n• Default: **10** — Good for quick tests.\n• Increase for deeper timelines (e.g. 50–500). The actor stops once this count is reached for each page. 🛑",
                        "default": 10
                    },
                    "includeVideoTranscript": {
                        "title": "🎥 Include Video Transcripts",
                        "type": "boolean",
                        "description": "📝 **Capture video captions & transcripts!**\n\n• **ON** ✨ — Extracts closed captions/transcripts from video & reel posts into the output.\n• **OFF** — Video posts still appear with metadata, but no transcript text.\n\nDefault: **OFF** for faster scraping. Turn **ON** when you need subtitle/caption data. 🎬",
                        "default": false
                    },
                    "oldestPostDateUnified": {
                        "title": "📅 Posts Newer Than (Start Date)",
                        "type": "string",
                        "description": "⏳ **Only include posts *after* this date.**\n\n• **Absolute:** Pick a calendar date (e.g. `2024-01-01`).\n• **Relative:** e.g. `7` days, `2` months, `1` year — counted backward from today.\n\nLeave empty to allow posts from any past date. Combines with \"Posts Older Than\" for a window. 🗓️"
                    },
                    "newestPostDate": {
                        "title": "⌛ Posts Older Than (End Date)",
                        "type": "string",
                        "description": "🛑 **Only include posts *before* this date.**\n\n• **Absolute:** e.g. `2024-12-31`.\n• **Relative:** e.g. `0` for “today” or a number of days/months/years ago.\n\nUse together with \"Posts Newer Than\" to scrape a precise date range. Leave empty for no end limit. 📆"
                    },
                    "proxyConfiguration": {
                        "title": "🌐 Proxy Settings",
                        "type": "object",
                        "description": "🛡️ **Anti-block & reliability.**\n\n• The actor **prefers Apify Residential proxy** when available for higher success rates.\n• If residential isn’t set, it falls back to **Apify Datacenter** proxy.\n• You can optionally provide **custom proxy URLs** here as a fallback.\n\nNo proxy configuration is required for basic runs; the actor will use Apify proxy when possible. 🔒"
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
