# CrowdPull Facebook Profile Scraper

> CrowdPull Facebook Profile 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 profile pages and returns structured profile data as a dataset via an async job.

## Facts

- Endpoint: POST https://crowdpull.click/api/actors/facebook-profile-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-profile-scraper-6cf0dad7
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_cwozJ9y5tNh-3Y_gNinqx

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-profile-scraper-6cf0dad7 -d '<json body>'
```

Example prompt: Can you scrape the public Facebook profiles at facebook.com/nasa and facebook.com/SpaceX and pull up to 50 posts from each, going back to January 2024?

## When to prefer this

Use this endpoint when you need to programmatically extract structured public data from one or more Facebook profiles at scale, without maintaining your own scraping infrastructure. Prefer this over general web scrapers when the target is specifically Facebook profiles and you need fields like posts, bio, followers, and page metadata in a structured dataset format.

## Known failure modes

- Invalid or private Facebook profile URLs return empty results or job errors
- Exceeding maxItems/maxResults limits (250) causes validation failure
- Facebook rate limiting or anti-scraping measures may result in partial data
- Job timeout if waitForFinishSeconds is too short for large collections
- Non-public profiles return no data due to access restrictions
- Malformed URL input causes job to fail at the runner level

## 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 (with ID, status, and result set ID) representing an async CrowdPull collection job. The agent must poll or retrieve results using the job ID and token to get the actual structured Facebook profile data once the job completes.

## 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
    },
    "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
    },
    "profileUrls": {
     "type": "array",
     "items": {
      "type": "string"
     }
    },
    "searchQuery": {
     "type": "string",
     "description": "Search query or keyword."
    },
    "includeDetails": {
     "type": "boolean",
     "default": false
    }
   },
   "description": "Facebook Profile 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-profile-scraper-6cf0dad7/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)
