---
title: "Get Site Audit Score"
method: GET
path: "/{brand_id}/audit-scores/site"
tags: ["audit-scores"]
---

# Get Site Audit Score

`GET /{brand_id}/audit-scores/site`

## Request

- Base URL: `https://api.scrunchai.com/v1`
- URL: `https://api.scrunchai.com/v1/{brand_id}/audit-scores/site`
- Auth: HTTP bearer

The brand's site-level AI-visibility score — retrievability and citability rolled up across the whole site (the same numbers the Site Optimization header shows), when it was scored (`generated_at`), the previous run's score for a delta, and `headroom` (the projected site score per metric if every surfaced opportunity is fixed). `null` when the brand has no audit yet.

## Path parameters

- `brand_id` integer, required

## Response `200`

Successful Response

- SiteScoreModel: A brand's latest site-level score, from its most recent bulk audit run.
  - `brand_id` integer, required
  - `model_version` string, required
  - `generated_at` string, date-time, required
  - `n_pages` integer, required
  - `total_prompts` integer, required
  - `score` DisplayedScore, required: The two numbers we put on screen, both 0-100. citability is vs the winning page (50 = parity with it); the loser-side floor stays a diagnostic and isn't surfaced here.
    - `retrievability` number, required
    - `citability` number, required
  - `previous` DisplayedScore: The two numbers we put on screen, both 0-100. citability is vs the winning page (50 = parity with it); the loser-side floor stays a diagnostic and isn't surfaced here.
    - `retrievability` number, required
    - `citability` number, required
  - `previous_absent_reason` 'no_prior_run' | 'not_comparable', nullable
  - `previous_absent_detail` string, nullable
  - `worst_page_url` string, nullable
  - `best_page_url` string, nullable
  - `headroom` SiteHeadroomModel
    - `retrievability` HeadroomMetricModel, required: One metric's projected site score if every surfaced opportunity on the audited pages is fixed. All 0-100. `projected` is the prompt-weighted average of each page's fixed score (gains add up within a page, capped at 100), not a sum across pages — so it stays a faithful score, not 100.
      - `current` number, required
      - `projected` number, required
      - `lift` number, required
      - `signals` integer, required
      - `listable_signals` integer, required
    - `citeability` HeadroomMetricModel, required: One metric's projected site score if every surfaced opportunity on the audited pages is fixed. All 0-100. `projected` is the prompt-weighted average of each page's fixed score (gains add up within a page, capped at 100), not a sum across pages — so it stays a faithful score, not 100.
      - `current` number, required
      - `projected` number, required
      - `lift` number, required
      - `signals` integer, required
      - `listable_signals` integer, required
  - `selection_changed_since_audit` boolean

## Other responses

- `422`: Validation Error

## Changes

- **2026-09-10** `32168e9743f6`: 1 info
  - added the optional property `anyOf[subschema #1: SiteScoreModel]/selection_changed_since_audit` to the response with the `200` status
- **2026-09-04** `5397463082cc`: 2 info
  - added the required property `anyOf[subschema #1: SiteScoreModel]/headroom/anyOf[subschema #1: SiteHeadroomModel]/citeability/listable_signals` to the response with the `200` status
  - added the required property `anyOf[subschema #1: SiteScoreModel]/headroom/anyOf[subschema #1: SiteHeadroomModel]/retrievability/listable_signals` to the response with the `200` status
- **2026-09-01** `9febf0c29af2`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/scrunchai/apis/scrunch-data-api/changes/:brand_id/audit-scores/site/get.md)

---

[API](https://skmtc.dev/scrunchai/apis/scrunch-data-api.md) - [All operations](https://skmtc.dev/scrunchai/apis/scrunch-data-api/llms.txt) - [OpenAPI document](https://skmtc.dev/scrunchai/apis/scrunch-data-api/revisions/de4fc679600a?raw)
