Skip to content
DocsGo to Dashboard
Track AI discovery

The report is assembled on demand from the domain's latest completed audit

The AI discovery report is a read model, not a stored document: every request re-reads your latest completed audit, stamps a fresh generatedAt, and returns the current picture.

The call#

GET /v1/domains/:id/ai-discovery (authenticated session; an unknown domain answers Domain not found.). There is no plan gate on this route — any workspace member who can read the domain can pull the report. Nothing is cached server-side: no ETag, no memoization, so two calls a second apart both recompute, and generatedAt differs while sourceAuditRunId stays the same until a newer audit completes.

What it is built from#

  • The audit: the newest COMPLETED audit run for the domain that has results — its GEO readiness report supplies facts, crawler access, and llms.txt status; its SEO findings supply structured-data errors.
  • Alerts: up to 20 recent AuditAlert rows for the tracked dimensions (schema, crawler-access), newest confirmations first — these become recentChanges.

The response is { "aiDiscovery": { domainId, generatedAt, sourceAuditRunId, discoveredFacts, structuredDataErrors, crawlerAccess, llmsTxt, recentChanges } }.

Where its results surface#

The dashboard never opens this endpoint directly; its signals feed the readiness scores (SEO readiness, AI Search readiness) shown on the domain's Your changes checklist — see Read facts and errors for the field-by-field contents.

Back to Track AI discovery