GSC Page Segments List
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>'Returns the Page Segments board: per-segment GSC and GA4 metrics with previous-period comparison values. The comparison period is resolved automatically from the selected range rather than passed in, and the resolved dates come back in the response meta.
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.
Page size that was applied.
Pagination offset that was applied.
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
Returned as INVALID_API_KEY when the key is missing or unknown, and as REVOKED_API_KEY when the key exists but was revoked — the latter needs a new key.
object
object
Example
{ "error": { "code": "INVALID_API_KEY", "message": "Invalid or missing API key." }}No active API entitlement for the account, or the project belongs to another account
Returned as MISSING_PUBLIC_API_ACCESS when the account has no active API entitlement, and as ACCESS_DENIED when the requested project belongs to another account.
object
object
Example
{ "error": { "code": "MISSING_PUBLIC_API_ACCESS", "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 (including a query parameter the endpoint does not accept), or INVALID_DATE_RANGE / INVALID_FILTER / INVALID_EVENT_TYPE / UNSUPPORTED_FILTER / UNSUPPORTED_DIMENSION / UNSUPPORTED_METRIC / 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." }}