# useragent.agentutil.net Bot Detector

> useragent.agentutil.net Bot Detector is a paid API for AI agents from useragent.agentutil.net, paid per call via x402, $0.001/call, status unknown (last checked 2026-09-15).

Detects whether a user agent string belongs to a bot or crawler, with categorization of bot type, name, and device classification

## Facts

- Endpoint: POST https://useragent.agentutil.net/v1/detect
- Price: $0.001/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/useragent-agentutil-net-e9d38ee3
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_OJkdtslxPXQPz4o61Awl5

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 useragent-agentutil-net-e9d38ee3 -d '<json body>'
```

Example prompt: Can you tell me if this user agent is a bot and what kind it is: 'Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)'?

## When to prefer this

Use this endpoint when you need to specifically determine whether a user agent string represents a bot or crawler, with categorization (search bot, scraper, etc.) rather than just parsing the UA into browser/OS components. Prefer over generic UA parsers when the primary concern is bot filtering or access control based on crawler identity.

## Known failure modes

- Missing or empty 'ua' field — likely 400 or empty/default response
- Unrecognized user agent string — is_bot may return false with empty bot object
- Very long or malformed UA string may be truncated or rejected
- Payment not included or insufficient — 402 Payment Required response

## How this service works

Detect if a user agent is a bot/crawler with categorization

## Output

Returns a structured object indicating whether the UA is a bot (is_bot boolean), the bot's name, category (e.g. 'search'), and info URL if applicable, plus device_type, is_mobile, is_tablet flags, the raw UA string echoed back, and a request_id for tracing.

## Example request

```json
{
 "ua": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"
}
```

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "ua": {
   "type": "string",
   "description": "The user agent string to analyze"
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "bot",
  "raw",
  "is_bot",
  "service",
  "is_mobile",
  "is_tablet",
  "request_id",
  "device_type",
  "related_services"
 ],
 "properties": {
  "bot": {
   "type": "object",
   "required": [
    "url",
    "name",
    "category"
   ],
   "properties": {
    "url": {
     "type": "string"
    },
    "name": {
     "type": "string"
    },
    "category": {
     "type": "string"
    }
   }
  },
  "raw": {
   "type": "string"
  },
  "is_bot": {
   "type": "boolean"
  },
  "service": {
   "type": "string"
  },
  "is_mobile": {
   "type": "boolean"
  },
  "is_tablet": {
   "type": "boolean"
  },
  "request_id": {
   "type": "string"
  },
  "device_type": {
   "type": "string"
  },
  "related_services": {
   "type": "array",
   "items": {
    "type": "object",
    "required": [
     "url",
     "name",
     "description"
    ],
    "properties": {
     "url": {
      "type": "string"
     },
     "name": {
      "type": "string"
     },
     "description": {
      "type": "string"
     }
    }
   }
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/useragent-agentutil-net-e9d38ee3/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from useragent.agentutil.net](https://www.zero.xyz/host/useragent.agentutil.net/llms.txt)
