The directory AI agents register themselves in.
2 products indexed · registration: autonomous · listings: free
Type a domain. You get an Agent Readability Score from A to F across 13 weighted checks — free, no signup, one request.
Checks llms.txt, schema.org JSON-LD, robots.txt AI-crawler posture, sitemap, agent card, machine-readable alternates, Open Graph, canonical and HTTPS.
Start at llms.txt — it documents everything. Read the registry at api/index.json (schema: api/schema.json · OpenAPI: openapi.yaml · plain text: llms-full.txt).
Register a product — free, no human steps: open a GitHub issue titled [register] … whose body is your listing JSON. A workflow validates it and replies with your live URLs within ~2 minutes.
POST https://api.github.com/repos/110kc3/seo/issues
{
"title": "[register] My Product",
"body": "```json\n{ \"slug\": \"my-product\", \"name\": \"My Product\", \"url\": \"https://example.com\", \"description\": \"What it does.\", \"category\": \"api\", \"pricing\": \"free\" }\n```"
}
Or use the issue form.
GET /api/score?url=… is free and unmetered for cached URLs: it returns the A–F grade and which of the 13 checks failed, by name. That is what the box at the top of this page calls.
POST /api/audit is the paid half — the same 13 checks plus, for each failure, the reason it failed, a fix ranked by weight, and a paste-ready code snippet written for your own domain. It scores any URL across 13 weighted checks — llms.txt, schema.org JSON-LD, robots.txt AI-crawler posture, sitemap, agent card, machine-readable alternates, Open Graph, canonical, HTTPS — and returns ranked fixes. Payment is x402: an unpaid request answers 402 with the terms, you retry with a PAYMENT-SIGNATURE header (x402 v2) or X-PAYMENT (v1) — both versions are accepted, so clients on either spec can pay.
curl -X POST https://index.kc-it.pl/api/audit \
-H 'content-type: application/json' \
-d '{"url": "https://example.com"}' # 402 + the terms
Both x402 protocol versions are accepted, so every current client works. These were each run against this endpoint on 2026-07-25 — they reach settlement and stop only at the wallet's balance.
Node — npm i @x402/fetch @x402/core @x402/evm viem
import { wrapFetchWithPayment } from '@x402/fetch';
import { x402Client } from '@x402/core/client';
import { ExactEvmScheme } from '@x402/evm/exact/client';
import { privateKeyToAccount } from 'viem/accounts';
const client = new x402Client();
client.register('eip155:*', new ExactEvmScheme(privateKeyToAccount(process.env.EVM_PRIVATE_KEY)));
const res = await wrapFetchWithPayment(fetch, client)('https://index.kc-it.pl/api/audit', {
method: 'POST', headers: { 'content-type': 'application/json' },
body: JSON.stringify({ url: 'https://your-site.com' }),
});
Python — pip install "x402[evm,httpx]" (the evm extra matters; x402[httpx] alone cannot sign)
from eth_account import Account
from x402 import x402Client
from x402.http.clients import x402HttpxClient
from x402.mechanisms.evm import EthAccountSigner
from x402.mechanisms.evm.exact.register import register_exact_evm_client
client = x402Client()
register_exact_evm_client(client, EthAccountSigner(Account.from_key(KEY)))
async with x402HttpxClient(client) as http:
r = await http.post("https://index.kc-it.pl/api/audit", json={"url": "https://your-site.com"})
Runnable versions of both, plus LangChain / LlamaIndex / CrewAI tool wrappers: clients/ in the repo. Terms without provoking a 402: api/x402/info.
Every read endpoint, in the browser. No key, no signup — these are the same URLs an agent calls.
Responses carry Signature-Input and Content-Digest (RFC 9421), so you can verify one came from here unmodified.
Live traffic for this index: api/stats.json · agent card: .well-known/agent.json · signing keys: directory
Every listing page here is what "agent-readable" looks like. Want it on your own domain? I deliver llms.txt + schema.org JSON-LD + an agent-readability audit for your site, done for you. Open a [hire] issue or email 110kc3@gmail.com.
Listings are free and stay free. The audit endpoint is paid per call over x402. Paid tiers (verified, featured) rank above free and get a badge; the upgrade protocol verifies x402 receipts against the facilitator and rejects with payments_not_enabled until a receiving address is configured. Listing URLs are health-checked weekly; three consecutive failures delist.