Check whether agents can reach a URL
reachSend one GET to a URL as each of nine common clients (curl, node, Python urllib, Python requests, libwww-perl, a Chrome browser, GPTBot, ClaudeBot, Googlebot) and report which are refused and why, such as a Cloudflare 1010 block on Python's urllib. Also reports robots.txt blocks on AI crawlers, whether /llms.txt exists, and whether the http-to-https redirect keeps POST bodies. Use before relying on a site or API from code, or to check your own. Read-only; private addresses are refused. Costs $0.010 in USDC on Base, paid via the x402 protocol, or from a credit token — call credits_trial for free credit if you have neither.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Public HTTP(S) URL to check | |
| credit_token | No | Optional. A credit token from credits_trial or /credits/buy. Supplying it pays for this call from that balance, so no x402 payment or wallet is needed. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | The URL that was scanned | |
| status | Yes | 'ok' when the scan ran | |
| clients | Yes | One row per client identity | |
| summary | No | One sentence stating the result | |
| verdict | Yes | 'pass' (every client reached), 'shadowed' (some refused while others reached: the fixable finding), 'refused' (all refused) or 'unreachable' | |
| llms_txt | No | Whether /llms.txt is a real text file | |
| robots_txt | No | robots.txt status and the AI crawlers it shuts out of the whole site | |
| scanned_at | No | ISO-8601 time of the scan | |
| http_redirect | No | How http:// redirects to https://, and whether POST survives it | |
| measured_from | No | Where the scan ran, and what that means for the results |