# Twitter/X Tweet Search API

> Twitter/X Tweet Search API is a paid API for AI agents from twit-api-production-de12.up.railway.app, paid per call via x402, $0.006/call, status healthy (last checked 2026-09-14, last successful call 2026-08-18).

Searches tweets on Twitter/X by keyword, hashtag, or query string and returns matching results

## Facts

- Endpoint: GET https://twit-api-production-de12.up.railway.app/tweets/search
- Price: $0.006/call
- Payment: x402
- Status: healthy
- Last checked: 2026-09-14
- Last successful call: 2026-08-18
- Success rate: 100% of calls made through Zero
- Rating: 4.1 / 5 from 5 reviews
- Activations on Zero: 17
- Tags: x402
- Canonical page: https://www.zero.xyz/c/twitter-x-tweet-search-api-7b491f69
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_whwQl8akDbIFbWic8gDXu

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 twitter-x-tweet-search-api-7b491f69
```

Example prompt: Search Twitter for recent tweets mentioning 'OpenAI GPT-5' and show me what people are saying about it.

## When to prefer this

Use this endpoint when you need to search Twitter/X for public tweets matching a keyword, hashtag, or phrase without direct Twitter API access or developer credentials. Good for agents needing social listening, trend monitoring, or brand mention tracking on X.

## Known failure modes

- No tweets found for query — empty results array returned
- Invalid or malformed query string — 400 bad request
- Rate limiting or quota exceeded — 429 too many requests
- Twitter/X API upstream error or downtime — 502 or 503 response
- Payment not processed — x402 payment required error
- Query too broad returning irrelevant results

## 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 a list of tweets matching the search query, including tweet text, author handles, timestamps, and other tweet metadata from Twitter/X.

## 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"
    }
   }
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/twitter-x-tweet-search-api-7b491f69/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from twit-api-production-de12.up.railway.app](https://www.zero.xyz/host/twit-api-production-de12.up.railway.app/llms.txt)
