# Twitter/X Profile Posts Scraper (x402)

> Twitter/X Profile Posts Scraper (x402) is a paid API for AI agents from x402.186-241-26-229.sslip.io, paid per call via x402, $0.025/call, status unknown (last checked 2026-10-02).

Scrapes and returns structured post data from one or more public Twitter/X profile pages, charged per successful call via x402 micropayment.

## Facts

- Endpoint: POST https://x402.186-241-26-229.sslip.io/v1/twitter-profiles?utm_source=zero.xyz
- Price: $0.025/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-02
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/twitter-x-profile-posts-scraper-x402-32bb72b1
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_S6U3kTw1gNxF7fBD25jut

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 twitter-x-profile-posts-scraper-x402-32bb72b1 -d '<json body>'
```

Example prompt: Scrape the last 5 posts from these Twitter profiles — https://x.com/elonmusk and https://x.com/sama — and give me the post text and timestamps, skipping any pinned posts.

## When to prefer this

Choose this endpoint when you need structured post data from public Twitter/X profiles without using the official Twitter API (which requires developer credentials and has strict rate limits). Ideal for agent workflows that require pay-per-use pricing with no monthly subscription, and where failed or empty scrapes should not be billed. Best for monitoring, research, or content aggregation across a handful of profiles per call.

## Known failure modes

- Private or suspended account returns empty result (not charged)
- Invalid or malformed profile URL causes scrape failure
- Rate limiting or blocking by Twitter/X may return empty results (not charged)
- profileUrls array missing or empty returns error
- resultsLimit exceeds maximum of 5 causes validation error

## How this service works

Pay-per-call structured web data. Failed or empty runs are not charged.

## Output

Returns a JSON object with a count of items, the product name ('twitter-profiles'), and an array of post objects each containing post text, post ID, post URL, timestamp, author info, media, profile URL, and conversation ID. Null fields indicate unavailable data. Only successful, non-empty scrapes are charged.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "maxItems": {
   "type": "integer",
   "default": 0,
   "minimum": 0,
   "description": "Maximum posts across all profiles. Zero means no additional total cap."
  },
  "profileUrls": {
   "type": "array",
   "items": {
    "type": "string"
   },
   "description": "Public x.com or twitter.com profile URLs. The actor saves up to five initial posts per profile."
  },
  "resultsLimit": {
   "type": "integer",
   "default": 5,
   "maximum": 5,
   "minimum": 1,
   "description": "Maximum posts to save per profile, up to the five available on the public first page."
  },
  "skipPinnedPosts": {
   "type": "boolean",
   "default": false,
   "description": "Exclude posts marked as pinned on the public profile page."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "count": 1,
  "items": [
   {
    "media": null,
    "author": null,
    "postId": null,
    "postUrl": null,
    "postText": null,
    "timestamp": null,
    "profileUrl": null,
    "conversationId": null
   }
  ],
  "product": "twitter-profiles"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/twitter-x-profile-posts-scraper-x402-32bb72b1/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402.186-241-26-229.sslip.io](https://www.zero.xyz/host/x402.186-241-26-229.sslip.io/llms.txt)
