Developer Docs
Everything you need to integrate BotVisibility — REST API, MCP server, CLI, authentication, and payments. Scan any URL across 58 agent-readiness checks.
One call returns a full JSON report. No key required for the free daily allowance.
The response includes a top-level score summary plus every check with id, status (pass | fail | partial | na), level, message, and recommendation. Full schema: /openapi.json.
| Method | Path | Description |
|---|---|---|
| GET | /api/scan?url=<site>&format=json | Scan a URL, JSON report (recommended for agents). Free up to a daily per-caller allowance, then HTTP 402. |
| GET | /api/scan?url=<site> | Same scan as a Server-Sent Events stream (for UIs). |
| POST | /api/scan | JSON body {"url":"..."}. Accepts an Idempotency-Key header for safe retries. |
| POST | /api/v1/scan-gateway | Paid deep scan via the pay.sh gateway — $0.10 USDC on Solana over x402. Returns 402 with payment requirements when unpaid. |
| GET | /api/badge?url=<site> | SVG badge showing a site's score and level. |
| GET | /api/screenshot?url=<site> | Cached screenshot of a scanned site. |
| POST | /api/mcp | Model Context Protocol server (Streamable HTTP). 11 tools incl. scan_url, compare_sites, deep_scan. |
| POST | /api/monitors | Create a scheduled monitor: re-scan a URL on a cadence and receive a signed webhook when the score changes. |
| GET | /.well-known/api-catalog | RFC 9727 linkset for API discovery. |
Public access needs no credentials. To raise your daily allowance, request an anonymous OAuth 2.0 client-credentials token (scan:read scope) and send it as a bearer token. Discovery follows RFC 8414 and RFC 9728:
BotVisibility runs a live Model Context Protocol server over Streamable HTTP. Point any MCP client (Claude Desktop, Cursor) at the endpoint below; the manifest lives at /.well-known/mcp.json.
Tools include scan_url, compare_sites, get_recommendations, deep_scan, scan_batch, and validate_llms_txt.
Scan a site or local codebase from your terminal — no install needed.
See the CLI guide for flags, CI usage, and JSON output.
Create a monitor to re-scan a URL on a cadence and get a webhook when its readiness score changes — useful for watching your own site or a dependency for regressions.
Manage a monitor at GET/DELETE /api/monitors/{id}, and fire a sample delivery with POST /api/monitors/{id}/test. Every delivery is signed:
Payloads and the full schema are documented in openapi.json (see x-webhooks) and auth.md.
Machine-readable manifests agents can fetch to discover this API:
An AI agent readiness scanner. It scans any URL across 58 checks and 5 levels — Discoverable, Usable, Optimized, Indexable, and Agent-Native — to measure how ready a site is for AI agents like Claude and GPT.
GET /api/scan?url=https://example.com&format=json, or POST the same endpoint with a JSON body. It is free up to a daily per-caller allowance; beyond that it returns HTTP 402 with x402 payment requirements. There is also an MCP server at /api/mcp and a CLI (npx botvisibility example.com).
Public access needs no key. An optional anonymous OAuth 2.0 client-credentials token (scan:read scope) raises the daily allowance — discover it via /.well-known/oauth-authorization-server and /.well-known/oauth-protected-resource. An X-API-Key header is also accepted.
Over the free allowance, the API returns HTTP 402 pointing at the pay.sh gateway, where an agent settles $0.10 USDC per scan on Solana via the x402 protocol, then receives the full report.
Ready to scan your site?
Run a free scan