apyhub
DEVELOPER TOOLS · SEO

Audit Website SEO API

What it does

Website Audit lets you create, inspect, and manage site crawls for SEO and technical health checks. Send a domain and crawl settings, then track the audit as it moves through queued, processing, and finished states.

Use the standard audit endpoint for an HTML crawl or the advanced audit endpoint when you need JavaScript rendering. Both accept a domain and an optional title, plus crawl settings such as max_pages, max_depth, check_robots, source_sitemap, source_subdomain, ignore_nofollow, ignore_noindex, and crawl limits like max_req, max_size, max_redirects, min_words, max_title_len, and max_description_len. The create endpoints return an id you can use across the rest of the API.

Once an audit exists, fetch its status, full report, crawl history by date, crawled pages, found links, issue pages, or the issues for a specific URL. The list endpoint returns audit metadata such as url, title, status, stats, prev_stats, last_update, and error; the report endpoint returns sectioned results with score_percent, total_errors, total_warnings, total_notices, and total_passed.

Website Audit is useful for scheduled SEO monitoring, release checks before publishing, and comparing crawl changes after fixes. You can also recheck an audit in standard or advanced mode.

▣ 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)

AttributeTypeMandatoryDescription
audit_idIntegerYesIdentifier 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).

AttributeTypeMandatoryDescription
versionStringNoReport version string.
sectionsObject ArrayNoArray 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_timeStringNoAudit time as a string.
is_finishedBooleanNoWhether the audit is finished.
total_pagesIntegerNoTotal number of pages in the audit.
domain_propsObjectNoDomain-level properties. Includes expdate (string, nullable), backlinks (string), and index_google (string).
total_errorsIntegerNoTotal number of errors in the report.
total_passedIntegerNoTotal number of passed items in the report.
score_percentIntegerNoScore percentage.
total_noticesIntegerNoTotal number of notices in the report.
total_warningsIntegerNoTotal number of warnings in the report.

Query parameters

Name
Type
Description
audit_idREQUIRED
integer
▣ ENDPOINT 06 / 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 · 0 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)

AttributeTypeMandatoryDescription
urlStringNoURL to filter the issues by.
url_idIntegerNoID of the URL to filter the issues by.
audit_idIntegerYesAudit 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.

ParameterTypeMandatoryDescription
urlStringNoThe URL associated with the issues.
issuesObject ArrayNoArray of issue objects. Each issue may include code, type, group, and snippet.
issues[].codeStringNoIssue code.
issues[].typeENUMNoIssue type. Allowed values: error, warning, notice.
issues[].groupStringNoIssue group.
issues[].snippetObjectNoSnippet details for the issue.
issues[].snippet.typeStringNoSnippet type.
issues[].snippet.valueObject ArrayNoArray of snippet value objects.
page_dataObjectNoFull crawl snapshot for the page. The schema does not define fixed subfields and allows additional properties.

Query parameters

Name
Type
Description
urlOPTIONAL
string
url_idOPTIONAL
integer
audit_idREQUIRED
integer
▣ ENDPOINT 03 / 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)

AttributeTypeMandatoryDescription
audit_idIntegerYesIdentifies the audit to recheck.

Response

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

Query parameters

Name
Type
Description
audit_idREQUIRED
integer
▣ ENDPOINT 04 / 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
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.

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

