MCPRemote MCP server for Cursor and Claude Code, on your existing API key→ Read the docs
QuikSEO.com

API reference

Audits

The audits endpoints of the QuikSEO REST API, each with its method, path, parameters and an example request and answer. Send your API key as a Bearer token in the Authorization header; every request works on the data of the account that owns the key, and every answer is JSON.

GET https://app.quikseo.com/api/audits/
curl --request GET \
--url 'https://app.quikseo.com/api/audits/' \
--header 'Authorization: Bearer {api_key}' \
Parameters Details Description
search Optional String The search string.
search_by Optional String What field are you searching by. Allowed values are: url, host, title.
datetime_field Optional String Allowed values: datetime, last_datetime, next_refresh_datetime, last_refresh_datetime
datetime_start Optional String Filter results starting from this datetime. Y-m-d H:i:s format.
datetime_end Optional String Filter results up to this datetime. Y-m-d H:i:s format.
order_by Optional String What field to order the results by. Allowed values are: audit_id, datetime, last_datetime, next_refresh_datetime, last_refresh_datetime, url, host, title, score, total_issues, total_refreshes.
order_type Optional String The ordering of the results. Allowed values are: ASC for ascending ordering, and DESC for descending ordering.
page Optional Integer The page number that you want results from. Defaults to 1.
results_per_page Optional Integer How many results you want per page. Allowed values are: 10, 25, 50, 100, 250, 500, 1000. Defaults to 25.
{
    "data": [
        {
            "id": 1,
            "website_id": 1,
            "domain_id": 0,
            "user_id": 1,
            "uploader_id": "f528764d624db129b32c21fbca0cb8d6",
            "host": "example.com",
            "url": "https://example.com",
            "resolved_url": "https://example.com/",
            "ttfb": 0.3,
            "response_time": 500,
            "average_download_speed": 200,
            "page_size": 5000,
            "http_requests": 20,
            "is_https": true,
            "is_ssl_valid": true,
            "http_protocol": "2",
            "title": "Example title",
            "meta_description": "Example description.",
            "meta_keywords": "example, keywords",
            "data": {},
            "ai_summary": null,
            "google_search_console_is_indexed": 0,
            "issues": {
                "major": [],
                "moderate": {
                    "meta_charset": [
                        "missing"
                    ],
                    "is_http2": [
                        "invalid"
                    ],
                    "external_links": [
                        "too_many"
                    ]
                },
                "minor": {
                    "deprecated_html_tags": [
                        "existing"
                    ],
                    "header_server": [
                        "existing"
                    ],
                    "inline_css": [
                        "existing"
                    ],
                    "unsafe_external_links": [
                        "existing"
                    ],
                    "non_deferred_scripts": [
                        "existing"
                    ]
                },
                "potential_major_issues": 11,
                "potential_moderate_issues": 14,
                "potential_minor_issues": 15,
                "total_tests": 40,
                "passed_tests": 32
            },
            "settings": {
                "is_public": 1,
                "password": "$2y$10$eNkOWNTptDV.Ye4v28FmO.nCWqus5SE.mYBUSzajujKfk/NNehXxe",
                "audit_check_interval": 21600
            },
            "notifications": [
                1
            ],
            "score": 90,
            "total_tests": 40,
            "passed_tests": 32,
            "total_issues": 10,
            "major_issues": 4,
            "moderate_issues": 1,
            "minor_issues": 5,
            "total_refreshes": 10,
            "is_queued": false,
            "refresh_error": null,
            "is_external_redirected": false,
            "total_redirects": 0,
            "next_refresh_datetime": null,
            "last_refresh_datetime": "2024-12-08 18:50:46",
            "expiration_datetime": "2025-03-08 18:50:45",
            "last_datetime": null,
            "datetime": "2026-01-01 00:00:00"
        }
    ],
    "meta": {
        "page": 1,
        "total_pages": 1,
        "results_per_page": 25,
        "total_results": 1
    },
    "links": {
        "first": "https://app.quikseo.com/api/audits?page=1",
        "last": "https://app.quikseo.com/api/audits?page=1",
        "next": null,
        "prev": null,
        "self": "https://app.quikseo.com/api/audits?page=1"
    }
}

