apyhub
Back
▣ DEVELOPER TOOLS · SEO

Audit Website SEO API

What it does

The SEO Audit API crawls a whole domain and reports its technical SEO health. Send a domain with optional crawl settings, get back an audit id, and fetch a report with score_percent, total_errors, total_warnings, total_notices, and total_passed.

Create a standard audit for an HTML crawl or an advanced audit with JavaScript rendering. Settings control max_pages (up to 300,000), max_depth, user_agent (including Googlebot and Bingbot), robots.txt and sitemap sources, and thresholds such as max_title_len and min_words. Audits move through queued, processing, and finished, so poll the status endpoint before reading results. Then list crawled pages, internal and external links, pages affected by an issue code, or every issue for one URL, and compare crawl history by date.

Teams use this SEO audit API for scheduled monitoring, release checks before a deploy, and before-and-after comparisons when fixes ship. Agencies run it as a site audit API across client sites and recheck audits in standard or advanced mode from their own tools.

Seed the crawl scope with the Sitemap Extraction API, review the external link profile with the Backlinks API, and confirm ranking changes after fixes with the SERP API.

▣ ENDPOINT 01 / 12
GET
Get audit report
https://api.eu.apyhub.com/se-ranking/website-audit/v1/site-audit/audits/report

QUICKSTART

GUIDE

Quickstart

Fetch a website audit report by passing the required audit_id as a query parameter.

curl -X GET "https://api.eu.apyhub.com/se-ranking/website-audit/v1/site-audit/audits/report?audit_id=12345" \
  -H "apy-token: $APY_TOKEN"

What you'll get back

Returns a JSON object with these top-level fields as declared by the schema: version (string), sections (array), audit_time (string), is_finished (boolean), total_pages (integer), domain_props (object), total_errors (integer), total_passed (integer), score_percent (integer), total_notices (integer), and total_warnings (integer).

{
  "version": "1.0",
  "sections": [],
  "audit_time": "2026-07-27T12:00:00Z",
  "is_finished": true,
  "total_pages": 3,
  "domain_props": {
    "expdate": null,
    "backlinks": "1250",
    "index_google": "yes"
  },
  "total_errors": 2,
  "total_passed": 18,
  "score_percent": 92,
  "total_notices": 4,
  "total_warnings": 1
}
TRY ITLIVE · 1 ATOM
Loading your default key…
The full key is used to call the gateway and stays in this tab — never sent to orbit or saved.

About this endpoint

What it does

Retrieves the audit report for a specific site audit identified by audit_id. The response returns a JSON object containing report metadata, overall counts, domain properties, and a list of report sections.

Query Parameter(s)

AttributeTypeDescription
audit_idIntegerIdentifier of the audit to retrieve.

Response

Returns a JSON object with report metadata and summary fields, including version (string), sections (array), audit_time (string), is_finished (boolean), total_pages (integer), domain_props (object), total_errors (integer), total_passed (integer), score_percent (integer), total_notices (integer), and total_warnings (integer).

AttributeTypeDescription
versionStringReport version string.
sectionsObject ArrayArray of report section objects. Each section can include uid (string), name (string), and props (object) with additional nested properties. For props entries, each item may include code (string), name (string), value (integer), and status (ENUM: error, warning, notice, passed).
audit_timeStringAudit time as a string.
is_finishedBooleanWhether the audit is finished.
total_pagesIntegerTotal number of pages in the audit.
domain_propsObjectDomain-level properties. Includes expdate (string, nullable), backlinks (string), and index_google (string).
total_errorsIntegerTotal number of errors in the report.
total_passedIntegerTotal number of passed items in the report.
score_percentIntegerScore percentage.
total_noticesIntegerTotal number of notices in the report.
total_warningsIntegerTotal number of warnings in the report.
▣ ENDPOINT 03 / 12
GET
Get All Issues for a Specific URL
https://api.eu.apyhub.com/se-ranking/website-audit/v1/site-audit/audits/issues

QUICKSTART

GUIDE

Quickstart

Fetch audit issues for a site audit by audit_id:

curl -X GET "https://api.eu.apyhub.com/se-ranking/website-audit/v1/site-audit/audits/issues?audit_id=12345" \
  -H "apy-token: $APY_TOKEN"

What you'll get back

Returns a JSON object with optional top-level url string, issues array, and page_data object. Each item in issues is an object that may include code, type (error, warning, or notice), group, and a snippet object.