ParameterTypeMandatoryDescription
titleStringNoOptional audit title. Maximum length 300 characters.
domainStringYesThe domain to audit.
settingsObjectNoCrawl and audit settings. See nested fields below.
settings.hideStringNoOptional hide rule. Nullable.
settings.allowStringNoOptional allow rule. Nullable.
settings.loginStringNoOptional login value. Nullable.
settings.max_reqIntegerNoMaximum requests. Default 500; minimum 1; maximum 500.
settings.disallowStringNoOptional disallow rule. Nullable.
settings.max_sizeIntegerNoMaximum size. Default 3000; minimum 1; maximum 100000.
settings.passwordStringNoOptional password. Nullable.
settings.max_depthIntegerNoMaximum crawl depth. Default 10; minimum 1; maximum 100.
settings.max_pagesIntegerNoMaximum pages. Default 1000; minimum 1; maximum 300000.
settings.min_wordsIntegerNoMinimum words. Default 250; minimum 1; maximum 10000.
settings.max_h1_lenIntegerNoMaximum H1 length. Default 100; minimum 1; maximum 10000.
settings.max_h2_lenIntegerNoMaximum H2 length. Default 100; minimum 1; maximum 10000.
settings.user_agentIntegerNoUser 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_reportENUMNoAllowed values: 0, 1. Default 1.
settings.source_fileENUMNoAllowed values: 0, 1. Default 0.
settings.source_siteENUMNoAllowed values: 0, 1. Default 1.
settings.check_robotsENUMNoAllowed values: 0, 1. Default 1.
settings.custom_paramsStringNoCustom query parameters to consider. Default utm_source, utm_medium, utm_term, utm_content, utm_campaign, cid, PHPSESSID.
settings.ignore_paramsENUMNoAllowed values: 0, 1, 2. Default 0.
settings.max_redirectsIntegerNoMaximum redirects. Default 5; minimum 1; maximum 50.
settings.max_title_lenIntegerNoMaximum title length. Default 65; minimum 1; maximum 10000.
settings.min_title_lenIntegerNoMinimum title length. Default 20; minimum 1; maximum 10000.
settings.report_emailsStringNoEmail addresses for reports. Default is empty string.
settings.ignore_noindexENUMNoAllowed values: 0, 1. Default 0.
settings.source_sitemapENUMNoAllowed values: 0, 1. Default 1.
settings.ignore_nofollowENUMNoAllowed values: 0, 1. Default 0.
settings.source_subdomainENUMNoAllowed values: 0, 1. Default 0.
settings.max_description_lenIntegerNoMaximum meta description length. Default 158; minimum 1; maximum 10000.
settings.min_description_lenIntegerNoMinimum 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.

ParameterTypeMandatoryDescription
idIntegerYesThe created audit ID.

Body

Name
Type
Description
bodyOPTIONAL
object
▣ ENDPOINT 05 / 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)

AttributeTypeMandatoryDescription
audit_idIntegerYesIdentifies the audit to recheck.

Response

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

Query parameters

Name
Type
Description
audit_idREQUIRED
integer
▣ 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
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.

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

ParameterTypeMandatoryDescription
titleStringNoAudit title. Maximum length: 300 characters.
domainStringYesThe domain to audit.
settingsObjectNoAdvanced audit settings. See nested fields below.
settings.hideStringNoNullable.
settings.allowStringNoNullable.
settings.loginStringNoNullable.
settings.max_reqIntegerNoDefault: 500. Minimum: 1. Maximum: 500.
settings.disallowStringNoNullable.
settings.max_sizeIntegerNoDefault: 3000. Minimum: 1. Maximum: 100000.
settings.passwordStringNoNullable.
settings.max_depthIntegerNoDefault: 10. Minimum: 1. Maximum: 100.
settings.max_pagesIntegerNoDefault: 1000. Minimum: 1. Maximum: 300000.
settings.min_wordsIntegerNoDefault: 250. Minimum: 1. Maximum: 10000.
settings.max_h1_lenIntegerNoDefault: 100. Minimum: 1. Maximum: 10000.
settings.max_h2_lenIntegerNoDefault: 100. Minimum: 1. Maximum: 10000.
settings.user_agentIntegerNoDefault: 0. Allowed values: 0–13.<br>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_reportENUMNoDefault: 1. Allowed values: 0, 1.
settings.source_fileENUMNoDefault: 0. Allowed values: 0, 1.
settings.source_siteENUMNoDefault: 1. Allowed values: 0, 1.
settings.check_robotsENUMNoDefault: 1. Allowed values: 0, 1.
settings.custom_paramsStringNoDefault: utm_source, utm_medium, utm_term, utm_content, utm_campaign, cid, PHPSESSID.
settings.ignore_paramsENUMNoDefault: 0. Allowed values: 0, 1, 2.
settings.max_redirectsIntegerNoDefault: 5. Minimum: 1. Maximum: 50.
settings.max_title_lenIntegerNoDefault: 65. Minimum: 1. Maximum: 10000.
settings.min_title_lenIntegerNoDefault: 20. Minimum: 1. Maximum: 10000.
settings.report_emailsStringNoDefault: empty string.
settings.ignore_noindexENUMNoDefault: 0. Allowed values: 0, 1.
settings.source_sitemapENUMNoDefault: 1. Allowed values: 0, 1.
settings.ignore_nofollowENUMNoDefault: 0. Allowed values: 0, 1.
settings.source_subdomainENUMNoDefault: 0. Allowed values: 0, 1.
settings.max_description_lenIntegerNoDefault: 158. Minimum: 1. Maximum: 10000.
settings.min_description_lenIntegerNoDefault: 1. Minimum: 1. Maximum: 10000.

