CrawlCheck
The registry · what sites declare to agents

What a site declares to agents, verified by a fetch.

Before an agent trusts a site’s llms.txt, its agents.md, its press facts, its entity graph, its crawler policy or its callable surface, this registry says whether the thing is really served. Every one of the 695 sites here is listed because a fetch produced it; nothing is submitted, rows re-derive from each new reading, and no payment moves a shelf.

In one sentence

The CrawlCheck registry records what each measured website declares to AI agents and whether the declaration is really served, filed on six shelves a site can only earn by a fetch: a resolving llms.txt, a served agents.md, a machine-readable media kit at /.well-known/media-kit.json, an entity graph whose sameAs links point back, a robots.txt that names AI crawlers, and an agent-callable surface such as an API catalog, MCP server card or agent-skills index; the capability registry lists the operations those surfaces declare, by policy class. An agent reads it for one domain inside the signed Resolve answer, for every domain as JSON at /api/registry and in the daily snapshot, with no key; nothing is submitted, rows re-derive from each new reading, and no payment moves a shelf.

695sites listed
6shelves, each earned by a fetch
300on the fullest shelf: Entity graph
0shelves a payment can move
For agents

Three ways to read it

Every call is public: no key, no account, nothing counted against a plan. Answers are signed and verify offline.

One site

Ask about a domain

The signed answer carries every shelf the site earned, alongside what it serves to crawlers and a decision for read, cite, connect and transact.

GET /api/v1/resolve?domain=example.com

What to call before acting →

What it can do

The capability registry

What sites declare an agent may do on them — the operations in their API catalogs, MCP server cards and agent-skills indexes — read from declarations, with the policy class each one falls in.

GET /api/registry/capabilities

The capability registry →

All of it

Rows, shelves and the daily snapshot

The whole registry as JSON with shelf counts, each shelf as its own page, and every public signed answer once a day in files a mirror can serve and verify.

GET /api/registry

The snapshot → · Open data →

Who earned each shelf
llms.txt38.3%266agents.md5.5%38Media kit1.9%13Entity graph43.2%300AI access policy33.8%235Agent-callable8.9%62Share of 695 measured sites on each shelf. A shelf is earned by a fetch, never by a submission.
Six shelves

What each shelf means

Each shelf has one test, run on every scan. A site is filed when the test passes and leaves when it stops passing. Reciprocity is tested, never declared.

Latest fetches

Recently fetched

Machine-readable: /api/registry. Rows re-derive from each new scan; a row older than 30 days is marked.