{
  "url": "https://example.com",
  "issues": [
    {
      "code": "meta-description-too-short",
      "type": "warning",
      "group": "metadata",
      "snippet": {
        "type": "html",
        "value": []
      }
    }
  ],
  "page_data": {}
}
TRY ITLIVE · 10 ATOMS
Loading your default key…
The full key is used to call the gateway and stays in this tab — never sent to orbit or saved.

About this endpoint

What it does

Returns the issues associated with a specific website audit URL. You can identify the target with audit_id and optionally url or url_id as query parameters.

Query Parameter(s)

AttributeTypeDescription
urlStringURL to filter the issues by.
url_idIntegerID of the URL to filter the issues by.
audit_idIntegerAudit ID to retrieve issues for.

Response

Returns a JSON object with url as a string, issues as an array of issue objects, and page_data as an object containing the crawl snapshot for the page. The schema does not define a fixed shape for page_data beyond allowing additional properties.

ParameterTypeDescription
urlStringThe URL associated with the issues.
issuesObject ArrayArray of issue objects. Each issue may include code, type, group, and snippet.
issues[].codeStringIssue code.
issues[].typeENUMIssue type. Allowed values: error, warning, notice.
issues[].groupStringIssue group.
issues[].snippetObjectSnippet details for the issue.
issues[].snippet.typeStringSnippet type.
issues[].snippet.valueObject ArrayArray of snippet value objects.
page_dataObjectFull crawl snapshot for the page. The schema does not define fixed subfields and allows additional properties.

*Requires a completed audit. Check /v1/site-audit/audits/status first - processing may take a few minutes depending on site size.

▣ ENDPOINT 04 / 12
POST
Recheck audit standard
https://api.eu.apyhub.com/se-ranking/website-audit/v1/site-audit/audits/recheck/standard

QUICKSTART

GUIDE

Quickstart

Rechecks a standard site audit by passing the required audit_id as a query parameter.

curl -X POST "https://api.eu.apyhub.com/se-ranking/website-audit/v1/site-audit/audits/recheck/standard?audit_id=12345" \
  -H "apy-token: $APY_TOKEN"

What you'll get back

Returns a minimal acknowledgement; see the Docs tab for the full response shape.

TRY ITLIVE · 2000 ATOMS
Loading your default key…
The full key is used to call the gateway and stays in this tab — never sent to orbit or saved.

About this endpoint

What it does

Rechecks an existing standard site audit identified by audit_id and triggers a new audit run for that audit record.

Query Parameter(s)

AttributeTypeDescription
audit_idIntegerIdentifies the audit to recheck.

Response

The endpoint returns a minimal acknowledgement on success — the detailed shape is not yet captured in the schema.

▣ ENDPOINT 05 / 12
POST
Create standard audit
https://api.eu.apyhub.com/se-ranking/website-audit/v1/site-audit/audits/standard

QUICKSTART

GUIDE

Quickstart

Create a standard site audit by sending the required domain field.

curl -X POST "https://api.eu.apyhub.com/se-ranking/website-audit/v1/site-audit/audits/standard" \
  -H "apy-token: $APY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"domain":"example.com"}'

What you'll get back

Returns a JSON object with an id integer field, which is the created audit ID.

{
  "id": 123
}
TRY ITLIVE · 2000 ATOMS
Loading your default key…
The full key is used to call the gateway and stays in this tab — never sent to orbit or saved.
body
settings

About this endpoint

What it does

Creates a standard HTML crawl audit for the specified domain. You can optionally provide a title and a settings object to control crawl limits, filters, user agent, reporting, and related audit behavior.

Request Body

