# CrowdPull Facebook Page Posts Scraper

> CrowdPull Facebook Page Posts Scraper is a paid API for AI agents from crowdpull.click, paid per call via x402, $0.04/call, status unknown (last checked 2026-09-13).

Scrapes public posts from one or more Facebook pages and returns structured post data as a dataset job.

## Facts

- Endpoint: POST https://crowdpull.click/api/actors/facebook-page-posts-scraper/call
- Price: $0.04/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-13
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/crowdpull-facebook-page-posts-scraper-302788ae
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_z0yQw8JULCIczX9XhZjNs

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability crowdpull-facebook-page-posts-scraper-302788ae -d '<json body>'
```

Example prompt: Pull the last 50 posts from the Coca-Cola Facebook page (https://www.facebook.com/CocaCola) going back to January 1 2025 so I can analyze what they've been posting about.

## When to prefer this

Use this endpoint when you need to extract public posts from specific Facebook pages at scale without managing your own scraping infrastructure. Prefer it over generic web scrapers when targeting Facebook specifically, and over manual data collection when you need structured, dataset-ready output. Best suited for competitive intelligence, brand monitoring, social media research, and content aggregation use cases where Facebook is the source.

## Known failure modes

- Private or restricted Facebook page returns no posts or empty dataset
- Invalid or malformed Facebook page URL causes job failure or zero results
- maxPosts exceeds 250 — capped at maximum allowed value
- Job times out before completion if waitForFinishSeconds is too low for large post counts
- Facebook rate-limiting or anti-scraping measures may cause partial results
- Payment failure via x402 protocol prevents job from starting
- sinceDate in unrecognized format may be ignored or cause errors

## How this service works

CrowdPull turns public web pages into useful datasets for marketplaces, housing, reviews, jobs, social posts, drug prices, video, and public records.

## Output

Returns a JSON object containing a job token and a job object with an ID, status string, and optionally a resultSetId. The actual scraped Facebook posts are available via the resultSetId once the job completes. The job runs asynchronously; the initial response confirms submission and provides a handle to poll for results.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "input": {
   "type": "object",
   "required": [],
   "properties": {
    "url": {
     "type": "string",
     "description": "Single public URL accepted by the selected source."
    },
    "urls": {
     "type": "array",
     "items": {
      "type": "string"
     },
     "description": "Public URLs accepted by the selected source."
    },
    "query": {
     "type": "string",
     "description": "Search query or keyword."
    },
    "location": {
     "type": "string",
     "description": "City, ZIP, state, neighborhood, or source-supported location."
    },
    "maxItems": {
     "type": "integer",
     "default": 25,
     "maximum": 250,
     "minimum": 1
    },
    "maxPosts": {
     "type": "integer",
     "maximum": 250,
     "minimum": 1
    },
    "pageUrls": {
     "type": "array",
     "items": {
      "type": "string"
     }
    },
    "sinceDate": {
     "type": "string"
    },
    "startUrls": {
     "type": "array",
     "items": {
      "type": "string"
     },
     "description": "Public source URLs to collect from."
    },
    "maxResults": {
     "type": "integer",
     "default": 25,
     "maximum": 250,
     "minimum": 1
    },
    "maxListings": {
     "type": "integer",
     "default": 25,
     "maximum": 250,
     "minimum": 1
    },
    "searchQuery": {
     "type": "string",
     "description": "Search query or keyword."
    },
    "includeDetails": {
     "type": "boolean",
     "default": false
    }
   },
   "description": "Facebook Page Posts Scraper input. Pass the same public URLs, search terms, filters, and limits you would use on the source page. Extra source-specific fields are forwarded to the runner.",
   "additionalProperties": true
  },
  "options": {
   "type": "object",
   "properties": {
    "build": {
     "type": "string",
     "maxLength": 100,
     "minLength": 1
    },
    "memory": {
     "type": "integer",
     "maximum": 8192,
     "minimum": 128
    },
    "waitForFinishSeconds": {
     "type": "integer",
     "default": 10,
     "maximum": 60,
     "minimum": 0
    }
   },
   "description": "Optional CrowdPull job options. CrowdPull caps each paid job so low-cost agent calls cannot accidentally start a large collection.",
   "additionalProperties": false
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "type": "object",
  "required": [
   "token",
   "job"
  ],
  "properties": {
   "job": {
    "type": "object",
    "required": [
     "id",
     "status"
    ],
    "properties": {
     "id": {
      "type": "string"
     },
     "status": {
      "type": "string"
     },
     "resultSetId": {
      "type": "string"
     }
    },
    "additionalProperties": true
   },
   "token": {
    "type": "string"
   }
  },
  "additionalProperties": false
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/crowdpull-facebook-page-posts-scraper-302788ae/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from crowdpull.click](https://www.zero.xyz/host/crowdpull.click/llms.txt)
