BYTETOOLS

JSON Schema Store API

Fetch the catalogue that maps config filenames to JSON Schemas, the same one VS Code and JetBrains IDEs use. No key. Verified example and integration notes.

No API key requiredCORS enabledHTTPSFree tier

Endpoint tested and returned HTTP 200 on 2026-08-21

What is the JSON Schema Store API?

JSON Schema Store publishes a machine-readable catalogue at `https://www.schemastore.org/api/json/catalog.json`. Each entry maps filename patterns such as `tsconfig.json` or `.eslintrc` to the URL of a JSON Schema that validates them. No API key is required.

This one file is the reason your editor autocompletes `tsconfig.json` and underlines a typo in a GitHub Actions workflow. VS Code, JetBrains IDEs and several language servers ship a pointer to this catalogue, look up the file you just opened by its `fileMatch` glob, and fetch the matching schema. Knowing that turns editor magic into something you can reuse in your own tooling.

The catalogue is only an index: entries carry a `url` pointing at a schema hosted elsewhere, often on the maintainer's own domain or a raw GitHub URL. That means fetching schemas at runtime introduces a dependency on many third-party hosts, and it is why serious validation setups mirror the schemas they use rather than resolving them live. Match on `fileMatch` globs rather than on `name`, since names are display strings and change.

Quick facts

Base URL
https://www.schemastore.org/api/json
Authentication
No key or account. The catalogue and the schemas it points at are served as static files.
Rate limit
Not published. It is a static file behind a CDN; download it once at build time rather than per validation.
Pricing
Free and open source, community maintained.
CORS
Enabled — callable directly from browser JavaScript
Official docs
Read the docs

How to use the JSON Schema Store API

Every request below was executed against the live API on 2026-08-21, and the response shown is the real body it returned — not an illustration.

1. Fetch the full schema catalogue

GET https://www.schemastore.org/api/json/catalog.json

curl
curl 'https://www.schemastore.org/api/json/catalog.json'
JavaScript (fetch)
const res = await fetch("https://www.schemastore.org/api/json/catalog.json");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);
Python (requests)
import requests

res = requests.get("https://www.schemastore.org/api/json/catalog.json", timeout=20)
res.raise_for_status()
print(res.json())
Response — HTTP 200 (truncated)
{
  "$schema": "https://www.schemastore.org/schema-catalog.json",
  "version": 1,
  "schemas": [
    {
      "name": "glslint config",
      "description": "glslint project config and shader-dialect preset (glslint.toml): ecosystem detection, #pragma expansion, shared-library and injected-define declarations",
      "fileMatch": [
        "glslint.toml"
      ],
      "url": "https://raw.githubusercontent.com/johncarmack1984/glslint/main/schema/glslint.schema.json"
    },
    {
      "name": "Mermaid config",
      "description": "Configuration for Mermaid diagrams and charts",
      "fileMatch": [
        "mermaid.config.json",
        ".mermaidrc.json",
        "mermaidrc.json"
      ],
      "url": "https://mermaid.js.org/schemas/config.schema.json"
    },
    {
      "name": "Specpin spec file",
      "description": "Specpin business-spec file (.specs/*.spec.json): rules, descriptions, and acceptance criteria pinned to UI elements",
      "fileMatch": [
        "**/.specs/*.spec.json"
      ],
      "url": "https://specpin.ohnice.app/schema/v1.json"
    },
    {
      "name": "Burnless SRE config",
      "description": "Burnless sre.yaml — SLOs, error budgets, runbooks, on-call, and dashboards as code",
      "fileMatch": [
        "sre.yaml",
        "sre.yml"
      ],
      "url": "https://raw.githubusercontent.com/Custos-com/Burnless/main/schema/sre.schema.json"
    },
    {
      "name": "SigmaCV CV",
      "description": "SigmaCV canonical academic-CV object — open, machine-readable CV metadata (publications, positions, education, funding and narrative sections) ge

Parameters

ParameterTypeRequiredDescription
(none)n/aOptionalThe catalogue is a single static document with no parameters. Filter it client-side. /api/json/catalog.json

Response fields

$schemastring
Schema describing the catalogue format itself, which is a neat piece of self-description.
versioninteger
Catalogue format version. It has been `1` for a long time; check it before assuming the structure.
schemasarray
Every catalogued schema. The list runs to hundreds of entries and grows continuously.
schemas[].namestring
Display name such as `Mermaid config`. Use it for humans only; it is not an identifier.
schemas[].descriptionstring
One-line explanation of what the file governs. Frequently absent on older entries.
schemas[].fileMatcharray of strings
Glob patterns identifying the files this schema validates, for example `["mermaid.config.json", ".mermaidrc.json"]`. This is the field to match on.
schemas[].urlstring
Where the schema actually lives, often a third-party or raw GitHub URL rather than schemastore.org itself.
schemas[].versionsobject
Present on some entries: a map of version label to schema URL, for tools whose config format has changed.

What you can build with the JSON Schema Store API

  • Validate configuration files in CI using the same schemas your editor uses
  • Build editor or language-server support for config file autocompletion
  • Discover whether a schema already exists before writing one yourself
  • Mirror the schemas your project depends on for offline or air-gapped builds
  • Generate documentation or TypeScript types from a config file's official schema

Common errors and how to fix them

Schema URL 404s

Entries point at third-party hosts that can move or disappear.

Fix: Do not resolve schema URLs at validation time in production. Mirror the schemas you depend on and pin them.

Multiple entries match one file

Generic patterns such as `*.json` overlap with specific ones.

Fix: Prefer the most specific `fileMatch` glob, and break ties on the longest pattern rather than on array order.

Large response

The catalogue is a single document listing hundreds of schemas.

Fix: Fetch it once during a build, filter to the entries you need and commit the result.

JSON Schema Store API — frequently asked questions

What is JSON Schema Store used for?

It is the catalogue that maps config filenames to JSON Schemas. Editors like VS Code and the JetBrains IDEs consult it so they can offer validation and autocompletion for files such as `tsconfig.json` and GitHub Actions workflows.

Does it host the schemas themselves?

Some, but many entries point at URLs on the maintainer's own domain or raw GitHub. Always read the `url` field rather than assuming a schemastore.org path.

How do I find the schema for a specific file?

Filter `schemas` on the `fileMatch` globs, matching your filename against each pattern, then fetch the `url` of the most specific match.

Can I add my own schema to the catalogue?

Yes. The project is community maintained on GitHub and accepts pull requests that add an entry plus, usually, the schema file itself.

Tools that pair with this API

JSON Schema Store is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 2026-08-21; always check the official documentation before relying on this API in production, as terms and limits can change.