ParameterTypeDescription
titleStringOptional audit title. Maximum length 300 characters.
domainStringThe domain to audit.
settingsObjectCrawl and audit settings. See nested fields below.
settings.hideStringOptional hide rule. Nullable.
settings.allowStringOptional allow rule. Nullable.
settings.loginStringOptional login value. Nullable.
settings.max_reqIntegerMaximum requests. Default 500; minimum 1; maximum 500.
settings.disallowStringOptional disallow rule. Nullable.
settings.max_sizeIntegerMaximum size. Default 3000; minimum 1; maximum 100000.
settings.passwordStringOptional password. Nullable.
settings.max_depthIntegerMaximum crawl depth. Default 10; minimum 1; maximum 100.
settings.max_pagesIntegerMaximum pages. Default 1000; minimum 1; maximum 300000.
settings.min_wordsIntegerMinimum words. Default 250; minimum 1; maximum 10000.
settings.max_h1_lenIntegerMaximum H1 length. Default 100; minimum 1; maximum 10000.
settings.max_h2_lenIntegerMaximum H2 length. Default 100; minimum 1; maximum 10000.
settings.user_agentIntegerUser agent selection. Default 0; minimum 0; maximum 13. Allowed values: 0 SE Ranking bot, 1 Googlebot, 2 Googlebot Image, 3 Bingbot, 4 Yahoo! Slurp, 5 YandexBot, 6 BaiduSpider, 7 Chrome/Windows, 8 Chrome/macOS, 9 Chrome/iOS, 10 Firefox/Windows, 11 Firefox/Linux, 12 Safari/macOS, 13 Opera/Windows.
settings.send_reportENUMAllowed values: 0, 1. Default 1.
settings.source_fileENUMAllowed values: 0, 1. Default 0.
settings.source_siteENUMAllowed values: 0, 1. Default 1.
settings.check_robotsENUMAllowed values: 0, 1. Default 1.
settings.custom_paramsStringCustom query parameters to consider. Default utm_source, utm_medium, utm_term, utm_content, utm_campaign, cid, PHPSESSID.
settings.ignore_paramsENUMAllowed values: 0, 1, 2. Default 0.
settings.max_redirectsIntegerMaximum redirects. Default 5; minimum 1; maximum 50.
settings.max_title_lenIntegerMaximum title length. Default 65; minimum 1; maximum 10000.
settings.min_title_lenIntegerMinimum title length. Default 20; minimum 1; maximum 10000.
settings.report_emailsStringEmail addresses for reports. Default is empty string.
settings.ignore_noindexENUMAllowed values: 0, 1. Default 0.
settings.source_sitemapENUMAllowed values: 0, 1. Default 1.
settings.ignore_nofollowENUMAllowed values: 0, 1. Default 0.
settings.source_subdomainENUMAllowed values: 0, 1. Default 0.
settings.max_description_lenIntegerMaximum meta description length. Default 158; minimum 1; maximum 10000.
settings.min_description_lenIntegerMinimum meta description length. Default 1; minimum 1; maximum 10000.

Response

Returns a JSON object with an id integer field. This is the identifier of the created audit.

ParameterTypeDescription
idIntegerThe created audit ID.
▣ ENDPOINT 06 / 12
POST
Recheck audit advanced
https://api.eu.apyhub.com/se-ranking/website-audit/v1/site-audit/audits/recheck/advanced

QUICKSTART

GUIDE

Quickstart

Recheck an existing site audit by its audit_id query parameter.

curl -X POST "https://api.eu.apyhub.com/se-ranking/website-audit/v1/site-audit/audits/recheck/advanced?audit_id=12345" \
  -H "apy-token: $APY_TOKEN"

What you'll get back

Returns a minimal acknowledgement; see the Docs tab for the full response shape.

TRY ITLIVE · 2000 ATOMS
Loading your default key…
The full key is used to call the gateway and stays in this tab — never sent to orbit or saved.

About this endpoint

What it does

Rechecks an existing website audit using the provided audit_id query parameter. The success response shape is not yet defined in the output schema.

Query Parameter(s)

AttributeTypeDescription
audit_idIntegerIdentifies the audit to recheck.

Response

The endpoint returns a minimal acknowledgement on success — the detailed shape is not yet captured in the schema.

▣ ENDPOINT 07 / 12
POST
Create advanced audit
https://api.eu.apyhub.com/se-ranking/website-audit/v1/site-audit/audits/advanced

QUICKSTART

GUIDE

Quickstart

Create an advanced website audit for a domain using the required domain field.

curl -X POST "https://api.eu.apyhub.com/se-ranking/website-audit/v1/site-audit/audits/advanced" \
  -H "apy-token: $APY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"domain":"example.com"}'

What you'll get back

Returns a JSON object with an id integer field.

{
  "id": 12345
}
TRY ITLIVE · 2000 ATOMS
Loading your default key…
The full key is used to call the gateway and stays in this tab — never sent to orbit or saved.
body
settings

About this endpoint

What it does

Creates a new advanced website audit for the specified domain. You can optionally include a title and audit settings in the request body, and the endpoint returns the created audit’s numeric identifier.

Request Body

