ToolAssay

Search X/Twitter tweets with the full operator set — keyword, exact phrase, from

Search X/Twitter tweets with the full operator set — keyword, exact phrase, from-user, language, date range, media type, minimum likes/retweets, verified-only — or search user profiles by keyword. Billed per tweet returned against your resultsLimit cap. Built for tracking what people say about a topic, brand, or ticker in real time.

Answeringour last check, 2026-09-24
1 of 1checks answered this week
501 msmedian answer time
$0.06listed price per call
$0.06price it asked us

Paid test badge: not yet. The checks above are free: we call the tool without paying and read the payment request it sends back. The Verified badge needs paid calls whose answers match the promised output, and nobody can buy a badge.

Endpoint

POST https://twitr.sh/api/tools/x_search

CategorySearch and research
Provider hosttwitr.sh
Networkseip155:8453
Payment schemesupto
Self-reported calls, 30 days78 from 7 payers (the provider's figure, not ours)

Our checks, last 30 days

DayResultHTTPAskedTime
2026-09-24 valid payment request 402$0.06 501 ms

Example input (from the provider)

{
  "body": {
    "language": "en",
    "minFaves": 100,
    "q": "artificial intelligence",
    "resultsLimit": 50,
    "type": "search-tweets"
  },
  "bodyType": "json",
  "method": "POST",
  "type": "http"
}

Promised output schema (from the provider)

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "input": {
      "additionalProperties": false,
      "properties": {
        "body": {
          "allOf": [
            {
              "else": {
                "required": [
                  "resultsLimit"
                ]
              },
              "if": {
                "properties": {
                  "type": {
                    "const": "search-users"
                  }
                }
              },
              "then": {}
            }
          ],
          "properties": {
            "advancedQuery": {
              "description": "Raw X search operator string appended to q.",
              "type": "string"
            },
            "cursor": {
              "description": "search-users: pagination cursor from a previous call's report.next_cursor.",
              "type": "string"
            },
            "exactPhrase": {
              "type": "string"
            },
            "excludeWords": {
              "type": "string"
            },
            "fromUser": {
              "type": "string"
            },
            "language": {
              "type": "string"
            },
            "mediaType": {
              "enum": [
                "images",
                "videos",
                "gifs",
                "media"
              ],
              "type": "string"
            },
            "minFaves": {
              "type": "integer"
            },
            "minReplies": {
              "type": "integer"
            },
            "minRetweets": {
              "type": "integer"
            },
            "q": {
              "description": "Search query (X operator syntax supported for tweets).",
              "type": "string"
            },
            "resultsLimit": {
              "description": "search-tweets: MANDATORY max tweets returned, billed per tweet.",
              "maximum": 10000,
              "minimum": 1,
              "type": "integer"
            },
            "sinceDate": {
              "description": "YYYY-MM-DD",
              "type": "string"
            },
            "type": {
              "description": "Search tweets (default) or users.",
              "enum": [
                "search-tweets",
                "search-users"
              ],
              "type": "string"
            },
            "untilDate": {
              "description": "YYYY-MM-DD",
              "type": "string"
            },
            "verifiedOnly": {
              "type": "boolean"
            }
          },
          "required": [
            "q"
          ],
          "type": "object"
        },
        "bodyType": {
          "enum": [
            "json",
            "form-data",
            "text"
          ],
          "type": "string"
        },
        "method": {
          "enum": [
            "POST",
            "PUT",
            "PATCH"
          ],
          "type": "string"
        },
        "type": {
          "const": "http",
          "type": "string"
        }
      },
      "required": [
        "type",
        "method",
        "bodyType",
        "body"
      ],
      "type": "object"
    },
    "output": {
      "properties": {
        "example": {
          "properties": {
            "duration": {
              "description": "Run duration in seconds.",
              "type": "integer"
            },
            "items": {
              "description": "Returned items. Shape varies per tool \u2014 see each tool's outputSample for a concrete example.",
              "items": {
                "type": "object"
              },
              "type": "array"
            },
            "payment": {
              "description": "Settlement summary (protocol, amount, currency).",
              "type": "object"
            },
            "runId": {
              "description": "Run ID for debugging/audit.",
              "type": "string"
            }
          },
          "required": [
            "items"
          ],
          "type": "object"
        },
        "type": {
          "type": "string"
        }
      },
      "required": [
        "type"
      ],
      "type": "object"
    }
  },
  "required": [
    "input"
  ],
  "type": "object"
}

This page as JSON