# how.is Bot Verify Batch

> how.is Bot Verify Batch is a paid API for AI agents from how.is, paid per call via x402, $0.005/call, status unknown (last checked 2026-10-31).

Batch-verify up to 100 crawler visitors (IP + user-agent + optional TLS fingerprint) to determine if each is a real known bot (Googlebot, GPTBot, ClaudeBot, etc.) or an impostor, billed per item.

## Facts

- Endpoint: POST https://how.is/v1/bot/verify/batch?utm_source=zero.xyz
- Price: $0.005/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-31
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/how-is-bot-verify-batch-8045a717
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_C-SC0JC12NP9KCDQ2q1VJ

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 how-is-bot-verify-batch-8045a717 -d '<json body>'
```

Example prompt: Can you check these 50 visitor IPs and their user-agents from today's server logs and tell me which ones are real Googlebots, GPTBots, or ClaudeBots versus impostors pretending to be crawlers?

## When to prefer this

Use this endpoint when you need to verify crawler identity for many visitors at once, reducing per-call overhead and cost compared to single-item verification. Prefer this over the single-item verify endpoint when processing log files, access records, or real-time batches of 2–100 visitors. It is the right choice when you need to distinguish real AI crawlers (GPTBot, ClaudeBot) or search engine bots (Googlebot, Bingbot) from impostors at scale, especially when you have TLS JA4 fingerprints available to strengthen confidence.

## Known failure modes

- Invalid or private IP address returns an error object for that item
- Batch exceeds 100 items returns a 400 error
- Malformed user-agent string truncated or rejected if over 1000 characters
- JA4 fingerprint in wrong format may be ignored or cause item-level error
- Payment failure via x402 results in 402 response and no verdicts returned
- Unknown or emerging bots not yet in the known-crawler database may return an 'unknown' verdict

## How this service works

Verify many crawler visitors (IP + user-agent) in one call: real Googlebot, GPTBot, ClaudeBot or impostor, billed per item.

## Output

An array of one verdict per submitted item, each indicating whether the IP+user-agent combination corresponds to a real known crawler (Googlebot, Bingbot, GPTBot, ClaudeBot, etc.) or an impostor, plus aggregate counts by verdict and a billing summary showing items checked, unit price, and settlement transaction hash.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "items": {
   "type": "array",
   "items": {
    "type": "object",
    "required": [
     "ip"
    ],
    "properties": {
     "ip": {
      "type": "string",
      "description": "The visitor's public IPv4 or IPv6 address"
     },
     "ua": {
      "type": "string",
      "maxLength": 1000,
      "description": "The User-Agent header it sent (omit or empty if none)"
     },
     "ja4": {
      "type": "string",
      "maxLength": 80,
      "description": "Optional TLS JA4 fingerprint, e.g. t13d1516h2_8daaf6152771_02713d6af862"
     }
    },
    "additionalProperties": false
   },
   "maxItems": 100,
   "minItems": 1,
   "description": "1-100 visitors; price is per item"
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "data": {
   "_shape": "data: results[] (one bot_verify verdict per item, or {ip, error}), counts by verdict, billing{items, unit_price_usd}."
  },
  "result": "Crawler identity check (batch) for the requested subject",
  "receipt": {
   "rail": "x402",
   "tool": "bot_verify_batch",
   "charge_usd": 0.005,
   "settlement_tx": "0x…"
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/how-is-bot-verify-batch-8045a717/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from how.is](https://www.zero.xyz/host/how.is/llms.txt)