The issues object and the counters come from the QuikSEO rules: major_issues, moderate_issues and minor_issues map a report category (or a rule id for a rule without one) to the rule ids that failed, by severity (critical and error, warning, info); potential_major_issues, potential_moderate_issues and potential_minor_issues count the rules evaluated (passed, failed or to review) by the severity a failure would have; total_tests counts the evaluated checks, the rules with a verdict (passed, failed or to review), and passed_tests the rules that passed. The report object of a single audit adds report.coverage: rules_total is every check the audit ran (evaluated, not applicable and not checked; rules the administrator disabled are not run), pass and not_applicable count those results, and results maps every rule id to its result (audits evaluated from October 7, 2026). Until October 2026 the potential_* fields held the counts of the earlier checks, which the rules replaced. When the page answered a 4xx or 5xx status, report.error_response holds that status and a note saying that the findings describe the error response the server returned; it is null otherwise. The page is scored like any other: score is the share of applicable checks that passed, rounded to a whole number (score formula 3.0.0, explained on the score documentation), or null when the page could not be fully evaluated, with the reason in report.score_text.

GET https://app.quikseo.com/api/audits/{audit_id}
curl --request GET \
--url 'https://app.quikseo.com/api/audits/{audit_id}' \
--header 'Authorization: Bearer {api_key}' \
{
    "data": {
        "id": 1,
        "website_id": 1,
        "domain_id": 0,
        "user_id": 1,
        "uploader_id": "f528764d624db129b32c21fbca0cb8d6",
        "host": "example.com",
        "url": "https://example.com",
        "resolved_url": "https://example.com/",
        "ttfb": 0.3,
        "response_time": 500,
        "average_download_speed": 200,
        "page_size": 5000,
        "http_requests": 20,
        "is_https": true,
        "is_ssl_valid": true,
        "http_protocol": "2",
        "title": "Example title",
        "meta_description": "Example description.",
        "meta_keywords": "example, keywords",
        "data": {},
        "ai_summary": null,
        "google_search_console_is_indexed": 0,
        "issues": {
            "major": [],
            "moderate": {
                "meta_charset": [
                    "missing"
                ],
                "is_http2": [
                    "invalid"
                ],
                "external_links": [
                    "too_many"
                ]
            },
            "minor": {
                "deprecated_html_tags": [
                    "existing"
                ],
                "header_server": [
                    "existing"
                ],
                "inline_css": [
                    "existing"
                ],
                "unsafe_external_links": [
                    "existing"
                ],
                "non_deferred_scripts": [
                    "existing"
                ]
            },
            "potential_major_issues": 11,
            "potential_moderate_issues": 14,
            "potential_minor_issues": 15,
            "total_tests": 40,
            "passed_tests": 32
        },
        "settings": {
            "is_public": 1,
            "password": "$2y$10$eNkOWNTptDV.Ye4v28FmO.nCWqus5SE.mYBUSzajujKfk/NNehXxe",
            "audit_check_interval": 21600
        },
        "notifications": [
            1
        ],
        "score": 90,
        "total_tests": 40,
        "passed_tests": 32,
        "total_issues": 10,
        "major_issues": 4,
        "moderate_issues": 1,
        "minor_issues": 5,
        "total_refreshes": 10,
        "is_queued": false,
        "refresh_error": null,
        "is_external_redirected": false,
        "total_redirects": 0,
        "next_refresh_datetime": null,
        "last_refresh_datetime": "2024-12-08 18:50:46",
        "expiration_datetime": "2025-03-08 18:50:45",
        "last_datetime": null,
        "datetime": "2026-01-01 00:00:00"
    }
}
POST https://app.quikseo.com/api/audits
Parameters Details Description
type Optional String Allowed values: single, sitemap, bulk, html
url Optional String Available when: type = single, html
urls Optional String Available when: type = bulk, sitemap
html Optional String Available when: type = html
domain_id Optional Integer -
password Optional String -
is_public Optional Boolean -
audit_check_interval Optional Integer Allowed values: 21600, 43200, 86400, 259200, 432000, 604800, 864000, 1296000, 2592000 (seconds)
website_sitemap_check_interval Optional Integer Available when: type = sitemap
notifications Optional Array Notification handler ids
notifications_mode Optional String Allowed values: always, changes, regressions
curl --request POST \
--url 'https://app.quikseo.com/api/audits' \
--header 'Authorization: Bearer {api_key}' \
--header 'Content-Type: multipart/form-data' \
--form 'url=https://example.com/' \
{
    "data": [
        {
            "id": 1,
            "website_id": 1,
            "domain_id": 0,
            "user_id": 1,
            "uploader_id": "f528764d624db129b32c21fbca0cb8d6",
            "host": "example.com",
            "url": "https://example.com",
            "resolved_url": "https://example.com/",
            "ttfb": 0.3,
            "response_time": 500,
            "average_download_speed": 200,
            "page_size": 5000,
            "http_requests": 20,
            "is_https": true,
            "is_ssl_valid": true,
            "http_protocol": "2",
            "title": "Example title",
            "meta_description": "Example description.",
            "meta_keywords": "example, keywords",
            "data": {},
            "issues": {
                "major": [],
                "moderate": {
                    "meta_charset": [
                        "missing"
                    ],
                    "is_http2": [
                        "invalid"
                    ],
                    "external_links": [
                        "too_many"
                    ]
                },
                "minor": {
                    "deprecated_html_tags": [
                        "existing"
                    ],
                    "header_server": [
                        "existing"
                    ],
                    "inline_css": [
                        "existing"
                    ],
                    "unsafe_external_links": [
                        "existing"
                    ],
                    "non_deferred_scripts": [
                        "existing"
                    ]
                },
                "potential_major_issues": 11,
                "potential_moderate_issues": 14,
                "potential_minor_issues": 15,
                "total_tests": 40,
                "passed_tests": 32
            },
            "settings": {
                "is_public": 1,
                "password": "$2y$10$eNkOWNTptDV.Ye4v28FmO.nCWqus5SE.mYBUSzajujKfk/NNehXxe",
                "audit_check_interval": 21600
            },
            "notifications": [
                1
            ],
            "score": 90,
            "total_tests": 40,
            "passed_tests": 32,
            "total_issues": 10,
            "major_issues": 4,
            "moderate_issues": 1,
            "minor_issues": 5,
            "total_refreshes": 10,
            "is_queued": false,
            "refresh_error": null,
            "is_external_redirected": false,
            "total_redirects": 0,
            "next_refresh_datetime": null,
            "last_refresh_datetime": "2024-12-08 18:50:46",
            "expiration_datetime": "2025-03-08 18:50:45",
            "last_datetime": null,
            "datetime": "2026-01-01 00:00:00"
        }
    ]
}
POST https://app.quikseo.com/api/audits/{audit_id}
Parameters Details Description
domain_id Optional Integer -
password Optional String -
is_public Optional Boolean -
audit_check_interval Optional Integer Allowed values: 21600, 43200, 86400, 259200, 432000, 604800, 864000, 1296000, 2592000 (seconds)
notifications Optional Array Notification handler ids
notifications_mode Optional String Allowed values: always, changes, regressions
curl --request POST \
--url 'https://app.quikseo.com/api/audits/{audit_id}' \
--header 'Authorization: Bearer {api_key}' \
--header 'Content-Type: multipart/form-data' \
--form 'is_public=0' \
{
    "data": {
        "id": 1,
        "website_id": 1,
        "domain_id": 0,
        "user_id": 1,
        "uploader_id": "f528764d624db129b32c21fbca0cb8d6",
        "host": "example.com",
        "url": "https://example.com",
        "resolved_url": "https://example.com/",
        "ttfb": 0.3,
        "response_time": 500,
        "average_download_speed": 200,
        "page_size": 5000,
        "is_https": true,
        "is_ssl_valid": true,
        "http_protocol": 2,
        "title": "Example title",
        "meta_description": "Example description.",
        "meta_keywords": "example, keywords",
        "data": {},
        "issues": {},
        "settings": {
            "is_public": 0,
            "audit_check_interval": 21600
        },
        "notifications": [1],
        "score": 90,
        "total_tests": 40,
        "passed_tests": 32,
        "total_issues": 10,
        "major_issues": 4,
        "moderate_issues": 1,
        "minor_issues": 5,
        "total_refreshes": 10,
        "is_queued": false,
        "refresh_error": null,
        "is_external_redirected": false,
        "total_redirects": 0,
        "next_refresh_datetime": null,
        "last_refresh_datetime": "2024-12-08 18:50:46",
        "expiration_datetime": "2025-03-08 18:50:45",
        "last_datetime": "2026-01-01 00:00:00",
        "datetime": "2026-01-01 00:00:00"
    }
}
DELETE https://app.quikseo.com/api/audits/{audit_id}
curl --request DELETE \
--url 'https://app.quikseo.com/api/audits/{audit_id}' \
--header 'Authorization: Bearer {api_key}' \