ParameterTypeDescription
titleStringAudit title. Maximum length: 300 characters.
domainStringThe domain to audit.
settingsObjectAdvanced audit settings. See nested fields below.
settings.hideStringNullable.
settings.allowStringNullable.
settings.loginStringNullable.
settings.max_reqIntegerDefault: 500. Minimum: 1. Maximum: 500.
settings.disallowStringNullable.
settings.max_sizeIntegerDefault: 3000. Minimum: 1. Maximum: 100000.
settings.passwordStringNullable.
settings.max_depthIntegerDefault: 10. Minimum: 1. Maximum: 100.
settings.max_pagesIntegerDefault: 1000. Minimum: 1. Maximum: 300000.
settings.min_wordsIntegerDefault: 250. Minimum: 1. Maximum: 10000.
settings.max_h1_lenIntegerDefault: 100. Minimum: 1. Maximum: 10000.
settings.max_h2_lenIntegerDefault: 100. Minimum: 1. Maximum: 10000.
settings.user_agentIntegerDefault: 0. Allowed values: 0–13.
0 SE Ranking bot, 1 Googlebot, 2 Googlebot Image, 3 Bingbot, 4 Yahoo! Slurp, 5 YandexBot, 6 BaiduSpider, 7 Chrome/Windows, 8 Chrome/macOS, 9 Chrome/iOS, 10 Firefox/Windows, 11 Firefox/Linux, 12 Safari/macOS, 13 Opera/Windows.
settings.send_reportENUMDefault: 1. Allowed values: 0, 1.
settings.source_fileENUMDefault: 0. Allowed values: 0, 1.
settings.source_siteENUMDefault: 1. Allowed values: 0, 1.
settings.check_robotsENUMDefault: 1. Allowed values: 0, 1.
settings.custom_paramsStringDefault: utm_source, utm_medium, utm_term, utm_content, utm_campaign, cid, PHPSESSID.
settings.ignore_paramsENUMDefault: 0. Allowed values: 0, 1, 2.
settings.max_redirectsIntegerDefault: 5. Minimum: 1. Maximum: 50.
settings.max_title_lenIntegerDefault: 65. Minimum: 1. Maximum: 10000.
settings.min_title_lenIntegerDefault: 20. Minimum: 1. Maximum: 10000.
settings.report_emailsStringDefault: empty string.
settings.ignore_noindexENUMDefault: 0. Allowed values: 0, 1.
settings.source_sitemapENUMDefault: 1. Allowed values: 0, 1.
settings.ignore_nofollowENUMDefault: 0. Allowed values: 0, 1.
settings.source_subdomainENUMDefault: 0. Allowed values: 0, 1.
settings.max_description_lenIntegerDefault: 158. Minimum: 1. Maximum: 10000.
settings.min_description_lenIntegerDefault: 1. Minimum: 1. Maximum: 10000.

Response

Returns a JSON object with an id integer field. The id field is the created audit identifier.

ParameterTypeDescription
idIntegerThe created audit identifier.
▣ ENDPOINT 08 / 12
GET
Get audit status
https://api.eu.apyhub.com/se-ranking/website-audit/v1/site-audit/audits/status

QUICKSTART

GUIDE

Quickstart

Check the status of a website audit by passing the required audit_id as a query parameter.

curl -X GET "https://api.eu.apyhub.com/se-ranking/website-audit/v1/site-audit/audits/status?audit_id=12345" \
  -H "apy-token: $APY_TOKEN"

What you'll get back

Returns a JSON object with optional top-level fields such as status (a string), audit_time (a string), start_time (a string), total_pages (an integer), total_errors (an integer), total_passed (an integer), and total_warnings (an integer).

{
  "status": "finished",
  "audit_time": "2026-07-27T12:34:56Z",
  "start_time": "2026-07-27T12:00:00Z",
  "total_pages": 42,
  "total_errors": 3,
  "total_passed": 37,
  "total_warnings": 2
}
TRY ITLIVE · 10 ATOMS
Loading your default key…
The full key is used to call the gateway and stays in this tab — never sent to orbit or saved.

About this endpoint

What it does

Retrieves the current status and, once available, summary results for a website audit identified by audit_id. The response includes the audit status and may include timing and aggregate counts for pages and issue types.

Query Parameter(s)

AttributeTypeDescription
audit_idIntegerIdentifier of the audit to check.

Response

Returns a JSON object with status, audit_time, start_time, total_pages, total_errors, total_passed, and total_warnings fields. status is a string enum indicating the audit state; the remaining fields provide timing and summary counts when available.

