--- title: "Schemamap — discoverable JSON-LD endpoints per resource" category: agent-readiness status: optional url: https://webspecification.com/spec/agent-readiness/schemamap/ updated: "2026-05-29T14:13:42.000Z" sources: - title: "JSON-LD 1.1 Specification" url: "https://www.w3.org/TR/json-ld11/" publisher: "W3C" - title: "Schema.org" url: "https://schema.org/" publisher: "schema.org" - title: "RFC 8288 — Web Linking" url: "https://www.rfc-editor.org/rfc/rfc8288" publisher: "IETF" - title: "IANA — Link Relations Registry" url: "https://www.iana.org/assignments/link-relations/link-relations.xhtml" publisher: "IANA" - title: "Sitemaps XML format" url: "https://www.sitemaps.org/protocol.html" publisher: "sitemaps.org" source_repo: undefined licence: CC-BY-4.0 --- # Schemamap — discoverable JSON-LD endpoints per resource > A convention this site proposes — no external standard exists yet. `/schemamap.xml` indexes one JSON-LD endpoint per resource so agents fetch the structured-data graph directly instead of extracting it from HTML. ## What it is Schemamap is a convention this site proposes. It has no external standard, no IANA-registered link relation, and no second implementer at the time of writing. It is documented here as a worked proposal — not as settled web infrastructure. Treat the status as `optional` and adopt it because the design fits your needs, not because anyone else expects you to ship it. The shape: 1. **A per-resource JSON-LD endpoint.** Every page that has structured data exposes its JSON-LD graph at a predictable URL — by convention, the canonical URL with a `.jsonld` suffix — served with `Content-Type: application/ld+json`. The endpoint returns the same `@graph` the HTML embeds, in a stable shape, with no surrounding markup to parse. 2. **An index — `/schemamap.xml`.** A sitemap-shaped XML file at the site root lists every resource that has a JSON-LD endpoint. Each `` carries the canonical URL, the `.jsonld` URL, the schema.org `@type`s present, and an optional ``. 3. **HTML discovery.** Two `` tags in ``. The site-wide one points at the index using the proposed `rel="schemamap"`. The per-page one points at this resource's JSON-LD endpoint using the registered `rel="alternate" type="application/ld+json"` — so agents that do not recognise `schemamap` still find the per-page graph through a standard relation. ```html ``` ```xml https://example.com/articles/foo/ https://example.com/articles/foo.jsonld Article BreadcrumbList 2026-05-29 ``` **This site ships it.** Every spec page exposes a JSON-LD graph at `/spec//.jsonld`, and the index at [`/schemamap.xml`](/schemamap.xml) lists all of them. The per-page graph is also registered in the [api-catalog Linkset](/.well-known/api-catalog) under a URI-based rel so the discovery path is self-describing without the IANA registry. ## Why it matters The status quo for structured data is "parse the HTML and pick out every `