Skip to content

Access & Limits

The Public REST API is in beta. This page covers who can call it, and the limits that apply to a request once they can.

The beta is open to Premium accounts. An API key inherits the access of the account that created it, so it reaches exactly the projects that account owns — and nothing beyond them.

Status error.code What it means
403 api_access_denied The account has no active API entitlement.
403 forbidden The project_id is valid, but belongs to another account.

Access rules may change after the beta: which plans include the API, and how much usage each of them covers, are among the things this period is meant to settle.

Rate limits protect the API for everyone using it, and may be applied per key, per account, per endpoint, or by a combination of those.

Over the limit, a request answers 429 with error.code rate_limit_exceeded and a Retry-After header:

{
"error": {
"code": "rate_limit_exceeded",
"message": "Rate limit exceeded. Try again later."
}
}

Wait out the interval in Retry-After before retrying, and back off exponentially if the limit is hit repeatedly. 401, 403, 404, and 422 will keep failing until the key or the request changes, so retrying those only spends rate limit.

List endpoints return at most 100 rows per request, and report the full size of the result set in meta.total so you can tell how many requests are left.

Parameter Default Range
limit 50 1100
offset 0 from 0
Terminal window
# Rows 51-100 of the issue list.
curl "https://sitechecker.pro/api/v1/audit_issues?project_id=12345&limit=50&offset=50" \
-H "Authorization: Bearer $SITECHECKER_API_KEY"

Page Details is the exception. It attaches one optional block per request through include, and each block pages on its own through its own <block>_limit and <block>_offset pair, capped at 50 rows rather than 100.

Block Parameters
internal_links internal_links_limit, internal_links_offset
external_links external_links_limit, external_links_offset
internal_backlinks internal_backlinks_limit, internal_backlinks_offset
internal_backlink_anchors internal_backlink_anchors_limit, internal_backlink_anchors_offset
images images_limit, images_offset
css_files css_files_limit, css_files_offset
javascript_files javascript_files_limit, javascript_files_offset
Terminal window
# The second page of the internal-links block, 50 rows at a time.
curl "https://sitechecker.pro/api/v1/page_details?project_id=12345&url=https%3A%2F%2Fexample.com%2Fpricing&include=internal_links&internal_links_limit=50&internal_links_offset=50" \
-H "Authorization: Bearer $SITECHECKER_API_KEY"

The Site Monitoring summary endpoints take a date range through date_from and date_to. Both are required, both are YYYY-MM-DD, and the range they describe is inclusive of its end dates and interpreted in UTC.

Terminal window
# An inclusive, UTC date range.
curl "https://sitechecker.pro/api/v1/content_updates_summary?project_id=12345&date_from=2026-02-01&date_to=2026-02-28" \
-H "Authorization: Bearer $SITECHECKER_API_KEY"

A range can span up to 36 months. How much of it comes back is another matter: the available history depends on the account plan, the endpoint, and how long the project has been crawled. Ask for more than exists and the response covers the available period rather than failing — so read the dates in the response instead of assuming the range you asked for.

A range the endpoint cannot accept at all — reversed dates, or a span beyond the supported maximum — answers 422 with error.code invalid_date_range.

API access is included in eligible plans for the duration of the beta, at no extra cost. We are using the period to learn how the API is actually used before setting final numbers.

Afterwards, usage allowances may depend on the plan, the endpoint, the number of requests, and the volume of data returned — with ordinary usage included in eligible plans, and high-volume or extended usage possibly a paid add-on. Final quotas and billing rules will be documented here before they take effect.