Site

get_site_audit

The latest technical audit of the brand's site: AI crawler access, rendering, structured data, llms.txt, and the graded scorecard.
readReads only. Annotated read-only, so a client can call it without asking.
Plan
Grow and above
Rate cost
1 unit

Try asking

Is anything on our site stopping AI assistants from citing us?

Arguments

Passed as the tool call's arguments.

project_idstringrequired

The project to read, from list_projects.

Result

The same object as Get the site audit, returned as structured output.

website_urlstringnullable

The site audited.

auditedboolean

False when the project has no site, or no audit has run yet. Every field below is then empty.

retrievability_scorenumbernullable

The audit's overall score after caps, 0–100 — the same number as scorecard.score. The name is historical.

ai_botsobject[]

What robots.txt says about each AI crawler at the site root. Key on bot; the order isn't guaranteed.

+Show child attributes
botstring

Crawler user-agent, e.g. OAI-SearchBot, PerplexityBot, GPTBot.

allowedboolean

Whether it may fetch the site.

server_renderedbooleannullable

Whether the copy is in the HTML rather than added by JavaScript.

has_structured_databooleannullable

Whether Schema.org markup was found.

has_llms_txtbooleannullable

Whether the site publishes an llms.txt.

generated_llms_txtstringnullable

An llms.txt written for the site, ready to publish.

pages_auditedinteger

Pages read. 0 means the homepage only.

coveragenumbernullable

Share of the audit that could be measured, 0–1.

findingsobject[]

The fix list.

+Show child attributes
checkstring

Which check, e.g. ai_crawler_access.

statusstring

How it went.

Values:passwarnfail

impactstring

How much it costs you.

Values:highmediumlow

detailstring

What was found.

recommendationstringnullable

What to do.

scorecardobjectnullable

The graded scorecard. Null on audits scored with the older model.

+Show child attributes
scorenumber

The published score, 0–100: raw_score held down by any cap that applies.

raw_scorenumber

Points earned as a share of the weight actually measured, 0–100.

coveragenumber

Share of the weight that could be measured, 0–1.

capped_byobjectnullable

The cap actually holding the score down, if any.

+Show child attributes
idstring

Which cap, e.g. citation_crawler_blocked, js_only.

ceilingnumber

The highest score possible while it applies, 0–100.

reasonstring

Why it applies.

capsobject[]

Every cap considered, whether or not it bites.

pillarsobject[]

The three pillars: retrievability (weight 30), answerability (40), authority (30).

+Show child attributes
idstring

Pillar.

Values:retrievabilityanswerabilityauthority

labelstring

Its name.

questionstring

The question it answers.

weightnumber

Its share of the score.

pointsnumber

Points earned.

sharenumber

Points as a share of the weight counted, 0–1.

coveragenumber

Share of the pillar that could be measured, 0–1.

dimensionsobject[]

The eleven graded checks behind the pillars.

+Show child attributes
idstring

e.g. ai_crawler_access, answer_structure, entity_grounding.

labelstring

Its name.

pillarstring

Which pillar it belongs to.

weightnumber

Its weight in the score.

scorenumbernullable

How it did, 0–1. Null when it couldn't be measured.

pointsnumber

weight × score.

statusstring

pass from 0.8, partial from 0.4, unknown when unmeasured.

Values:passpartialfailunknown

detailstring

What was found.

recommendationstringnullable

What to do.

impactstring

How much it matters.

Values:highmediumlow

blamestringnullable

site when the site blocked the check, platform when we don't have the data yet. Null when measured.

Values:siteplatform

evidence_jsonstring

The raw evidence, as a JSON string.

Errors

404 not_foundThe project or item doesn't exist in this workspace. A project from another workspace also returns 404, never 403.
422 invalid_requestA parameter or body field is missing or has the wrong type or value. The message names the field. Also returned when a write would pass the plan's prompt limit.
401 unauthorizedNo key was sent, or the key is unknown, revoked or expired, or the member who created it has left the workspace or been deactivated.
402 plan_requiredThe workspace's plan doesn't include API access. It's included on Grow, Scale and Custom.
403 workspace_not_approvedThe workspace is still waiting for approval, or wasn't approved.
429 rate_limitedToo many requests this minute. Wait for the number of seconds in the `Retry-After` header, then retry.

Every code, and what to retry, is in Errors.

Failures arrive as a tool error — isError: true with code: message as text. See Using the tools.