# X (Twitter) Recent Post Search via AgentUtility

> X (Twitter) Recent Post Search via AgentUtility is a paid API for AI agents from x402.agentutility.ai, paid per call via x402, $0.006/call, status unknown (last checked 2026-10-12, last successful call 2026-08-18).

Searches recent public X (Twitter) posts and returns post text, timestamps, engagement metrics, and expanded author profile data via the X API v2 recent-search backend.

## Facts

- Endpoint: POST https://x402.agentutility.ai/tweets-search?utm_source=zero.xyz
- Price: $0.006/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-12
- Last successful call: 2026-08-18
- Success rate: 100% of calls made through Zero
- Rating: 1.3 / 5 from 1 review
- Activations on Zero: 2
- Tags: x402
- Canonical page: https://www.zero.xyz/c/x-twitter-recent-post-search-via-agentutility-43ff6279
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_yFtLFGInkCBlNVPLY6qUL

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 x-twitter-recent-post-search-via-agentutility-43ff6279 -d '<json body>'
```

Example prompt: Search X for recent posts about 'AI agents' from the last 24 hours and give me the top 10 results with their text, author handles, timestamps, and like counts.

## When to prefer this

Choose this endpoint when you need read-only search over recent public X posts with author profile expansion and engagement metrics, paid per-call via x402 USDC micropayments without managing your own X API credentials or bearer tokens. Prefer it over direct X API access when you want a serverless, agent-callable, MCP-compatible interface with no credential management overhead.

## Known failure modes

- Invalid or expired X_BEARER_TOKEN returns 401 unauthorized
- Query string too long or malformed returns 400 bad request
- Rate limit exceeded on the underlying X API v2 returns 429 too many requests
- No matching tweets found returns an empty results array
- Start/end time parameters outside the 7-day recent search window return an error or empty set
- Payment failure or insufficient USDC balance blocks the x402 call

## How this service works

Repeat a saved X/Twitter search query to monitor a brand, topic, or phrase over time. Send the same query, language, and max_results on each check; it returns recent public post text, timestamps, metrics, and expanded author profiles. It uses read-only X API v2, excludes retweets by default, and translates legacy since:, until:, and -filter:retweets syntax. If X cannot answer, the tweets array contains clearly labeled public-index results with degraded: true rather than an empty successful response. No account mutation. Use it as a tweets search API, Twitter monitor, saved-query watchlist, or X recent post search.

## Output

Returns an array of recent matching X posts, each including the full post text, tweet ID, creation timestamp, public engagement metrics (like count, retweet count, reply count), and expanded author profile data (username, display name, bio, follower count). Results are sourced from X API v2 recent search covering posts from approximately the past 7 days.

## 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",
    "bodyType",
    "body"
   ],
   "properties": {
    "body": {
     "required": [
      "query"
     ],
     "properties": {
      "query": {
       "type": "string",
       "description": "X recent-search query, e.g. 'x402 payments' or '(coinbase OR bankr) x402'."
      },
      "language": {
       "type": "string",
       "description": "Optional two-letter language filter, e.g. 'en'."
      },
      "max_results": {
       "type": "number",
       "description": "Number of recent posts to fetch. Clamped to 10-50. Default 10."
      }
     }
    },
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "POST"
     ],
     "type": "string"
    },
    "bodyType": {
     "enum": [
      "json",
      "form-data",
      "text"
     ],
     "type": "string"
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "properties": {
      "mode": {
       "type": "string"
      },
      "source": {
       "type": "string"
      },
      "tweets": {
       "type": "array",
       "items": {
        "type": "object",
        "properties": {
         "id": {
          "type": "string"
         },
         "text": {
          "type": "string"
         },
         "author": {
          "type": "object",
          "properties": {
           "username": {
            "type": "string"
           }
          }
         }
        }
       }
      },
      "result_count": {
       "type": "integer"
      }
     }
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "mode": "search",
  "source": "X API v2 recent search",
  "tweets": [
   {
    "id": "123",
    "text": "x402 payments are live",
    "author": {
     "username": "agentutility_ai"
    }
   }
  ],
  "result_count": 10
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/x-twitter-recent-post-search-via-agentutility-43ff6279/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402.agentutility.ai](https://www.zero.xyz/host/x402.agentutility.ai/llms.txt)
