Discovered facts come from the audit's AI-readiness pass; errors come from SEO findings
Inside the report, two arrays answer different questions: what citable material your pages expose (facts) and what is technically wrong with your structured data (errors).
Discovered facts#
discoveredFacts is the audit's geoReadinessReport.structuredFacts passed through untouched — the entities, stats, dates, and source claims the AI-readiness pass could extract from your pages. An empty array means the audit found nothing citable, not that the report failed: check generatedAt and sourceAuditRunId to know which audit is talking.
Structured-data errors#
structuredDataErrors filters the same audit's SEO findings to category === "structured-data" — malformed or missing schema that would break rich results and machine understanding alike. Each entry keeps the finding's id, severity, evidence, and page URL, so it can be matched one-to-one with what the standard audit screens show.
Supporting context#
crawlerAccess lists which AI crawlers (GPTBot and peers) your robots rules allow or block, and llmsTxt is { checked, found, valid, issues } for /llms.txt (see What the audit checks for the exact issue strings). Read the three together: facts tell you what to amplify, errors what to fix, crawler access whether machines can reach any of it.

