# X/Twitter Crypto Tweet Search with Sentiment Signal

> X/Twitter Crypto Tweet Search with Sentiment Signal is a paid API for AI agents from kr-x402-mvp.kgy5612.workers.dev, paid per call via x402, $0.003/call, status unknown (last checked 2026-10-31).

Searches recent X (Twitter) posts for crypto-related queries and returns posts plus a structured sentiment/signal summary including cashtags, sentiment score, top claims, and engagement metrics.

## Facts

- Endpoint: GET https://kr-x402-mvp.kgy5612.workers.dev/tweets/user?utm_source=zero.xyz
- Price: $0.003/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-31
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/x-twitter-crypto-tweet-search-with-sentiment-signal-a0cc6a52
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_ROMe62EHH6GHcopnnUnYL

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 x-twitter-crypto-tweet-search-with-sentiment-signal-a0cc6a52
```

Example prompt: Search X for recent posts about $BTC mentioning ETF inflows, sorted by relevancy, and give me the sentiment signal and top engagement stats — up to 10 posts in English.

## When to prefer this

Choose this endpoint when an AI trading or onchain agent needs real-time social sentiment from X for a crypto token, protocol, or handle — especially when a structured signal summary (sentiment score, top claim, cashtags, notable handles) is needed alongside raw posts. It is preferable over generic Twitter scrapers because it bundles sentiment analysis into the same pay-per-call response with no API key required, using x402 micropayments on Base. Use it when the agent needs to correlate on-chain price data with social narrative, or to monitor community reaction to on-chain events.

## Known failure modes

- Empty results if query matches no posts in the last 7 days (n=0)
- Payment failure if x402 USDC payment on Base is not completed or insufficient
- Rate limiting or 402 response if payment is malformed
- Invalid query syntax causes API error from upstream X API
- date range outside 7-day window returns no results
- next_token invalid or expired causes pagination error

## How this service works

Pay-per-call crypto microdata for trading/onchain AI agents via x402 (USDC on Base): Base gas, token risk, balances, multi-venue prices, Hyperliquid book/funding, kimchi premium. No API keys.

## Output

Returns a list of matching posts (id, url, text, author name/handle/verified status/follower count, created_at, language, engagement metrics), a structured signal object (cashtags found, bullish/bearish sentiment label and score 0–1, top claim post, top terms, aggregate engagement, notable handles), the original query, a source tag, an updated_at timestamp, and a next-page token plus suggested follow-up endpoint paths.

## 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": {
      "q": {
       "type": "string",
       "examples": [
        "bitcoin",
        "$ETH",
        "x402",
        "from:base"
       ],
       "maxLength": 200,
       "minLength": 1,
       "description": "X search query (operators ok); or use the twit.sh-style filters below"
      },
      "to": {
       "type": "string",
       "description": "Replying to handle"
      },
      "from": {
       "type": "string",
       "description": "From handle"
      },
      "lang": {
       "type": "string",
       "maxLength": 5,
       "description": "Language filter e.g. en, ko"
      },
      "sort": {
       "enum": [
        "recency",
        "relevancy"
       ],
       "type": "string",
       "description": "Default relevancy"
      },
      "limit": {
       "type": "integer",
       "maximum": 20,
       "minimum": 1,
       "description": "Posts (default 10)"
      },
      "since": {
       "type": "string",
       "description": "YYYY-MM-DD (last 7 days)"
      },
      "until": {
       "type": "string",
       "description": "YYYY-MM-DD"
      },
      "words": {
       "type": "string",
       "description": "All of these words"
      },
      "phrase": {
       "type": "string",
       "description": "Exact phrase"
      },
      "anyWords": {
       "type": "string",
       "description": "Any of these words (space/comma separated)"
      },
      "hashtags": {
       "type": "string",
       "description": "Hashtags (comma separated, # optional)"
      },
      "minLikes": {
       "type": "integer",
       "minimum": 0
      },
      "username": {
       "type": "string",
       "description": "Timeline shortcut: posts from this handle"
      },
      "noneWords": {
       "type": "string",
       "description": "None of these words"
      },
      "mentioning": {
       "type": "string",
       "description": "Mentions handle"
      },
      "minReplies": {
       "type": "integer",
       "minimum": 0
      },
      "minReposts": {
       "type": "integer",
       "minimum": 0
      },
      "next_token": {

… (truncated)
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "n": 1,
  "q": "bitcoin",
  "next": [
   "/crypto/prices?symbols=BTC",
   "/crypto/prediction-markets?q=bitcoin",
   "/crypto/market-pulse"
  ],
  "posts": [
   {
    "id": "1851234567890123456",
    "url": "https://x.com/example/status/1851234567890123456",
    "lang": "en",
    "text": "$BTC ETF inflows strong again, ATH watch",
    "author": {
     "name": "Example",
     "handle": "example",
     "verified": true,
     "followers": 250000
    },
    "metrics": {
     "likes": 1200,
     "quotes": 12,
     "replies": 85,
     "reposts": 210
    },
    "created_at": "2026-10-30T01:20:00Z"
   }
  ],
  "signal": {
   "cashtags": [
    "$BTC"
   ],
   "sentiment": "bullish",
   "top_claim": {
    "url": "https://x.com/example/status/1851234567890123456",
    "text": "$BTC ETF inflows strong again, ATH watch",
    "handle": "example"
   },
   "top_terms": [
    "etf",
    "inflows",
    "ath"
   ],
   "engagement": {
    "likes": 1200,
    "replies": 85,
    "reposts": 210
   },
   "notable_handles": [
    {
     "handle": "example",
     "followers": 250000
    }
   ],
   "sentiment_score": 0.4
  },
  "source": "x-api-v2-recent-search",
  "updated_at": "2026-10-30T01:50:00Z"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/x-twitter-crypto-tweet-search-with-sentiment-signal-a0cc6a52/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from kr-x402-mvp.kgy5612.workers.dev](https://www.zero.xyz/host/kr-x402-mvp.kgy5612.workers.dev/llms.txt)