SiteGradeShelvesLast fetched
producthunt.comCllms.txtagents.mdMedia kitEntity graphAI access policyAgent-callable2026-10-08
scrapingbee.comCllms.txtagents.mdMedia kitEntity graphAI access policyAgent-callable2026-10-08
scaleway.comCllms.txtagents.mdMedia kitEntity graphAI access policyAgent-callable2026-10-08
scalenut.comBllms.txtagents.mdMedia kitEntity graphAI access policyAgent-callable2026-10-08
treeservicedenverllc.comAllms.txtagents.mdMedia kitEntity graphAI access policyAgent-callable2026-10-08
scale.comCllms.txtagents.mdMedia kitEntity graphAI access policyAgent-callable2026-10-08
sambanova.aiCllms.txtagents.mdMedia kitEntity graphAI access policyAgent-callable2026-10-08
sama.comBllms.txtagents.mdMedia kitEntity graphAI access policyAgent-callable2026-10-08
rytr.meDllms.txtagents.mdMedia kitEntity graphAI access policyAgent-callable2026-10-08
runwayml.comCllms.txtagents.mdMedia kitEntity graphAI access policyAgent-callable2026-10-08
runpod.ioCllms.txtagents.mdMedia kitEntity graphAI access policyAgent-callable2026-10-08
robinai.comCllms.txtagents.mdMedia kitEntity graphAI access policyAgent-callable2026-10-08
rev.comCllms.txtagents.mdMedia kitEntity graphAI access policyAgent-callable2026-10-08
retool.comCllms.txtagents.mdMedia kitEntity graphAI access policyAgent-callable2026-10-08
resemble.aiBllms.txtagents.mdMedia kitEntity graphAI access policyAgent-callable2026-10-08
requestmetrics.comCllms.txtagents.mdMedia kitEntity graphAI access policyAgent-callable2026-10-08
replicate.comCllms.txtagents.mdMedia kitEntity graphAI access policyAgent-callable2026-10-08
remove.bgCllms.txtagents.mdMedia kitEntity graphAI access policyAgent-callable2026-10-08
relixir.aiDllms.txtagents.mdMedia kitEntity graphAI access policyAgent-callable2026-10-08
reducto.aiCllms.txtagents.mdMedia kitEntity graphAI access policyAgent-callable2026-10-08
recursion.comCllms.txtagents.mdMedia kitEntity graphAI access policyAgent-callable2026-10-08
readme.comCllms.txtagents.mdMedia kitEntity graphAI access policyAgent-callable2026-10-08
read.aiCllms.txtagents.mdMedia kitEntity graphAI access policyAgent-callable2026-10-08
qure.aiCllms.txtagents.mdMedia kitEntity graphAI access policyAgent-callable2026-10-08
questdb.ioCllms.txtagents.mdMedia kitEntity graphAI access policyAgent-callable2026-10-08
qodo.aiCllms.txtagents.mdMedia kitEntity graphAI access policyAgent-callable2026-10-08
qdrant.techCllms.txtagents.mdMedia kitEntity graphAI access policyAgent-callable2026-10-08
protectai.comDllms.txtagents.mdMedia kitEntity graphAI access policyAgent-callable2026-10-08
example.netDllms.txtagents.mdMedia kitEntity graphAI access policyAgent-callable2026-10-08
example.orgDllms.txtagents.mdMedia kitEntity graphAI access policyAgent-callable2026-10-08
example.comDllms.txtagents.mdMedia kitEntity graphAI access policyAgent-callable2026-10-08
pagespeed.web.devDllms.txtagents.mdMedia kitEntity graphAI access policyAgent-callable2026-10-07
pactsafe.comDllms.txtagents.mdMedia kitEntity graphAI access policyAgent-callable2026-10-07
oxylabs.ioBllms.txtagents.mdMedia kitEntity graphAI access policyAgent-callable2026-10-07
owkin.comBllms.txtagents.mdMedia kitEntity graphAI access policyAgent-callable2026-10-07
outranking.ioDllms.txtagents.mdMedia kitEntity graphAI access policyAgent-callable2026-10-07
otter.aiCllms.txtagents.mdMedia kitEntity graphAI access policyAgent-callable2026-10-07
opus.proCllms.txtagents.mdMedia kitEntity graphAI access policyAgent-callable2026-10-07
opensearch.orgCllms.txtagents.mdMedia kitEntity graphAI access policyAgent-callable2026-10-07
yerainabreu.comCllms.txtagents.mdMedia kitEntity graphAI access policyAgent-callable2026-10-07
observe.aiCllms.txtagents.mdMedia kitEntity graphAI access policyAgent-callable2026-10-07
kentcdodds.comCllms.txtagents.mdMedia kitEntity graphAI access policyAgent-callable2026-10-07
sindresorhus.comCllms.txtagents.mdMedia kitEntity graphAI access policyAgent-callable2026-10-07
rauchg.comDllms.txtagents.mdMedia kitEntity graphAI access policyAgent-callable2026-10-07
stephango.comBllms.txtagents.mdMedia kitEntity graphAI access policyAgent-callable2026-10-07
newrelic.comCllms.txtagents.mdMedia kitEntity graphAI access policyAgent-callable2026-10-07
nullprogram.comDllms.txtagents.mdMedia kitEntity graphAI access policyAgent-callable2026-10-07
danluu.comCllms.txtagents.mdMedia kitEntity graphAI access policyAgent-callable2026-10-07
n8n.ioCllms.txtagents.mdMedia kitEntity graphAI access policyAgent-callable2026-10-07
mostly.aiCllms.txtagents.mdMedia kitEntity graphAI access policyAgent-callable2026-10-07

To be removed, put User-agent: CrawlCheck and Disallow: / in your robots.txt — it is honoured on the next fetch and the row goes with it, or write to the opt-out address.

Questions about this page

QHow does a site get on the registry?
By being scanned. Every domain the scanner measures is listed, and it is filed on a shelf only when the fetch that defines that shelf succeeds — a resolving llms.txt, a served agents.md, a media kit, a reciprocated sameAs, a robots.txt that names AI crawlers, or an agent-callable surface. There is no submission form and nothing to pay.
QCan a site be removed?
Yes. Put User-agent: CrawlCheck and Disallow: / in robots.txt and the row goes on the next fetch, or write to the opt-out address on the data policy page.
QWhy does a row say unverified since?
Rows re-derive from each new scan. When a domain has not been fetched for 30 days the row is marked rather than silently kept, because an old reading is not evidence of the present.
QIs the registry available as data?
Yes: GET /api/registry returns the rows and shelf counts with no key, CORS open, and each shelf has its own page under /registry/.