API & MCP

Auth: Authorization: Bearer fv_live_… — get a free key (1 free Quick Check/day).

1. Get a key

curl -X POST https://siteverify.dev/v1/keys -H "content-type: application/json" \
  -d '{"email":"you@example.com"}'

2. Run a check

curl -X POST https://siteverify.dev/v1/checks -H "Authorization: Bearer $KEY" \
  -H "content-type: application/json" -d '{"url":"https://your-site.com"}'

Uses today's free Quick Check, else prepaid credit, else returns 402 with a Stripe checkout_url — the check runs automatically once a human pays. Options: sku (website_quick | website_full), paths (Full, up to 10), required_terms, required_ctas, forbidden_terms, pay_with (auto | free | credit | checkout), callback.

3. Get the result

GET /v1/jobs/{job_id}          # status
GET /v1/jobs/{job_id}/report   # signed JSON report
# or open report_page from the response in a browser

Credits

GET  /v1/credits
POST /v1/credits/checkout  -H "Idempotency-Key: <uuid>"  -d '{"pack":"credit_pack_9"}'   # $9 → $10
                                                         -d '{"pack":"credit_pack_29"}'  # $29 → $35

MCP

{
  "mcpServers": {
    "6frame-verify": {
      "url": "https://siteverify.dev/mcp",
      "headers": { "Authorization": "Bearer fv_live_..." }
    }
  }
}

Keyless tools: verify_get_capabilities, verify_quote, verify_signup. With a key: verify_check_site, verify_get_job, verify_get_report, verify_get_credits, verify_buy_credits.

Advanced flow

Quote → order → job is still available (POST /v1/quotes, /v1/orders, /v1/jobs, all with Idempotency-Key). Full spec: /.well-known/openapi.json.

API & MCP docs — 6Frame Verify