JSON Schema and docs · v1.0.0 · MIT
The JSON Schema and CSV reference for crawl data
Since version 1.2.0, the Crawl Cove desktop app exports a report's full dataset from the Reports page as JSON or CSV. crawlcove-export-spec documents that format: a JSON Schema (2020-12) for the JSON export, a column reference for the CSV, a versioning policy for the schemaVersion field, a real sample export produced by the app's own export code, and a small Ajv validator you can point at your own file. The CLI and the GitHub Action use the same field names where they check the same thing.
Free · MIT-licensed · README checked September 2026
Install and run
git clone https://github.com/CrawlCove/crawlcove-export-spec.git
cd crawlcove-export-spec
npm install
npm run validate -- path/to/your-export.json # omit the path to check the bundled sample
Using the schema in your own code
const Ajv = require('ajv')
const addFormats = require('ajv-formats')
const schema = require('crawlcove-export-spec/schema/crawl-export.schema.json')
const ajv = new Ajv()
addFormats(ajv)
const validate = ajv.compile(schema)
validate(myExport) // false + validate.errors on mismatch
The README in the repo is the authoritative reference; the commands above are copied from it as of September 2026. If they disagree, the README is newer.
What the format contains
- Top level: schemaVersion, exportedAt, auditRunId, runIncomplete, pageCount and the pages array.
- Per page, 29 required fields: URL and final URL, status, content type, depth, indexable, title and its length, meta description and its length, canonical, html lang, robots meta, X-Robots-Tag, H1 count, word count, internal and external link counts, image and missing-alt counts, response time, byte size, rendered, redirect hops, fetch error, schema block count, hreflang count, content fingerprint and findings count.
- The CSV carries the same pages and fields in a fixed column order, RFC 4180, UTF-8 with a BOM so Excel opens it cleanly.
- Booleans become yes/no in CSV and every JSON null becomes an empty cell, so the JSON export is the source of truth where the difference matters.
- Cells that would parse as a spreadsheet formula are prefixed so Excel, Sheets and LibreOffice treat them as text.
Limits worth knowing
- It is not an npm package yet; clone the repo or vendor the schema file.
- schemaVersion is bumped on any added, renamed or retyped field, so pin the version your tooling was written against and read the versioning doc before upgrading.
Works with Crawl Cove
This is the format the Crawl Cove desktop app exports from its Reports page. Run a crawl, export it, and validate it here, or build against the schema directly. See what the app audits or compare the plans.
Frequently asked questions
- Which Crawl Cove version produces this export?
- Crawl Cove 1.2.0 and later. The Reports page exports the full dataset as JSON; the CSV export uses the same page set and fields in the documented column order.
- Is the sample export hand-written?
- No. It was produced by the app's own export code against a small seeded crawl, so it is a real instance of the format rather than an illustration of it.
- What counts as a breaking change?
- Any added, renamed or retyped field bumps schemaVersion, and the versioning doc in the repo says which bumps are breaking. Tooling should validate against the schema version it was built for.
- Can I load an export somewhere useful without writing code?
- Yes. The Crawl Cove MCP server has a load_export tool that reads a desktop app JSON export from disk and lets Claude, Cursor or Claude Code answer questions about it, without the live crawl's 200-page limit.
Stop guessing.
Start fixing.
Crawl Cove runs on your machine, connects to your real ranking data, and tells you exactly what to fix first. No per-feature paywalls, no spreadsheets, no guesswork.
28 days risk-free · No card required