Open a saved SEO crawl report without fetching the site again
Use this to continue work from an existing crawl instead of fetching the site again. The compact response keeps context small while preserving the report id, scope, status, and caveats.
Run this report from the CLI, an MCP client, or application code. Every surface uses the same report definition and returns the same evidence. JSON is the source of truth; Markdown makes it readable without hiding dates, limits, warnings, or skipped work.
What this report helps you decide
What does this saved crawl contain and is it the right evidence for the next step?
- An agent has a report id or needs the latest saved crawl for a site.
- You want report metadata and summary before loading details.
Command facts
- Report id
crawl-report- Execution
Local process- Outputs
JSON and Markdown- Example parameters
id, includeIssues- Agent discovery
seo reports describe crawl-report --json- Interactive prompts
Human CLI commands only
When this report is not the right tool
These cases need a different report, more evidence, or a human decision. Do not force this report to answer a question its data cannot support.
- You need current live evidence rather than the pages and issues stored in an earlier snapshot. Recommended report: Crawl a site for technical SEO issues. Run a new site crawl. It fetches the current limited scope and creates a new saved report instead of presenting stale evidence as current.
- You need to see what changed between this saved report and another crawl snapshot. Recommended report: Compare two saved crawls. Compare the two saved crawls. It checks scope and completeness first, then reports new, resolved, persistent, and changed page or issue evidence.
Data sources and inputs
- Saved crawl report id or site. Selects one local snapshot directly or chooses the latest report for a property.
- Optional detail flags. Adds the limited page or issue inventory when the compact summary is not enough.
What this report checks
- Loads the exact local report id or resolves the latest saved report for the optional site.
- Returns compact evidence by default and includes large page or issue arrays only when explicitly requested.
How it works
- Resolves an exact report id or latest matching report, then keeps raw inventories opt-in.
The JSON result keeps dates, thresholds, limits, skipped work, and source completeness beside the finding. Missing, partial, capped, filtered, and complete data remain different states.
Run the report from the CLI
Open one saved crawl snapshot by id. Agents and CI should inspect the live schema before their first run.
Run it from the CLI
seo crawl-reports --id <report-id> --jsonCheck the agent input schema
seo reports describe crawl-report --jsonRun it from an agent or script
seo reports run crawl-report --params '{"id":"crawl_example_20260710","includeIssues":true}' --jsonProject profiles can fill supported property and analytics inputs for the human-facing commands. The catalog form shown here is explicit by design, so agents and CI jobs do not prompt or guess.
How an MCP agent should use it
Call seo_describe_report first so the agent sees when this report is useful and gets the current input schema. Then callseo_run_report with the validated parameters. Read the status, warnings, source limits, and skipped sections before acting on a finding.
Describe the report with MCP
{
"id": "crawl-report"
}Run the report with MCP
{
"id": "crawl-report",
"params": {
"id": "crawl_example_20260710",
"includeIssues": true
}
}Use a follow-up report returned by the result instead of guessing the next tool. The local MCP server and CLI use the same report definition and evidence. Their outer transport envelopes differ.
Use the report in a TypeScript app
Install seo as a project dependency, then call the same report catalog used by the CLI and MCP. executeReportrejects an unknown report id or invalid parameters. Provider and runtime failures come back as structured results withisError set.
Install the library
npm install seoRun this report from TypeScript
import { executeReport } from 'seo/mcp'
const result = await executeReport(
'crawl-report',
{
"id": "crawl_example_20260710",
"includeIssues": true
},
)
console.log(result)The TypeScript library guide also covers direct core functions, schema discovery, and the difference betweenexecuteReport and runReport.
What comes back and how to read it
- Saved crawl metadata, configuration, summary, source status, top-level warnings, caveats, and report id.
- Optional page and issue inventories from the same snapshot with no fresh network requests.
- Check creation time, scope, limits, and failures before reusing the evidence. Load pages or issues only when the next task needs them.
Start with dataStatus, source details, warnings, and caveats. Then inspect the observed evidence before derived findings or suggested actions.
What this report cannot tell you
- A saved crawl is a snapshot. It does not update when the site changes.
What to do next
- Run a focused report against the saved id.
- Start a new crawl when freshness changes the decision.
Related reports
- Find a saved crawl report. List local crawl snapshots by site and date so you can choose the right baseline without opening every report.
- Find URLs affected by a crawl issue. Open the exact URLs behind a crawl finding and turn a summary count into a limited review or fix list.
- Crawl a site for technical SEO issues. Map a limited part of a site, run the maintained technical checks, and save a reusable evidence baseline.
Browse all reports in Crawling and technical checks.