# CrowdPull Facebook Group Posts Scraper

> CrowdPull Facebook Group 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-14).

Scrapes public Facebook group posts and returns structured post data as a dataset job

## Facts

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

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-group-posts-scraper-824ddcb4 -d '<json body>'
```

Example prompt: Can you scrape the last 50 posts from these two public Facebook groups — facebook.com/groups/realestateinvestorsnyc and facebook.com/groups/nychousingmarket — going back to posts since January 1, 2024?

## When to prefer this

Use this endpoint when you need to extract structured post data from one or more public Facebook groups at scale, especially for research, market analysis, or monitoring community discussions. Prefer this over general web scraping tools when the target is specifically Facebook groups and you need up to 250 posts per job in a structured dataset format.

## Known failure modes

- Private or restricted Facebook group URL returns no data or access error
- Invalid URL format causes job to fail at startup
- maxPosts exceeds 250 cap and is rejected
- Job times out before scraping completes if waitForFinishSeconds is too low
- Facebook rate-limiting or anti-bot measures cause partial or empty result set
- Payment of 0.04 USDC fails due to insufficient balance

## 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 job token and job object containing a job ID, status string, and optional result set ID. The agent must poll or retrieve results using the job ID/token to get the actual scraped Facebook post records.

## 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
    },
    "groupUrls": {
     "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 Group 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-group-posts-scraper-824ddcb4/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)
