---
title: "GET /api/sites/{siteId}/seo-audit"
method: GET
path: "/api/sites/{siteId}/seo-audit"
tags: ["siteSeo"]
---

# GET /api/sites/{siteId}/seo-audit

`GET /api/sites/{siteId}/seo-audit`

## Request

- Base URL: `https://app.sitenoar.dev` (the document declares no server; this is the origin it was published from)
- URL: `https://app.sitenoar.dev/api/sites/{siteId}/seo-audit`
- Auth: API key in cookie `wos-session`

## Path parameters

- `siteId` string, required

## Response `200`

Success

- object
  - `report` object, nullable, required
    - `categories` object[], required
      - `category` 'indexability' | 'metadata' | 'social' | 'structure' | 'links' | 'performance', required
      - `failedChecks` union, required
        - number
        - 'Infinity' | '-Infinity' | 'NaN'
      - `score` union, required
        - number
        - 'Infinity' | '-Infinity' | 'NaN'
      - `totalChecks` union, required
        - number
        - 'Infinity' | '-Infinity' | 'NaN'
    - `checks` object[], required
      - `category` 'indexability' | 'metadata' | 'social' | 'structure' | 'links' | 'performance', required
      - `checked` union, required
        - number
        - 'Infinity' | '-Infinity' | 'NaN'
      - `failed` union, required
        - number
        - 'Infinity' | '-Infinity' | 'NaN'
      - `findings` object[], required
        - `check` string, required
        - `code` string, required
        - `evidence` object, required
        - `expected` string, required
        - `found` string, required
        - `severity` 'error' | 'warning' | 'info', required
        - `subject` string, required
      - `id` string, required
      - `score` union, required
        - number
        - 'Infinity' | '-Infinity' | 'NaN'
      - `status` 'pass' | 'fail' | 'not_applicable', required
      - `title` string, required
      - `weight` union, required
        - number
        - 'Infinity' | '-Infinity' | 'NaN'
    - `crawl` object, required
      - `limit` union, required
        - number
        - 'Infinity' | '-Infinity' | 'NaN'
      - `pages` object[], required
        - `route` string, required
        - `source` 'home' | 'sitemap' | 'link', required
        - `status` union, required
          - number
          - 'Infinity' | '-Infinity' | 'NaN'
        - `ttfbMs` union, required
          - number
          - 'Infinity' | '-Infinity' | 'NaN'
      - `sitemapFound` boolean, required
      - `unvisited` string[], required
      - `unvisitedCount` union, required
        - number
        - 'Infinity' | '-Infinity' | 'NaN'
    - `fieldVitals` object, nullable, required
      - `byDevice` object[], required
        - `device` string, required
        - `vitals` object, required
          - `lcpMs` object, required
            - `p75` union, required
              - …
            - `rating` 'good' | 'needs-improvement' | 'poor', nullable, required
            - `samples` union, required
              - …
          - `cls` object, required
            - `p75` union, required
              - …
            - `rating` 'good' | 'needs-improvement' | 'poor', nullable, required
            - `samples` union, required
              - …
          - `inpMs` object, required
            - `p75` union, required
              - …
            - `rating` 'good' | 'needs-improvement' | 'poor', nullable, required
            - `samples` union, required
              - …
      - `byPage` object[], required
        - `path` string, required
        - `vitals` object, required
          - `lcpMs` object, required
            - `p75` union, required
              - …
            - `rating` 'good' | 'needs-improvement' | 'poor', nullable, required
            - `samples` union, required
              - …
          - `cls` object, required
            - `p75` union, required
              - …
            - `rating` 'good' | 'needs-improvement' | 'poor', nullable, required
            - `samples` union, required
              - …
          - `inpMs` object, required
            - `p75` union, required
              - …
            - `rating` 'good' | 'needs-improvement' | 'poor', nullable, required
            - `samples` union, required
              - …
      - `overall` object, required
        - `lcpMs` object, required
          - `p75` union, required
            - number
            - 'Infinity' | '-Infinity' | 'NaN'
          - `rating` 'good' | 'needs-improvement' | 'poor', nullable, required
          - `samples` union, required
            - number
            - 'Infinity' | '-Infinity' | 'NaN'
        - `cls` object, required
          - `p75` union, required
            - number
            - 'Infinity' | '-Infinity' | 'NaN'
          - `rating` 'good' | 'needs-improvement' | 'poor', nullable, required
          - `samples` union, required
            - number
            - 'Infinity' | '-Infinity' | 'NaN'
        - `inpMs` object, required
          - `p75` union, required
            - number
            - 'Infinity' | '-Infinity' | 'NaN'
          - `rating` 'good' | 'needs-improvement' | 'poor', nullable, required
          - `samples` union, required
            - number
            - 'Infinity' | '-Infinity' | 'NaN'
      - `periodDays` union, required
        - number
        - 'Infinity' | '-Infinity' | 'NaN'
    - `labPerformance` object, nullable, required
      - `lcpElement` string, nullable, required
      - `metrics` object, required
        - `cls` union, required
          - number
          - 'Infinity' | '-Infinity' | 'NaN'
        - `fcpMs` union, required
          - number
          - 'Infinity' | '-Infinity' | 'NaN'
        - `lcpMs` union, required
          - number
          - 'Infinity' | '-Infinity' | 'NaN'
        - `speedIndexMs` union, required
          - number
          - 'Infinity' | '-Infinity' | 'NaN'
        - `tbtMs` union, required
          - number
          - 'Infinity' | '-Infinity' | 'NaN'
      - `opportunities` object[], required
        - `displayValue` string, nullable, required
        - `id` string, required
        - `savingsMs` union, required
          - number
          - 'Infinity' | '-Infinity' | 'NaN'
        - `title` string, required
      - `score` union, required
        - number
        - 'Infinity' | '-Infinity' | 'NaN'
      - `strategy` 'mobile', required
      - `url` string, required
    - `previews` object[], required
      - `og` object, required
        - `description` string, nullable, required
        - `image` string, nullable, required
        - `title` string, nullable, required
      - `route` string, required
      - `twitter` object, required
        - `card` string, nullable, required
        - `description` string, nullable, required
        - `image` string, nullable, required
        - `title` string, nullable, required
      - `url` string, required
    - `score` union, required
      - number
      - 'Infinity' | '-Infinity' | 'NaN'
    - `prompt` string, required
    - `url` string, required
    - `version` 2, required
    - `createdAt` string, required
  - `run` object, nullable, required
    - `error` string, nullable, required
    - `finishedAt` string, nullable, required
    - `id` string, required
    - `startedAt` string, required
    - `status` 'running' | 'completed' | 'failed', required

## Other responses

- `400`: BadRequest
- `401`: Unauthorized
- `402`: PaymentRequired
- `403`: Forbidden
- `404`: NotFound
- `409`: Conflict
- `410`: Gone
- `413`: PayloadTooLarge
- `422`: UnprocessableEntity
- `429`: TooManyRequests
- `500`: InternalServerError
- `502`: BadGateway
- `503`: ServiceUnavailable

---

[API](https://skmtc.dev/sitenoar/apis/site-no-ar-api.md) · [All operations](https://skmtc.dev/sitenoar/apis/site-no-ar-api/llms.txt) · [OpenAPI document](https://skmtc.dev/sitenoar/apis/site-no-ar-api/revisions/c3a45f3f5ac6?raw)
