Top-100 SERP snapshot for one tracked keyword.
const url = 'https://sitechecker.pro/api/v1/serp_snapshot?project_id=12345&tracked_keyword_id=1&top_n=100';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/serp_snapshot?project_id=12345&tracked_keyword_id=1&top_n=100' \ --header 'Authorization: Bearer <token>'Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Query Parameters
Section titled “Query Parameters”Example
12345Project ID.
Tracked keyword id from the keywords endpoint.
SERP check date (Y-m-d). Defaults to the latest available snapshot.
Number of SERP results to return (max 100).
Responses
Section titled “Responses”SERP snapshot with keyword context
object
On-demand top-100 SERP snapshot for one tracked keyword. description is null in V1 (the upstream source does not store SERP snippets).
object
object
Example
{ "data": { "tracked_keyword_id": 123456, "keyword": "moz rank check", "search_engine": "google", "device": "desktop", "country_code": "US", "language_code": "en", "snapshot_date": "2026-05-22", "results": [ { "position": 1, "url": "https://moz.com/domain-analysis", "domain": "moz.com", "title": "Free Domain Authority Checker", "description": null } ] }}Missing or invalid API key
object
object
Example
{ "error": { "code": "unauthorized", "message": "Invalid or missing API key." }}No active API entitlement for the account, or the project belongs to another 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." }}Project, keyword, or snapshot not found
The exact missing resource is in error.code: project_not_found, segment_not_found, crawl_not_found, keyword_not_found, opportunity_not_found, snapshot_unavailable or not_found.
object
object
Example
{ "error": { "code": "project_not_found", "message": "Project not found." }}Validation error
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." }}Upstream SERP data service error
object
object
Example
{ "error": { "code": "upstream_error", "message": "The upstream SERP data service is temporarily unavailable. Try again later." }}