# botsmith X User Search

> botsmith X User Search is a paid API for AI agents from x402.botsmith.dev, paid per call via x402, $0.01/call, status unknown (last checked 2026-10-31).

Search X (Twitter) accounts by keyword, returning up to 20 full profiles per call with bio, follower counts, account age, and verification status as clean JSON.

## Facts

- Endpoint: GET https://x402.botsmith.dev/x/users/search?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-31
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/botsmith-x-user-search-893a88e0
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_5T8bGwyO_tYxZLyq-hl0F

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 botsmith-x-user-search-893a88e0
```

Example prompt: Search X for accounts related to 'x402' and show me their handles, follower counts, bios, and whether they're verified.

## When to prefer this

Use this endpoint when you need to discover X (Twitter) accounts by keyword without having your own X API credentials. It is ideal for agent workflows that require finding users, influencers, or communities around a topic, since it returns rich profiles including follower counts, account age, and verification status. Prefer it over X's native API when you want a pay-per-call model with no OAuth setup or X developer account required.

## Known failure modes

- Empty results if the keyword matches no X accounts
- Invalid or expired cursor returns an error or restarts pagination
- Query string too long (>100 chars) is rejected by schema validation
- Rate limits or X platform downtime may cause failures
- Payment not completed results in 402 response with no data

## How this service works

X User Search ($0.01/call): Find X (Twitter) accounts by keyword: up to 20 matching accounts per call with full profiles (bio, follower counts, account age, verification) as clean JSON, plus a cursor for more. No X account or API key needed.

## Output

Returns a JSON object containing an array of up to 20 user profiles (each with handle, id, name, bio, URL, location, profile image, verification object with blue status and type, follower count, following count, tweet count, account creation timestamp, and account age in days), a hasNextPage boolean, and a nextCursor string for paginating additional results.

## 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",
       "maxLength": 100,
       "minLength": 1,
       "description": "Keyword to match against names, handles and bios, e.g. \"x402\""
      },
      "cursor": {
       "type": "string",
       "pattern": "^[A-Za-z0-9+/=_|-]{1,1000}$",
       "description": "Pagination cursor from a previous call"
      }
     },
     "additionalProperties": false
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "required": [
      "users",
      "hasNextPage",
      "nextCursor"
     ],
     "properties": {
      "users": {
       "type": "array",
       "items": {
        "type": "object",
        "required": [
         "handle",
         "id",
         "name",
         "bio",
         "url",
         "location",
         "profileImage",
         "verified",
         "followers",
         "following",
         "tweetCount",
         "createdAt",
         "accountAgeDays"
        ],
        "properties": {
         "id": {
          "anyOf": [
           {
            "type": "string"
           },
           {
            "type": "null"
           }
          ]
         },
         "bio": {
          "anyOf": [
           {
            "type": "string"
           },
           {
            "type": "null"
           }
          ]
         },
         "url": {
          "anyOf": [
           {
            "type": "string"
           },
           {
            "type": "null"
           }
          ]
         },
         "name": {
          "anyOf": [
           {
            "type": "string"
           },
           {
            "type": "null"
           }
          ]
         },
         "handle": {
          "type": "string"
         },
         "location": {
          "anyOf": [
           {
            "type": "string"
           },
           {
            "type": "null"
         
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/botsmith-x-user-search-893a88e0/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402.botsmith.dev](https://www.zero.xyz/host/x402.botsmith.dev/llms.txt)
