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

# SEO Audit

> Run an SEO audit for a page or a website.

Run SEO checks for one page or crawl a site for a broader audit. Send the options in the JSON body. `GET /v3/seo-audit` supports the same audit with query parameters.

Single-page audits stream newline-delimited JSON (`application/x-ndjson`). Progress lines contain `status`; the final line contains `url`, `seoAudit`, and `screenshot`. The `seoAudit` object includes overall and category scores, individual checks, and an audit summary. Read the final line to get the completed result. If an error occurs after streaming begins, it arrives as an `error` line while the HTTP status remains 200.

Preview and multiple-page modes return ordinary JSON. Their shape depends on the selected options: a preview includes a suggested brand, a queued audit includes a `jobId`, and a synchronous multiple-page audit includes `results`.

<Note>
  A website-wide audit can take time and may continue in the background. Check the audit status endpoints before starting another run for the same site.
</Note>


## OpenAPI

````yaml POST /v3/seo-audit
openapi: 3.0.0
info:
  title: SnowSEO API
  description: API documentation for SnowSEO
  version: 1.0.0
servers:
  - url: https://api.snowseo.com
    description: Production server
security: []
tags:
  - name: Keywords
    description: Keyword research and suggestion end-points
  - name: Onboarding
    description: Brand onboarding and strategy end-points
  - name: Brands
    description: Brand management end-points
  - name: Organizations
    description: Organization and member end-points
  - name: Integrations
    description: Google Search Console and other integrations
  - name: Utilities
    description: Common utility end-points like screenshots and uploads
externalDocs:
  url: https://snowseo.com/docs
  description: Find more info here
