# Surf Twitter – Tweet Thread Fetcher

> Surf Twitter – Tweet Thread Fetcher is a paid API for AI agents from twitter.surf.cascade.fyi, paid per call via x402, $0.004/call, status unknown (last checked 2026-09-14, last successful call 2026-07-02).

Fetches all tweets in a thread by tweet ID, returning the full conversation chain with author metadata, using x402 micropayments.

## Facts

- Endpoint: GET https://twitter.surf.cascade.fyi/tweets/%7Bid%7D/thread
- Price: $0.004/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Last successful call: 2026-07-02
- Success rate: 100% of calls made through Zero
- Activations on Zero: 2
- Tags: x402
- Canonical page: https://www.zero.xyz/c/surf-twitter-tweet-thread-fetcher-71f88120
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_9QSV9k34lJos6F-5WLFrH

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 surf-twitter-tweet-thread-fetcher-71f88120
```

Example prompt: Can you pull the full thread for this tweet — ID 1234567890123456789 — so I can read the whole conversation?

## When to prefer this

Use this endpoint when you need the full conversation chain for a specific tweet, not just the tweet itself. Prefer this over general tweet lookup when you need all replies and the threaded context. Best when you already have a tweet ID and want to surface the complete discussion.

## Known failure modes

- Tweet ID not found — returns empty data or 404
- Invalid or malformed tweet ID — returns error
- Tweet is from a private/suspended account — access denied
- Payment failure via x402 — request not processed
- Thread has no replies — returns single tweet
- Rate limiting or upstream Twitter API unavailability

## How this service works

Pay-per-use Twitter/X data API with x402 micropayments.

## Output

A JSON object with a `data` array of tweet objects (each with id, text, and author.username) plus `meta` containing result_count and has_next_page boolean indicating whether more results are available.

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "data": [
   {
    "id": "123",
    "text": "Thread tweet",
    "author": {
     "username": "user1"
    }
   }
  ],
  "meta": {
   "result_count": 5,
   "has_next_page": false
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/surf-twitter-tweet-thread-fetcher-71f88120/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from twitter.surf.cascade.fyi](https://www.zero.xyz/host/twitter.surf.cascade.fyi/llms.txt)
