CrawlCheck
Entity map validator · free, no signup

Entity map validator: does your entitymap.json parse, and does every claim in it resolve?

In one sentence

An entity map validator fetches /entitymap.json, checks that it parses, that every entity in it also exists in the page's JSON-LD and vice versa, and that each sameAs profile it cites links back — an unreciprocated profile is a claim, not corroboration.

Type a domain. The scan fetches /entitymap.json, parses it, and checks its entities against the JSON-LD on the page and against the sameAs targets it cites - a profile you claim is only corroboration if that profile links back.

No signup. Nothing installed. Nothing changed on your site. The same scan as the homepage - about 30 read-only requests - and the same report, opened at the sections that answer this question.

How often the entity record breaks
A listing the site never declaresNAP_UNDECLARED_LISTING4.1%Two businesses claim one identityENTITY_COLLISION3.1%An address with no coordinatesENTITY_NO_COORDINATES5.1%The business name driftsNAP_NAME_DRIFT0.6%Share of 4,317 scans in the public dataset that carried the finding. Live; the same figures as /data.

Is your site one of them? Check it free → All 63 rates →

Measured

What the scan measures for this

Entity map parity

Every entity in the map should exist in the page's JSON-LD and vice versa. A map that names three locations while the page declares one is a disagreement an engine has to resolve by trusting neither.

Shown on a report when the site publishes an entity map.

Corroboration

Each sameAs target is fetched. Reciprocated links count; a directory profile that never mentions the site does not.

See this section on a real report: Entity corroboration →

The JSON-LD it mirrors

Parse, @id collisions, identity nodes, the one LocalBusiness that appears twice because it was parsed twice - the map inherits every defect the page has.

See this section on a real report: Structured data →

The triples

Named entities, dangling references and the graph an answer engine can actually walk from your homepage.

See this section on a real report: Linked data →

For agents

What an agent is told about the same site

An agent does not read the report. It asks one endpoint before it reads, cites, connects or transacts, and gets a signed answer built from the same measurement.

1 · See it

The agent view

The answer an agent receives about any domain, rendered for a person: each action’s decision and the reason.

Agent view

2 · Call it

One endpoint

GET /api/v1/resolve?domain= returns the signed answer; preflight returns a decision and a receipt for one action.

QuickstartResolve spec

3 · Check it

Without trusting us

Every answer is Ed25519-signed and logged; it verifies offline with the published key.

Signing keysProof

Workflow

The workflow

  1. Scan the domainThe entity map, the page's JSON-LD and every cited sameAs URL are fetched in one pass.
  2. Read Entity map parity and CorroborationEach row names the entity or link that fails and shows the bytes that decide it.
  3. Generate or repair the mapIf the site has no map, the free generator below builds one from its own JSON-LD. If it has one, the fix list names the entities that disagree.
  4. Publish, purge, re-scanThe second scan proves parity. On a watched domain the map is re-read twice a day and a change receipt records any drift.
Free

Free tools for this

Each one is a single request to the domain you name, answered as text or a download. Put the domain on the end of the URL, or use the form on the tools page.

Reading

Read next

Start from what you are checking

You cannot pay to improve a score. A licence adds the lists behind the counts and the record over time - never a better grade.

Questions about this page

QWhat is an entity map?
A JSON file at /entitymap.json that lists the entities a site is about — the business, its people, locations, services — with stable ids and links to the profiles that corroborate them. It is read alongside the page's JSON-LD, so the two must agree.
QWhy does parity matter?
An engine reading a map that names three locations and a page that declares one has to resolve the disagreement by trusting neither. Parity means the map and the page describe the same entities with the same ids.
QWhat counts as corroboration?
A sameAs target that, when fetched, refers back to the site. A directory profile that never mentions the domain is not corroboration and is not counted, however authoritative the directory.
QCan the scan build one for me?
Yes. The free generator builds an entitymap.json from the identity nodes already in your JSON-LD, so on the day it is made it cannot disagree with the page. Publish it, purge the cache and re-scan.