AttributeTypeDescription
statusENUMAudit state. Allowed values: queued, processing, finished, cancelled, expired.
audit_timeStringPresent once finished.
start_timeStringStart time of the audit.
total_pagesIntegerTotal number of pages audited.
total_errorsIntegerTotal number of errors found.
total_passedIntegerTotal number of passed checks.
total_warningsIntegerTotal number of warnings found.
▣ ENDPOINT 09 / 12
GET
Get all crawled pages
https://api.eu.apyhub.com/se-ranking/website-audit/v1/site-audit/audits/pages

QUICKSTART

GUIDE

Quickstart

Fetch the audited pages for a specific audit by passing its required audit_id as a query parameter.

curl -X GET "https://api.eu.apyhub.com/se-ranking/website-audit/v1/site-audit/audits/pages?audit_id=12345" \
  -H "apy-token: $APY_TOKEN"

What you'll get back

Returns a JSON object with an items array and a total integer. Each items entry is an object with page audit details such as url, title, status, and other string fields.

{
  "items": [
    {
      "id": "page-1",
      "url": "https://example.com/",
      "title": "Home",
      "status": "200"
    }
  ],
  "total": 1
}
TRY ITLIVE · 10 ATOMS
Loading your default key…
The full key is used to call the gateway and stays in this tab — never sent to orbit or saved.

About this endpoint

What it does

Retrieves the list of pages that were crawled for a specific site audit. The request takes an audit_id and optional pagination parameters, and the response returns the matching page records plus a total count.

Query Parameter(s)

AttributeTypeDescription
audit_idIntegerIdentifies the audit to read pages from.
limitIntegerMaximum number of items to return. Default: 100.
offsetIntegerNumber of items to skip before returning results. Default: 0.

Response

Returns a JSON object with an items array field and a total integer field. Each element in items is an object containing page-level crawl data such as id, url, title, status, and related metrics/flags. Success response: 200.

ParameterTypeDescription
itemsObject ArrayArray of crawled page objects. Each object may include the following fields: h1, id, url, depth, title, errors, issues, status, inlinks, load_ms, notices, warnings, description, words_count, canonical_url, indexable_status, outlinks_external, outlinks_internal. All of these are modeled as strings in the schema.
totalIntegerTotal number of crawled pages available for the audit.

*Requires a completed audit. Check /v1/site-audit/audits/status first - processing may take a few minutes depending on site size.

▣ ENDPOINT 10 / 12
GET
List audits
https://api.eu.apyhub.com/se-ranking/website-audit/v1/site-audit/audits

QUICKSTART

GUIDE

Quickstart

List website audit runs with the default page size.

curl -X GET "https://api.eu.apyhub.com/se-ranking/website-audit/v1/site-audit/audits?limit=100&offset=0" \
  -H "apy-token: $APY_TOKEN"

What you'll get back

Returns a JSON object with an items array and a total integer. Each item is a website audit object with fields like id, url, stats, status, and last_update.

{
  "items": [
    {
      "id": 123,
      "url": "https://example.com",
      "error": null,
      "stats": {
        "score": 98,
        "errors": 0,
        "crawled": 120,
        "notices": 2,
        "warnings": 1
      },
      "title": "Example Site Audit",
      "is_new": 0,
      "status": "finished",
      "site_id": 45,
      "version": "1.0",
      "group_id": 7,
      "prev_stats": null,
      "has_project": true,
      "last_update": "2026-07-27",
      "error_params": null,
      "owner_account_id": 9
    }
  ],
  "total": 1
}
TRY ITLIVE · 10 ATOMS
Loading your default key…
The full key is used to call the gateway and stays in this tab — never sent to orbit or saved.
items

About this endpoint

What it does

Returns a paginated list of website audit records. You can filter the list by search text and by a date range using query parameters.

Query Parameter(s)

AttributeTypeDescription
limitIntegerMaximum number of items to return. Default: 100.
offsetIntegerNumber of items to skip before returning results. Default: 0.
searchStringSearch term used to filter audits.
date_endStringEnd of the date range filter. Format: date (YYYY-MM-DD).
date_startStringStart of the date range filter. Format: date (YYYY-MM-DD).

Response

Returns a JSON object with an items array and a total integer field. Each item in items is an object containing audit details such as id, url, stats, status, and related metadata.

ParameterTypeDescription
itemsObject ArrayList of audit records returned by the endpoint. Each object contains: id (Integer), url (String), error (String, nullable), stats (Object), title (String), is_new (Integer), status (String; e.g. finished, processing), site_id (Integer), version (String), group_id (Integer), prev_stats (Object, nullable), has_project (Boolean), last_update (String; format: date), error_params (nullable), owner_account_id (Integer).
totalIntegerTotal number of audits matching the query.
▣ ENDPOINT 11 / 12
GET
Get audit pages by issue
https://api.eu.apyhub.com/se-ranking/website-audit/v1/site-audit/audits/issue-pages

