> ## Documentation Index
> Fetch the complete documentation index at: https://developers.scrunch.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Audit Scores API: Retrievability and citability by page

> Read a brand's AI-visibility scores — retrievability and citability — rolled up for the whole site and broken out per page, with the headroom left on each.

## Overview

The Audit Scores API returns the AI-visibility scores Scrunch computes from its most recent site audit: **retrievability** (can an AI crawler reach and parse the page) and **citability** (once reached, is the page worth quoting). These are the same numbers the Site Optimization header shows in the dashboard.

Two endpoints cover two questions: how is the site doing overall, and which pages are holding it back.

***

## Endpoints

| Method | Path                             | Purpose                                                    |
| ------ | -------------------------------- | ---------------------------------------------------------- |
| GET    | `/{brand_id}/audit-scores/site`  | The site-level score, rolled up across every audited page. |
| GET    | `/{brand_id}/audit-scores/pages` | The latest score per page, with each page's headroom.      |

Both require a bearer token with the `query` scope. See [Authentication](/getting-started/authentication).

***

## Example request

```bash theme={null}
curl -H "Authorization: Bearer $SCRUNCH_API_KEY" \
  "https://api.scrunchai.com/v1/1234/audit-scores/site"
```

```bash theme={null}
curl -H "Authorization: Bearer $SCRUNCH_API_KEY" \
  "https://api.scrunchai.com/v1/1234/audit-scores/pages?limit=200&offset=0"
```

***

## Reading the fields

Two things are easy to misread.

<Warning>
  **A `null` site score is not an error.** `GET /audit-scores/site` returns `null` when the brand has no finished audit yet — a new brand, or one whose first crawl is still running. Treat it as "not scored yet" rather than "scored zero", and check for it before charting.
</Warning>

**The page list is ordered by `url`, not by score.** That is deliberate: a stable order is what makes `limit`/`offset` paging safe across requests, because a score that changes mid-page would otherwise shuffle rows between pages and cause you to skip or repeat one. Sort client-side if you want the worst pages first.

`limit` accepts up to 1000. Page through the whole brand with `offset`; each page carries its `url`, its scores, and `generated_at` for when it was last scored.


## Related topics

- [Sitemap API: Pages, Audit Scores, AI Metrics](/api-reference/sitemap/overview.md)
- [Site Audit API: Score pages for AI search readiness](/api-reference/site-audit/overview.md)
- [Get Site Audit Score](/api-reference/audit-scores/get-site-audit-score.md)