Response

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

ParameterTypeMandatoryDescription
idIntegerYesThe created audit identifier.

Body

Name
Type
Description
bodyOPTIONAL
object
▣ 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 · 0 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)

AttributeTypeMandatoryDescription
audit_idIntegerYesIdentifier 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.

AttributeTypeMandatoryDescription
statusENUMNoAudit state. Allowed values: queued, processing, finished, cancelled, expired.
audit_timeStringNoPresent once finished.
start_timeStringNoStart time of the audit.
total_pagesIntegerNoTotal number of pages audited.
total_errorsIntegerNoTotal number of errors found.
total_passedIntegerNoTotal number of passed checks.
total_warningsIntegerNoTotal number of warnings found.

Query parameters

Name
Type
Description
audit_idREQUIRED
integer
▣ 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 · 0 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)

AttributeTypeMandatoryDescription
audit_idIntegerYesIdentifies the audit to read pages from.
limitIntegerNoMaximum number of items to return. Default: 100.
offsetIntegerNoNumber 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.

ParameterTypeMandatoryDescription
itemsObject ArrayNoArray 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.
totalIntegerNoTotal number of crawled pages available for the audit.

Query parameters

Name
Type
Description
limitOPTIONAL
integer
DEFAULT 100
offsetOPTIONAL
integer
DEFAULT 0
audit_idREQUIRED
integer
▣ 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 · 0 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)

AttributeTypeMandatoryDescription
limitIntegerNoMaximum number of items to return. Default: 100.
offsetIntegerNoNumber of items to skip before returning results. Default: 0.
searchStringNoSearch term used to filter audits.
date_endStringNoEnd of the date range filter. Format: date (YYYY-MM-DD).
date_startStringNoStart 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.

ParameterTypeMandatoryDescription
itemsObject ArrayYesList 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).
totalIntegerYesTotal number of audits matching the query.

Query parameters

Name
Type
Description
itemsOPTIONAL
array
totalOPTIONAL
integer
▣ 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 · 0 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.
urls
e.g. simple_urls_array

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)

AttributeTypeMandatoryDescription
codeStringYesIssue code to filter by.
limitIntegerNoNumber of URLs to return. Default: 100.
offsetIntegerNoNumber of URLs to skip before returning results. Default: 0.
audit_idIntegerYesAudit 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.

AttributeTypeMandatoryDescription
urlsString ArrayNoPage URLs matching the requested issue.
urls_typeStringNoA string describing the URL list format.
total_urlsIntegerNoTotal number of matching URLs.

Query parameters

Name
Type
Description
urlsOPTIONAL
array
urls_typeOPTIONAL
string
e.g. simple_urls_array
total_urlsOPTIONAL
integer
▣ 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 · 0 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)

AttributeTypeMandatoryDescription
dateStringYesDate in YYYY-MM-DD format.
audit_idIntegerYesIdentifier 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.

ParameterTypeMandatoryDescription
totalsObjectNoSummary counts for the audit history.
totals.total_pagesIntegerNoTotal number of pages.
totals.total_errorsIntegerNoTotal number of errors.
totals.total_passedIntegerNoTotal number of passed checks.
totals.total_warningsIntegerNoTotal number of warnings.
versionStringNoVersion string returned by the endpoint.
settingsObjectNoAudit settings object. Additional properties are allowed.
audit_timeStringNoAudit time value.
pages_dataObjectNoObject keyed by issue code. Values are integers.
domain_dataObjectNoDomain-level data object. Additional properties are allowed.

Query parameters

Name
Type
Description
dateREQUIRED
string
audit_idREQUIRED
integer
▣ 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.