# Otto AI Tweet Search

> Otto AI Tweet Search is a paid API for AI agents from x402.ottoai.services, paid per call via x402, $0.005/call, status unknown (last checked 2026-09-13).

Search X/Twitter for recent tweets by keyword, cashtag, user handle, or boolean query and return structured tweet data

## Facts

- Endpoint: GET https://x402.ottoai.services/tweet-search
- Price: $0.005/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-13
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/otto-ai-tweet-search-dc1e0277
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_jS1RcDuusYY0dgE1G1X8U

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 otto-ai-tweet-search-dc1e0277
```

Example prompt: Search X/Twitter for the latest tweets about $BTC — include any mentions of Bitcoin price action, whale movements, or technical analysis from the past few hours.

## When to prefer this

Use this endpoint when you need real-time social signal or sentiment from X/Twitter specifically for crypto tokens, cashtags, or market commentary. It supports cashtag search ($BTC), user timelines (from:handle), mentions (@handle), and boolean OR queries, making it more flexible than a generic news feed. Prefer over on-chain or price-feed endpoints when the user wants qualitative social chatter, not just price data.

## Known failure modes

- Missing required 'query' parameter returns a validation error
- Overly broad queries may return noisy or irrelevant tweets
- Rate limiting or payment failure (402) if USDC balance is insufficient
- Twitter API outages may cause degraded or empty responses (check meta.degraded flag)
- Very new or obscure handles may return no results

## How this service works

Search X/Twitter for any query and get the actual matching tweets — keyword, $CASHTAG, from:handle (a user timeline), @handle (mentions), or boolean OR. Each tweet returns author, full text (long-form note tweets included), timestamp, likes and retweets (reply/quote counts when available). Most-recent-first for real-time monitoring and alerting. Live X search backend, pay-per-call USDC, structured JSON.

## Output

Returns a list of recent tweets matching the query, each with tweet ID, URL, full text, author handle, like/retweet/reply/quote counts, creation timestamp, and a long-form flag. Also includes metadata such as query mode, result count, and a generatedAt freshness timestamp.

## 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",
     "required": [
      "query"
     ],
     "properties": {
      "query": {
       "type": "string",
       "description": "X/Twitter search query. Plain keywords/topics, a $CASHTAG, from:handle for a user timeline, @handle for mentions, or boolean OR (uppercase). Example: \"$BTC OR bitcoin -is:retweet\"."
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "required": [
      "status"
     ],
     "properties": {
      "data": {},
      "meta": {
       "type": "object"
      },
      "reason": {
       "type": "string",
       "description": "status=unavailable only; every >=400 is UNCHARGED"
      },
      "status": {
       "enum": [
        "success",
        "unavailable"
       ],
       "type": "string"
      }
     }
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "data": {
   "mode": "Latest",
   "count": 2,
   "query": "$BTC",
   "tweets": [],
   "generatedAt": "2026-06-30T13:45:00.000Z"
  },
  "meta": {
   "degraded": false,
   "validUntil": "",
   "generatedAt": "",
   "stalenessSec": 0
  },
  "status": "success"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/otto-ai-tweet-search-dc1e0277/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402.ottoai.services](https://www.zero.xyz/host/x402.ottoai.services/llms.txt)
