Page Segments board: per-segment GSC + GA4 metrics with auto previous-period comparison.
const url = 'https://sitechecker.pro/api/v1/gsc-insights/page-segments?project_id=12345&date_from=2026-02-19&date_to=2026-05-19&device=desktop&country=usa&fields=ga4%2Cshares&order_by=clicks_desc&limit=50&offset=0';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/gsc-insights/page-segments?project_id=12345&date_from=2026-02-19&date_to=2026-05-19&device=desktop&country=usa&fields=ga4%2Cshares&order_by=clicks_desc&limit=50&offset=0' \ --header 'Authorization: Bearer <token>'Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Query Parameters
Section titled “Query Parameters”Example
12345Project ID.
Example
2026-02-19Start of the monitoring period (inclusive), ISO date (UTC).
Example
2026-05-19End of the monitoring period (inclusive), ISO date (UTC).
Repeated param with segment ids from /api/v1/segments. Default: all analytics-compatible segments.
Filter the underlying GSC rows by device before aggregation.
Example
usaFilter the underlying GSC rows by country (ISO-3166-1 alpha-3, lowercase) before aggregation. Use values from gsc_insights_filter_values.
Example
ga4,sharesOptional field groups: ga4 (default), shares (Share View percentages).
Example
clicks_descSort as
Page size.
Pagination offset.
Responses
Section titled “Responses”Segment rows with nested current/previous/change blocks; meta carries resolved_compare_from/resolved_compare_to
object
Page Segments board row: identity + nested current/previous/change blocks (GSC metrics + GA4 metrics when connected) + optional shares block (fields=shares).
object
Shared segment ID.
Segment name.
Current-period metrics (GSC, plus GA4 when connected/fields=ga4).
object
Auto-resolved previous-period values for table comparison.
object
Absolute and percent changes vs the previous matching period.
object
Share fields (fields=shares): clicks_share, impressions_share, ranked_pages_share, ranked_keywords_share, etc.
object
GSC Insights meta block for list endpoints: scope echo + pagination (total/limit/offset).
object
Project ID.
Selected period start.
Selected period end.
Optional comparison period start.
Optional comparison period end.
Source connection/data availability statuses keyed by source (e.g. gsc, ga4).
object
Latest data date used per source (e.g. gsc_date, ga4_date).
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": [ { "segment_id": "seg_1a2b3c", "segment_name": "Blog", "shares": { "clicks_share": 24.5, "impressions_share": 31.2 } } ], "meta": { "project_id": 12345, "date_from": "2026-05-01", "date_to": "2026-05-31", "source_status": { "gsc": "connected", "ga4": "not_connected" }, "data_freshness": { "gsc_date": "2026-06-30", "ga4_date": "2026-07-02" }, "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, 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 or segment 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." }}Google Search Console is not connected
Also returned as site_audit_data_unavailable on endpoints that join Site Audit page content.
object
object
Example
{ "error": { "code": "gsc_not_connected", "message": "Google Search Console is not connected for this project." }}Validation error, invalid date range or invalid filter
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." }}