{
  "x402Version": 2,
  "id": 31444,
  "slug": "31444",
  "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",
  "resourceType": "Payments",
  "accepts": [
    {
      "scheme": "upto",
      "network": "eip155:8453",
      "payTo": "0xb5194A98DbDBb7028B585Db26B972e7F0F3f826A",
      "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "amount": "60000",
      "amountUsd": 0.06,
      "maxTimeoutSeconds": 300
    }
  ],
  "outputSchema": {
    "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"
  },
  "extensions": {
    "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-10-12T14:47:56.488Z",
  "quality": {
    "calls30d": 121,
    "uniquePayers30d": 2,
    "lastCalledAt": "2026-10-12T14:48:37.405Z"
  },
  "metadata": {
    "extensions": {
      "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"
        }
      }
    }
  },
  "liveness": {
    "reliability": null
  },
  "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-10-14T01:15:01.050Z"
  },
  "exampleResponse": {
    "example": {
      "duration": 0,
      "items": [
        {}
      ],
      "payment": {},
      "runId": "string"
    },
    "type": "string"
  }
}