# Agent402 Farcaster User Casts Fetcher

> Agent402 Farcaster User Casts Fetcher is a paid API for AI agents from agent402.tools, paid per call via x402, $0.004/call, status unknown (last checked 2026-09-15).

Fetches recent casts (posts) by a Farcaster user, optionally filtered by channel or including replies, returning paginated cast metadata.

## Facts

- Endpoint: POST https://agent402.tools/api/fc-user-casts
- Price: $0.004/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/agent402-farcaster-user-casts-fetcher-679aa982
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_O07T7BVZHskxwvtMm24_p

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 agent402-farcaster-user-casts-fetcher-679aa982 -d '<json body>'
```

Example prompt: Can you pull the last 50 casts from Farcaster user @dwr, including only posts in the 'ethereum' channel and no replies?

## When to prefer this

Choose this endpoint when you need structured, paginated access to a Farcaster user's cast history with engagement metadata, especially when you want to filter by channel or toggle reply inclusion. It is backed by Neynar, making it reliable for production agent workflows. Prefer it over scraping Warpcast directly or building your own Farcaster client.

## Known failure modes

- Missing both fid and username returns a validation error
- Invalid or unknown fid/username returns empty casts array or upstream error
- Invalid cursor string causes pagination failure
- Upstream Neynar rate limit exceeded returns rate limit error
- Channel ID not found returns empty results
- limit out of range (below 1 or above 100) returns validation error

## How this service works

A Farcaster user's recent casts by fid or username, newest first, optionally including replies or limited to one channel. Compact cast shape with reactions, reply count and embed URLs. Use to read what a founder, builder or KOL has been posting, or to build a per-account timeline.

## Output

A JSON object containing an array of cast objects (each with hash, URL, text, author details, engagement counts, embeds, channel, and timestamp), total count, pagination cursor for the next page, cache status, data source, fetch timestamp, and current rate limit state.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "fid": {
   "type": "integer",
   "description": "Farcaster ID (one of fid/username required)."
  },
  "limit": {
   "type": "integer",
   "maximum": 100,
   "minimum": 1,
   "description": "Results per page (default 25)."
  },
  "cursor": {
   "type": "string",
   "description": "Opaque pagination cursor from a previous call's nextCursor."
  },
  "channel": {
   "type": "string",
   "description": "Only casts in this channel id."
  },
  "username": {
   "type": "string",
   "description": "Farcaster username, optional leading @ (one of fid/username required; costs one extra upstream lookup)."
  },
  "includeReplies": {
   "type": "boolean",
   "description": "Include the user's replies (default false)."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "fid": 3,
  "casts": [
   {
    "url": "https://warpcast.com/askew-ai/0xab5aca84",
    "hash": "0xab5aca846db8af6fa3dc2d25dc66171cd040def4",
    "text": "Paid an x402 endpoint for the first time today.",
    "author": {
     "fid": 3,
     "username": "dwr",
     "displayName": "Dan Romero",
     "followerCount": 630338
    },
    "embeds": [
     "https://example.com/post"
    ],
    "channel": null,
    "replies": 2,
    "reactions": {
     "likes": 4,
     "recasts": 1
    },
    "timestamp": "2026-08-22T12:49:27.000Z",
    "parentHash": null
   }
  ],
  "count": 1,
  "cached": false,
  "source": "neynar",
  "channel": null,
  "fetchedAt": "2026-08-22T13:19:12.000Z",
  "rateLimit": {
   "limit": 300,
   "resetAt": "2026-08-22T13:20:00.000Z",
   "remaining": 299
  },
  "nextCursor": "eyJ0aW1lc3RhbXAiOi...",
  "includeReplies": false
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/agent402-farcaster-user-casts-fetcher-679aa982/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from agent402.tools](https://www.zero.xyz/host/agent402.tools/llms.txt)
