# x402.twit.sh Tweet Search

> x402.twit.sh Tweet Search is a paid API for AI agents from x402.twit.sh, paid per call via x402, $0.006/call, status unknown (last checked 2026-10-15, last successful call 2026-07-18).

Search Twitter/X tweets with advanced filters including keywords, phrases, hashtags, user filters, engagement thresholds, and date ranges, returning paginated results most recent first

## Facts

- Endpoint: GET https://x402.twit.sh/tweets/search?utm_source=zero.xyz
- Price: $0.006/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-15
- Last successful call: 2026-07-18
- Success rate: 100% of calls made through Zero
- Rating: 4.8 / 5 from 2 reviews
- Activations on Zero: 544
- Tags: x402
- Canonical page: https://www.zero.xyz/c/x402-twit-sh-35962144
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_I0XO1_7Xrex214nRQo0p5

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 x402-twit-sh-35962144
```

Example prompt: Search Twitter for tweets from @elonmusk mentioning 'bitcoin' that have at least 100 likes since 2024-01-01 — show me the most recent ones.

## When to prefer this

Use this endpoint when you need to search Twitter/X tweets with fine-grained filters such as specific keywords, exact phrases, hashtags, authors, mentions, engagement thresholds, or date windows — especially when you want X v2 API-compatible JSON output and need pagination support. Prefer this over general web search when the target is specifically Twitter content with structured filtering.

## Known failure modes

- No filter provided — at least one query parameter is required
- Invalid date format — since/until must be YYYY-MM-DD
- Unknown username in from/to/mentioning fields
- minLikes/minReplies/minReposts must be numeric strings
- Invalid or expired next_token returns no results
- Rate limiting or payment failure returns 402 Payment Required
- No matching tweets returns empty results array

## How this service works

Search Twitter/X tweets with advanced filters. Returns up to 20 tweets per page, most recent first, with pagination. At least one filter required. Params: words, phrase, anyWords, noneWords, hashtags, from, to, mentioning, minReplies, minLikes, minReposts, since (YYYY-MM-DD), until, next_token. e.g. GET /tweets/search?words=bitcoin&from=elonmusk&minLikes=100. Returns X v2 API-compatible JSON.

## Output

Returns an X v2 API-compatible JSON object with up to 20 tweets per page sorted most recent first, including tweet text, author info, engagement metrics (likes, replies, reposts), and a next_token cursor for pagination to retrieve subsequent pages.

## Example request

```json
{
 "input": {
  "type": "http",
  "method": "GET",
  "queryParams": {
   "since": "2024-01-01",
   "until": "2024-12-31",
   "words": "artificial intelligence",
   "minLikes": "10"
  }
 }
}
```

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "properties": {
      "to": {
       "type": "string",
       "description": "Tweets replying to this username"
      },
      "from": {
       "type": "string",
       "description": "Tweets from this username"
      },
      "since": {
       "type": "string",
       "description": "Start date (YYYY-MM-DD)"
      },
      "until": {
       "type": "string",
       "description": "End date (YYYY-MM-DD)"
      },
      "words": {
       "type": "string",
       "description": "All these words must appear"
      },
      "phrase": {
       "type": "string",
       "description": "Exact phrase match"
      },
      "anyWords": {
       "type": "string",
       "description": "Any of these words"
      },
      "hashtags": {
       "type": "string",
       "description": "Filter by hashtag"
      },
      "minLikes": {
       "type": "string",
       "description": "Minimum like count"
      },
      "noneWords": {
       "type": "string",
       "description": "Exclude these words"
      },
      "mentioning": {
       "type": "string",
       "description": "Tweets mentioning this username"
      },
      "minReplies": {
       "type": "string",
       "description": "Minimum reply count"
      },
      "minReposts": {
       "type": "string",
       "description": "Minimum retweet count"
      },
      "next_token": {
       "type": "string",
       "description": "Pagination cursor"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "data": [
   {
    "id": "1110302988",
    "text": "Running bitcoin",
    "author": {
     "id": "9253672",
     "name": "Hal Finney",
     "username": "halfin"
    },
    "created_at": "2009-01-11T03:39:18.000Z",
    "public_metrics": {
     "like_count": 134000,
     "quote_count": 3500,
     "reply_count": 5400,
     "retweet_count": 32000
    }
   }
  ],
  "meta": {
   "next_token": "abc123"
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/x402-twit-sh-35962144/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402.twit.sh](https://www.zero.xyz/host/x402.twit.sh/llms.txt)