QUICKSTART

GUIDE

Quickstart

Fetch the issue pages for a specific audit by passing the required audit_id and code as query parameters.

curl -X GET "https://api.eu.apyhub.com/se-ranking/website-audit/v1/site-audit/audits/issue-pages?audit_id=12345&code=mobile" \
  -H "apy-token: $APY_TOKEN"

What you'll get back

Returns a JSON object with these top-level fields: urls (an array of strings), urls_type (a string), and total_urls (an integer).

{
  "urls": ["https://example.com/page-1", "https://example.com/page-2"],
  "urls_type": "simple_urls_array",
  "total_urls": 2
}
TRY ITLIVE · 10 ATOMS
Loading your default key…
The full key is used to call the gateway and stays in this tab — never sent to orbit or saved.

About this endpoint

What it does

Returns the list of page URLs associated with a specific audit issue, along with the total number of matching URLs. The request is filtered by audit ID and issue code, with optional pagination controls.

Query Parameter(s)

AttributeTypeDescription
codeStringIssue code to filter by.
limitIntegerNumber of URLs to return. Default: 100.
offsetIntegerNumber of URLs to skip before returning results. Default: 0.
audit_idIntegerAudit identifier to filter by.

Response

Returns a JSON object with urls as a string array, urls_type as a string, and total_urls as an integer.

AttributeTypeDescription
urlsString ArrayPage URLs matching the requested issue.
urls_typeStringA string describing the URL list format.
total_urlsIntegerTotal number of matching URLs.
▣ ENDPOINT 12 / 12
GET
Get audit history by date
https://api.eu.apyhub.com/se-ranking/website-audit/v1/site-audit/audits/history

QUICKSTART

GUIDE

Quickstart

Fetch the audit history for a specific audit ID and date using query parameters.

curl -X GET "https://api.eu.apyhub.com/se-ranking/website-audit/v1/site-audit/audits/history?audit_id=12345&date=2024-01-15" \
  -H "apy-token: $APY_TOKEN"

What you'll get back

Returns a JSON object with these top-level fields: totals (an object with total_pages, total_errors, total_passed, and total_warnings), version (string), settings (object), audit_time (string), pages_data (object keyed by issue code with integer values), and domain_data (object).

{
  "totals": {
    "total_pages": 12,
    "total_errors": 3,
    "total_passed": 120,
    "total_warnings": 8
  },
  "version": "1.0.0",
  "settings": {},
  "audit_time": "2024-01-15T10:30:00Z",
  "pages_data": {
    "E001": 2,
    "W002": 6
  },
  "domain_data": {}
}
TRY ITLIVE · 10 ATOMS
Loading your default key…
The full key is used to call the gateway and stays in this tab — never sent to orbit or saved.

About this endpoint

What it does

Retrieves audit history for a specific website audit on a given date. It accepts the audit identifier and date as query parameters and returns a JSON object containing summary totals, version information, settings, audit time, and audit result data.

Query Parameter(s)

AttributeTypeDescription
dateStringDate in YYYY-MM-DD format.
audit_idIntegerIdentifier of the audit to retrieve history for.

Response

Returns a JSON object with totals, version, settings, audit_time, pages_data, and domain_data fields. totals is an object containing page and issue counts, version and audit_time are strings, settings and domain_data are objects, and pages_data is an object keyed by issue code with integer values.

ParameterTypeDescription
totalsObjectSummary counts for the audit history.
totals.total_pagesIntegerTotal number of pages.
totals.total_errorsIntegerTotal number of errors.
totals.total_passedIntegerTotal number of passed checks.
totals.total_warningsIntegerTotal number of warnings.
versionStringVersion string returned by the endpoint.
settingsObjectAudit settings object. Additional properties are allowed.
audit_timeStringAudit time value.
pages_dataObjectObject keyed by issue code. Values are integers.
domain_dataObjectDomain-level data object. Additional properties are allowed.
▣ COMMON ERRORS

Errors any endpoint can return

400bad_request

Required parameter missing or malformed body.

401unauthorized

API key missing, revoked, or not authorized for this service.

429rate_limited

Your plan's per-second rate exceeded. Retry with exponential backoff.

503upstream_busy

Backend temporarily unavailable. Try again in a few seconds.