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.
Who can access the API
Section titled “Who can access the API”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
Section titled “Rate limits”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.
Pagination limits
Section titled “Pagination limits”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 |
1–100 |
offset |
0 |
from 0 |
# 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 |
# 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"Date ranges
Section titled “Date ranges”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.
# 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.
Usage and billing during the beta
Section titled “Usage and billing during the beta”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.