# Tools: SEO Diagnostics
A public auditor that crawls a URL or sitemap with a headless browser and runs a broad battery of
technical, on-page, structured-data, Core Web Vitals, accessibility and AI-readiness checks. It runs
as a background job; poll the status URL (or watch the websocket) until `status` is `done`, then read
the full report.
Every endpoint follows the shared [Conventions & Errors](/docs/conventions.html). These are
**capability URLs**: the job `uid` is an unguessable identifier, so anyone holding it can read the
status and report.
/tools/seo/run
Minimal role: Public
Queue an SEO audit
Start a background SEO audit of a URL or sitemap. Returns the job uid plus status and websocket URLs.
/tools/seo/{uid}
Minimal role: Public
SEO audit status
Poll an SEO audit. Once done, score, grade and report_url are populated.
/tools/seo/{uid}/report
Minimal role: Public
SEO audit report
Full categorised report: overall score, per-category subscores, and every check with its recommendation. Negotiates HTML or JSON.
/tools/seo/{uid}/screenshot/{index}
Minimal role: Public
SEO audit page screenshot
Stream the rendered screenshot (image/png) captured for the audited page at the given zero-based index.
/tools/deepsearch/run
Minimal role: Public
Queue a DeepSearch research job
Start a multi-agent deep web research job. Returns the job uid plus status and websocket URLs.
/tools/deepsearch/{uid}
Minimal role: Public
DeepSearch status
Poll a DeepSearch job. Once done, score, confidence and session_url are populated.
/tools/deepsearch/{uid}/session
Minimal role: Public
DeepSearch report
Full cited research report: summary, findings, gaps, sources and metrics. Negotiates HTML or JSON.