List declared entities
list_entitiesList the entities a site declares in its JSON-LD, collapsed across every crawled page into one graph, so an Organization declared identically on 60 pages is one row rather than 60. Declarations collapse by resolved @id, or by type and name when there is no @id, so the SAME real-world thing can still occupy several rows when its declared identity differs between pages: a relative @id such as "#organization" resolves against each page and yields one row per page. That is the split-identity problem, not a quirk of this tool. Filter by @type, by declaring page, by problem class, or by a text match on the name. Page-local entities (a page's own WebPage, BreadcrumbList and unnamed images) usually outnumber the site's actual subject matter and are hidden unless include_page_local is true. Returns a filtered summary, a page of nodes, total, and hasMore; keep requesting pages while hasMore is true rather than describing a site from one page. Fix-and-verify loop: call list_entities with problem="no-id" to find entities declared on several pages with nothing to tie them together, give each one an absolute @id, re-run the audit with run_audit, then call compare_entities and check that gainedId contains the keys you fixed. gainedId is the only confirmation that the fix landed: an entity that gained an @id changes key, so it would otherwise look like one removal plus one addition. Check each entry's coverage field before calling it done: "proven" means the newer audit visited every page that declared the broken version AND found the replacement on all of them, "partial" means one of those could not be established.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Only entities whose name or @id contains this text. Case-insensitive substring, not a pattern. | |
| page | No | Only entities declared on a page whose URL CONTAINS one of these strings. Not a prefix test and not a glob, so "/blog" matches https://example.com/blog/post and https://example.com/tag/blog alike. Several values are an OR. | |
| type | No | Only entities carrying one of these @type values. Case-insensitive. Several values are an OR: an entity matching any one of them is kept. | |
| limit | No | Entities to return. Default 25, maximum 100. | |
| offset | No | Entities to skip, for paging through a result larger than limit. Default 0. Ordering is by page count descending, then by key, and is stable across calls on one audit, so paging does not repeat or skip a row. | |
| run_id | No | A specific audit run to read. Defaults to the latest audit that stored at least one entity, which is NOT always the latest audit: an audit that stored none is passed over, because the store cannot tell a site that declares nothing from an audit that predates the entity map. When one is passed over, warnings names it. If you are checking whether a change landed, name the run. | |
| problem | No | Only entities with one of these problems: no-id, conflict, dangling, single-page, split-identity. Several values are an OR. | |
| website_id | No | The registered website to read, on the hosted server. Ignored by the local server, which reads the project store. When both this and run_id are given, run_id wins and this is ignored; naming a run of a different website is answered about the run. | |
| include_page_local | No | Include entities that describe one page rather than the site's subject matter, such as a page's own WebPage or BreadcrumbList. False by default because they usually outnumber everything else. |