Skip to main content
POST
Perform a comprehensive SEO audit on 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.
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.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
url
string

URL to audit (https:// prefixed automatically)

teamId
string

Team ID (required for async multiple mode)

auditType
enum<string>
default:single

Audit mode: single page or deep multi-page crawl

Available options:
single,
multiple
async
enum<string>
default:true

Enable async background processing (multiple mode only)

Available options:
true,
false
includeTags

HTML tags to include during crawl

excludeTags

HTML tags to exclude during crawl

urls
string[]

Batch of URLs to audit (alternative to url for Audit Selected). Requires teamId.

Minimum array length: 1

Response

Preview and multi-page requests return JSON. Single-page audits stream status updates followed by the final result as NDJSON.

url
string
title
string
suggestedBrand
string
seoAudit
object

Final SEO audit result for a single page.

screenshot
string | null
success
boolean
message
string
totalPages
number
jobId
string | null
results
object[] | null