# how.is URL Preflight Safety Check

> how.is URL Preflight Safety Check 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).

Runs a multi-signal safety pre-flight check on a URL before an agent fetches, reads, signs in, or pays — returning a verdict, risk score, robots.txt compliance, HTTPS validity, blocklist hits, domain age, lookalike detection, and x402 pricing.

## Facts

- Endpoint: POST https://how.is/v1/url/preflight?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-url-preflight-safety-check-1a917030
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_ESpKivLgQ9qpPca7BMu6q

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-url-preflight-safety-check-1a917030 -d '<json body>'
```

Example prompt: Before you fetch anything from https://checkout.acme-store.io and potentially sign in or pay, run a preflight safety check — I want to know the verdict, risk score, whether it's safe to pay, and whether your bot is allowed by robots.txt.

## When to prefer this

Use this endpoint whenever an AI agent is about to interact with an unknown or user-supplied URL — especially before fetching content, following redirects, authenticating, or making payments. It is the right choice when you need a single consolidated safety signal rather than calling separate blocklist, WHOIS, HTTPS, and robots.txt services individually. Particularly valuable in agentic workflows where acting on a malicious URL could cause financial loss or security compromise.

## Known failure modes

- Invalid or malformed URL returns a 4xx error
- Private/localhost URLs may be rejected or return inconclusive
- Some signals (blocklist, domain age) may be unavailable, listed in not_checked[]
- robots.txt unreachable results in unknown robots status
- DNS resolution failure for the target domain yields inconclusive verdict
- Payment failure (insufficient x402 balance) prevents the check from completing

## How this service works

Check whether a URL is safe to fetch, read, sign in to or pay before you do: domain age, look-alike, blocklists, HTTPS, robots.txt for your agent and the site's own x402 price.

## Output

A JSON object containing: a top-level verdict (likely_safe / caution / high_risk / inconclusive), numeric risk_score, per-action safe_to flags (fetch / read / sign_in / pay each as yes/caution/no/unknown), per-action reasons with explanations, domain_age_days, newborn flag, lookalike flag, https_valid, robots.txt compliance and token for the given user agent, HTTP status and redirect chain, x402 payment offers (price_usd, network, pay_to) if present, bot policy details, and a list of checks that were not performed. Also includes a payment receipt confirming the $0.005 USDC charge.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "ua": {
   "type": "string",
   "maxLength": 512,
   "description": "The user agent you will fetch with; robots.txt and our bot policy are judged for it. Defaults to the User-Agent of this request."
  },
  "url": {
   "type": "string",
   "format": "uri",
   "maxLength": 2000,
   "description": "The http(s) URL you are about to fetch"
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "data": {
   "_shape": "data: verdict (likely_safe/caution/high_risk/inconclusive), risk_score, safe_to{fetch,read,sign_in,pay} each yes/caution/no/unknown, actions{...: {answer, why}}, reasons[{risk, why}], domain_age_days, newborn, lookalike, https_valid, robots{allowed, token, status}, http{status, content_type, redirects}, x402{offers[{price_usd, network, pay_to}]}, bot_policy, not_checked[]."
  },
  "result": "URL pre-flight for the requested subject",
  "receipt": {
   "rail": "x402",
   "tool": "preflight",
   "charge_usd": 0.005,
   "settlement_tx": "0x…"
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/how-is-url-preflight-safety-check-1a917030/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)
