{
  "x402Version": 2,
  "id": 4334,
  "slug": "4334",
  "resource": "https://twitr.sh/api/tools/x_search",
  "description": "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.",
  "type": "http",
  "accepts": [
    {
      "scheme": "upto",
      "network": "eip155:8453",
      "payTo": "0xb5194A98DbDBb7028B585Db26B972e7F0F3f826A",
      "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "amount": "60000",
      "maxTimeoutSeconds": 300
    }
  ],
  "outputSchema": {
    "bazaar": {
      "category": "api",
      "discoverable": true,
      "info": {
        "input": {
          "body": {
            "language": "en",
            "minFaves": 100,
            "q": "artificial intelligence",
            "resultsLimit": 50,
            "type": "search-tweets"
          },
          "bodyType": "json",
          "method": "POST",
          "type": "http"
        },
        "output": {
          "example": {
            "duration": 2,
            "items": [
              {
                "authorUsername": "elonmusk",
                "createdAt": "2026-02-24T10:05:00.000Z",
                "id": "1893710452812718080",
                "likeCount": 1180,
                "text": "This is a great thread, thanks for sharing."
              }
            ],
            "payment": {
              "amount": "0.060000",
              "currency": "USD",
              "protocol": "x402"
            },
            "runId": "tw_example"
          },
          "type": "json"
        }
      },
      "schema": {
        "$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 — 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"
      },
      "tags": [
        "twitter",
        "x",
        "search",
        "tweets",
        "keyword",
        "hashtag",
        "query",
        "social-listening",
        "brand-monitoring",
        "sentiment",
        "user-search",
        "agent",
        "x402"
      ]
    },
    "eip2612GasSponsoring": {
      "info": {
        "description": "The facilitator accepts EIP-2612 gasless Permit to `Permit2` canonical contract.",
        "version": "1"
      },
      "schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "amount": {
            "description": "The amount to approve (uint256). Typically MaxUint.",
            "pattern": "^[0-9]+$",
            "type": "string"
          },
          "asset": {
            "description": "The address of the ERC-20 token contract.",
            "pattern": "^0x[a-fA-F0-9]{40}$",
            "type": "string"
          },
          "deadline": {
            "description": "The timestamp at which the signature expires.",
            "pattern": "^[0-9]+$",
            "type": "string"
          },
          "from": {
            "description": "The address of the sender.",
            "pattern": "^0x[a-fA-F0-9]{40}$",
            "type": "string"
          },
          "nonce": {
            "description": "The current nonce of the sender.",
            "pattern": "^[0-9]+$",
            "type": "string"
          },
          "signature": {
            "description": "The 65-byte concatenated signature (r, s, v) as a hex string.",
            "pattern": "^0x[a-fA-F0-9]+$",
            "type": "string"
          },
          "spender": {
            "description": "The address of the spender (Canonical Permit2).",
            "pattern": "^0x[a-fA-F0-9]{40}$",
            "type": "string"
          },
          "version": {
            "description": "Schema version identifier.",
            "pattern": "^[0-9]+(\\.[0-9]+)*$",
            "type": "string"
          }
        },
        "required": [
          "from",
          "asset",
          "spender",
          "amount",
          "nonce",
          "deadline",
          "signature",
          "version"
        ],
        "type": "object"
      }
    }
  },
  "tags": [
    "bazaar",
    "eip2612GasSponsoring"
  ],
  "sourceHost": "twitr.sh",
  "lastUpdated": "2026-09-15T13:18:48.566Z",
  "quality": {
    "calls30d": 58,
    "uniquePayers30d": 7,
    "lastCalledAt": "2026-09-15T13:19:00.799Z"
  },
  "liveness": {},
  "verified": false,
  "featured": false,
  "provider": {
    "host": "twitr.sh",
    "manifest_name": "twitr.sh",
    "source": "cdp-mirror",
    "source_manifest_url": "https://api.cdp.coinbase.com/platform/v2/x402/discovery/resources",
    "submitted_at": "2026-09-18T22:00:31.484Z"
  }
}