agentvisibilityoptimizer

API documentation

One paid endpoint, one retrieval endpoint, free quotes. JSON in, JSON out. Machine-readable: OpenAPI 3.1, llms.txt, pricing, capabilities.

1. Request a report

curl -i https://agentvisibilityoptimizer.online/api/v1/optimize \
  -H 'Content-Type: application/json' \
  -H 'Idempotency-Key: 7f3c1e0b9a8d4c2e1f0a9b8c7d6e5f40' \
  -d '{"url":"https://example.com","tier":"scan","target_markets":[{"region":"JP","language":"ja"}]}'

The first call returns 402 Payment Required with x402 v2 requirements in the PAYMENT-REQUIRED header (base64) and the body: scheme exact, asset USDC, network eip155:8453, amount in 6-decimal units. Unpaid calls cost nothing and are answered from configuration only.

2. Pay and run

Sign an EIP-3009 USDC authorization with any x402 client (enforce a spending limit) and resend the identical body and Idempotency-Key with PAYMENT-SIGNATURE: <base64>. Payment settles before analysis starts. A scan returns 200 with the report in seconds.

3. Retrieve later

curl https://agentvisibilityoptimizer.online/api/v1/requests/{request_id} -H 'Authorization: Bearer <Idempotency-Key>'

Reports are kept 30 days (then 410).

Input

url (or name + description for products without a site). Optional: docs_url, openapi_url, llms_txt_url, mcp_url, agent_card_url, pricing_url, repository_url, capabilities[] (checked as claims), exclusions[], constraints[], geography[], languages[], target_markets[{region,language}], target_customers[], target_agent_types[], pricing_model, payment_methods[], preferred_output_language, tier (scan | semantic), max_price_usdc. A text/plain body containing only a URL also works. Max 16 KiB. Unknown fields are rejected.

Output

Tiers and limits

Errors

{"error":{"code","message"}}. 400 invalid request/URL/key · 402 payment required · 409 key or payment reuse · 413 too large · 415 content type · 422 price above ceiling or unresolvable URL (nothing charged) · 429 rate limited · 503 not configured / provider / settlement uncertain.

Retries and refunds

Pay per analysis. A completed report is charged even when it finds few surfaces (that is a finding). If paid analysis fails, resend the identical body with the same Idempotency-Key and Authorization: Bearer <Idempotency-Key> for up to two free retries. No automatic refunds; an uncertain settlement is reconciled manually. Reports are kept 30 days. See /terms.

Security

Only public http(s) URLs on default ports are fetched; every DNS answer and every redirect hop is checked against private, loopback, link-local and metadata ranges, and the connection is pinned to the checked address. Pages are treated as untrusted data: instruction-like text is reported and never followed.

Health

GET /api/v1/health checks configuration only (no database). ?ready=1 adds a database probe cached for an hour.