Projects List
const url = 'https://sitechecker.pro/api/v1/projects?limit=50&offset=0&include=site_audit';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url 'https://sitechecker.pro/api/v1/projects?limit=50&offset=0&include=site_audit' \ --header 'Authorization: Bearer <token>'Returns the Sitechecker projects available to the API key and their project IDs.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Query Parameters
Section titled “Query Parameters”Page size.
Pagination offset.
Example
site_auditComma-separated optional data sets to attach to each project.
Responses
Section titled “Responses”Paginated projects
object
object
Unique project ID.
Project name shown in Sitechecker.
Project domain returned under this key (value = project domain).
Domain scope used by the project, returned as an object with protocols, scope_type and path.
object
Whether Site Audit is enabled for the project.
Latest crawl date.
Latest crawl status. API also returns ‘pending’ (enabled, not yet crawled) or null (audit disabled).
Only with include=site_audit. Latest website score.
Only with include=site_audit. Crawled pages count.
object
Reusable OpenAPI response schemas for the Public REST API: the error/meta envelope and one item schema per resource. Property names come from the Field registry so the documented contract and the runtime response shapes stay in lock-step.
Example
{ "data": [ { "project_id": 12345, "project_name": "example.com", "url": "https://example.com", "domain_scope": { "protocols": [ "https" ], "scope_type": "subdomains", "path": "/" }, "site_audit_enabled": true, "last_crawl_date": "2026-05-12T08:30:00Z", "last_crawl_status": "finished" } ], "meta": { "total": 137, "limit": 50, "offset": 0 }}Missing or invalid API key
object
object
Example
{ "error": { "code": "unauthorized", "message": "Invalid or missing API key." }}No active API entitlement for the account
Returned as api_access_denied when the account has no active API entitlement, and as forbidden when the requested project belongs to another account.
object
object
Example
{ "error": { "code": "api_access_denied", "message": "API access is not available: the account has no active API entitlement." }}Invalid query parameters
Rejected query parameters. error.code is validation_error for parameter validation, or invalid_date_range / invalid_filter / invalid_event_type / unsupported_filter / unsupported_dimension / unsupported_scope / segment_filter_unsupported for module-specific rules.
object
object
Example
{ "error": { "code": "validation_error", "message": "project_id is required." }}Rate limit exceeded — retry after the interval in the Retry-After header
object
object
Example
{ "error": { "code": "rate_limit_exceeded", "message": "Rate limit exceeded. Try again later." }}Internal server error
object
object
Example
{ "error": { "code": "internal_error", "message": "Internal server error." }}