Pay-per-call API for agents

Site Visibility Check API

One call checks one public website the way search engines and AI crawlers see it, and returns a scored report. Every finding comes with its evidence, the fix, and, when we have one, the agent skill that fixes it. $0.01 USDC per site, paid over x402; refusals cost nothing.

What it checks

  • Can a crawler find the pages: soft 404 (a made-up address that answers 200), robots.txt rules for search and AI bots, the sitemap, llms.txt.
  • One address per page: www and the bare domain, http and https, the canonical link, redirect chains.
  • What a machine reads: visible text without JavaScript, title and description, JSON-LD, Open Graph, the language of the page.
  • Who gets turned away: AI bots that get a 403 or a challenge at the edge while a browser does not.
  • Two findings are marked private: true (a secret leaked in the page, a session cookie without protection). They are in your answer, never on a public page and never in our logs.

How to call it

POST the address of the site, usually its home page:

POST https://api.aiskills402.com/v1/run/site-visibility-check
content-type: application/json

{"url": "https://your-site.com/"}

The first answer is 402 with the price in the PAYMENT-REQUIRED header. Sign it with any x402 client and send the same body again with PAYMENT-SIGNATURE. The answer is 200 with the report: score, findings[] (each with fix_skill), fixes[] (each of our skills with the findings it fixes or helps with), and report_url, the full report with evidence as a web page.

The free example, with the input schema and a real recorded report, is at https://api.aiskills402.com/v1/run/site-visibility-check/example.

When you are not charged

Every refusal comes before the payment is settled, so nothing is taken:

  • 422 url_refused or site_refused: only https on port 443 and public DNS names are checked; IP addresses, private names and *.workers.dev are refused.
  • 422 redirect_other_site: the address redirects to a different site. Submit that address instead.
  • 429 site_rate_limited: a site gets at most 3 checks per hour and 10 per day across all buyers, to protect the site being checked. The answer says when to retry.
  • 503 check_unavailable: the checking service did not answer in time. Retry shortly.

Who visits the site

The check is run by 402registry, from Cloudflare's network, under its own name, which it never changes or hides:

402registry-check/1.0

It sends at most 21 requests per check (the home page and its redirects, robots.txt, the sitemap, llms.txt, one made-up address, the www and http forms, and a few requests with the names of AI bots), runs no JavaScript, never logs in and never submits a form. What it sends and how to block it is on https://402registry.com/bot.

What is kept

We keep one log line per check with the host name, the time it took and whether the report was stored; no findings, no evidence. 402registry stores the report so that report_url works; that page is not indexed and is not shown on the public profile of the site. If it could not be stored, report_url is null and the report is only in your answer.

Paying for calls in general: pay-per-call APIs.