paths:
  /v3/seo-audit:
    post:
      tags:
        - SEO Audit
      summary: Perform a comprehensive SEO audit on a website
      description: >-
        Crawls a URL with Firecrawl (Crawl4AI fallback), performs a
        multi-category SEO audit (Common SEO Issues, Server & Security, Mobile
        Usability, Advanced SEO), and returns structured results with scores per
        category. In `multiple` mode (deep crawl) with `async=true`, the route
        returns 200 immediately and saves results to the database in the
        background. The route accepts both GET (params in querystring) and POST
        (params in JSON body).
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
              properties:
                url:
                  type: string
                  description: URL to audit (https:// prefixed automatically)
                teamId:
                  type: string
                  description: Team ID (required for async multiple mode)
                auditType:
                  type: string
                  enum:
                    - single
                    - multiple
                  default: single
                  description: 'Audit mode: single page or deep multi-page crawl'
                async:
                  type: string
                  enum:
                    - 'true'
                    - 'false'
                  default: 'true'
                  description: Enable async background processing (multiple mode only)
                includeTags:
                  anyOf:
                    - type: string
                    - type: array
                      items:
                        type: string
                  description: HTML tags to include during crawl
                excludeTags:
                  anyOf:
                    - type: string
                    - type: array
                      items:
                        type: string
                  description: HTML tags to exclude during crawl
                urls:
                  type: array
                  items:
                    type: string
                  minItems: 1
                  description: >-
                    Batch of URLs to audit (alternative to url for Audit
                    Selected). Requires teamId.
      responses:
        '200':
          description: >-
            Preview and multi-page requests return JSON. Single-page audits
            stream status updates followed by the final result as NDJSON.
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
                properties:
                  url:
                    type: string
                  title:
                    type: string
                  suggestedBrand:
                    type: string
                  seoAudit:
                    type: object
                    additionalProperties: true
                    description: Final SEO audit result for a single page.
                    properties:
                      overallScore:
                        type: number
                      totalTests:
                        type: number
                      passedTests:
                        type: number
                      timestamp:
                        type: string
                        format: date-time
                      brandName:
                        type: string
                        nullable: true
                      categoryScores:
                        type: object
                        additionalProperties: true
                        properties:
                          commonSeoIssues:
                            type: number
                          serverAndSecurity:
                            type: number
                          mobileUsability:
                            type: number
                          advancedSeo:
                            type: number
                          content:
                            type: number
                          socialTags:
                            type: number
                          localization:
                            type: number
                          performance:
                            type: number
                          links:
                            type: number
                      results:
                        type: object
                        additionalProperties: true
                        properties:
                          commonSeoIssues:
                            type: object
                            description: >-
                              Audit checks keyed by check name. Individual
                              checks may include additional details.
                            additionalProperties:
                              type: object
                              additionalProperties: true
                              properties:
                                passed:
                                  type: boolean
                                  nullable: true
                                severity:
                                  type: string
                                  enum:
                                    - high
                                    - medium
                                    - low
                                status:
                                  type: string
                                description:
                                  type: string
                                recommendation:
                                  type: string
                                bestPractices:
                                  type: array
                                  items:
                                    type: string
                          serverAndSecurity:
                            type: object
                            description: >-
                              Audit checks keyed by check name. Individual
                              checks may include additional details.
                            additionalProperties:
                              type: object
                              additionalProperties: true
                              properties:
                                passed:
                                  type: boolean
                                  nullable: true
                                severity:
                                  type: string
                                  enum:
                                    - high
                                    - medium
                                    - low
                                status:
                                  type: string
                                description:
                                  type: string
                                recommendation:
                                  type: string
                                bestPractices:
                                  type: array
                                  items:
                                    type: string
                          mobileUsability:
                            type: object
                            description: >-
                              Audit checks keyed by check name. Individual
                              checks may include additional details.
                            additionalProperties:
                              type: object
                              additionalProperties: true
                              properties:
                                passed:
                                  type: boolean
                                  nullable: true
                                severity:
                                  type: string
                                  enum:
                                    - high
                                    - medium
                                    - low
                                status:
                                  type: string
                                description:
                                  type: string
                                recommendation:
                                  type: string
                                bestPractices:
                                  type: array
                                  items:
                                    type: string
                          advancedSeo:
                            type: object
                            description: >-
                              Audit checks keyed by check name. Individual
                              checks may include additional details.
                            additionalProperties:
                              type: object
                              additionalProperties: true
                              properties:
                                passed:
                                  type: boolean
                                  nullable: true
                                severity:
                                  type: string
                                  enum:
                                    - high
                                    - medium
                                    - low
                                status:
                                  type: string
                                description:
                                  type: string
                                recommendation:
                                  type: string
                                bestPractices:
                                  type: array
                                  items:
                                    type: string
                          content:
                            type: object
                            description: >-
                              Audit checks keyed by check name. Individual
                              checks may include additional details.
                            additionalProperties:
                              type: object
                              additionalProperties: true
                              properties:
                                passed:
                                  type: boolean
                                  nullable: true
                                severity:
                                  type: string
                                  enum:
                                    - high
                                    - medium
                                    - low
                                status:
                                  type: string
                                description:
                                  type: string
                                recommendation:
                                  type: string
                                bestPractices:
                                  type: array
                                  items:
                                    type: string
                          socialTags:
                            type: object
                            description: >-
                              Audit checks keyed by check name. Individual
                              checks may include additional details.
                            additionalProperties:
                              type: object
                              additionalProperties: true
                              properties:
                                passed:
                                  type: boolean
                                  nullable: true
                                severity:
                                  type: string
                                  enum:
                                    - high
                                    - medium
                                    - low
                                status:
                                  type: string
                                description:
                                  type: string
                                recommendation:
                                  type: string
                                bestPractices:
                                  type: array
                                  items:
                                    type: string
                          localization:
                            type: object
                            description: >-
                              Audit checks keyed by check name. Individual
                              checks may include additional details.
                            additionalProperties:
                              type: object
                              additionalProperties: true
                              properties:
                                passed:
                                  type: boolean
                                  nullable: true
                                severity:
                                  type: string
                                  enum:
                                    - high
                                    - medium
                                    - low
                                status:
                                  type: string
                                description:
                                  type: string
                                recommendation:
                                  type: string
                                bestPractices:
                                  type: array
                                  items:
                                    type: string
                          performance:
                            type: object
                            description: >-
                              Audit checks keyed by check name. Individual
                              checks may include additional details.
                            additionalProperties:
                              type: object
                              additionalProperties: true
                              properties:
                                passed:
                                  type: boolean
                                  nullable: true
                                severity:
                                  type: string
                                  enum:
                                    - high
                                    - medium
                                    - low
                                status:
                                  type: string
                                description:
                                  type: string
                                recommendation:
                                  type: string
                                bestPractices:
                                  type: array
                                  items:
                                    type: string
                          links:
                            type: object
                            description: >-
                              Audit checks keyed by check name. Individual
                              checks may include additional details.
                            additionalProperties:
                              type: object
                              additionalProperties: true
                              properties:
                                passed:
                                  type: boolean
                                  nullable: true
                                severity:
                                  type: string
                                  enum:
                                    - high
                                    - medium
                                    - low
                                status:
                                  type: string
                                description:
                                  type: string
                                recommendation:
                                  type: string
                                bestPractices:
                                  type: array
                                  items:
                                    type: string
                      auditSummary:
                        type: object
                        additionalProperties: true
                        properties:
                          score:
                            type: number
                          grade:
                            type: string
                          status:
                            type: string
                          categories:
                            type: object
                            additionalProperties: true
                            properties:
                              commonSeo:
                                type: object
                                additionalProperties: true
                                properties:
                                  score:
                                    type: number
                                  status:
                                    type: string
                              security:
                                type: object
                                additionalProperties: true
                                properties:
                                  score:
                                    type: number
                                  status:
                                    type: string
                              mobile:
                                type: object
                                additionalProperties: true
                                properties:
                                  score:
                                    type: number
                                  status:
                                    type: string
                              advanced:
                                type: object
                                additionalProperties: true
                                properties:
                                  score:
                                    type: number
                                  status:
                                    type: string
                              content:
                                type: object
                                additionalProperties: true
                                properties:
                                  score:
                                    type: number
                                  status:
                                    type: string
                              socialTags:
                                type: object
                                additionalProperties: true
                                properties:
                                  score:
                                    type: number
                                  status:
                                    type: string
                              localization:
                                type: object
                                additionalProperties: true
                                properties:
                                  score:
                                    type: number
                                  status:
                                    type: string
                              performance:
                                type: object
                                additionalProperties: true
                                properties:
                                  score:
                                    type: number
                                  status:
                                    type: string
                              links:
                                type: object
                                additionalProperties: true
                                properties:
                                  score:
                                    type: number
                                  status:
                                    type: string
                      linkDistribution:
                        type: object
                        additionalProperties: true
                        properties:
                          total:
                            type: number
                          external:
                            type: number
                          internal:
                            type: number
                          nofollow:
                            type: number
                          noreferrer:
                            type: number
                          dofollow:
                            type: number
                          noopener:
                            type: number
                          anchor:
                            type: number
                      metadata:
                        type: object
                        additionalProperties: true
                        properties:
                          metadataFoundCount:
                            type: number
                          chart:
                            type: object
                            additionalProperties:
                              type: number
                          detectedCms:
                            type: string
                            nullable: true
                          images:
                            type: object
                            additionalProperties: true
                            properties:
                              totalImages:
                                type: number
                              imageTypeDistribution:
                                type: object
                                additionalProperties:
                                  type: number
                              imageIssues:
                                type: object
                                additionalProperties: true
                                properties:
                                  brokenImages:
                                    type: number
                                  bigImages:
                                    type: number
                                  slowImages:
                                    type: number
                                  missingAltTags:
                                    type: number
                  screenshot:
                    type: string
                    nullable: true
                  success:
                    type: boolean
                  message:
                    type: string
                  totalPages:
                    type: number
                  jobId:
                    type: string
                    nullable: true
                  results:
                    type: array
                    nullable: true
                    items:
                      type: object
                      additionalProperties: true
                      properties:
                        url:
                          type: string
                        score:
                          type: number
                        data:
                          type: object
                          additionalProperties: true
            application/x-ndjson:
              schema:
                type: string
                description: >-
                  Newline-delimited JSON. Status lines have a status field; the
                  final line has url, seoAudit, and screenshot. Errors after
                  streaming begins appear as an error line with HTTP 200. See
                  the JSON schema for final-result fields.
        '400':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  message:
                    type: string

````