GSC Insights Filter Values
const url = 'https://sitechecker.pro/api/v1/gsc-insights/filter-values?project_id=12345';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/filter-values?project_id=12345' \ --header 'Authorization: Bearer <token>'Returns project-specific allowed values and capabilities for GSC Insights filters, such as countries, devices, position buckets, brand types, metrics, and source availability flags. Read it before building a filtered request — it lists the values this project actually has data for.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Query Parameters
Section titled “Query Parameters”Example
12345Project ID.
Responses
Section titled “Responses”Available filter values and source availability flags
object
Project-specific values accepted by GSC Insights filters plus source availability.
object
Countries present in GSC data for this project, not a global country list.
object
Country code.
Display name.
Available GSC devices.
Supported position buckets for rankings filters.
Brand / non_brand values.
Whether Brand / Non-brand filtering is configured for the project.
Available metrics for history/selectors.
GA4 metrics available for the Search Conversion endpoints on this project.
Daily / weekly / monthly.
Source connection/data availability statuses (gsc, ga4, site_audit).
object
The window this project has GSC data for.
object
Earliest date with data.
Latest date with data.
Earliest date whose data Google considers final.
Latest date whose data Google considers final. Later dates can still change.
Example
{ "data": { "countries": [ { "code": "usa", "name": "United States Of America" } ], "devices": [ "desktop", "mobile", "tablet" ], "position_buckets": [ "top_1", "top_2_3", "top_4_10", "top_11_30", "top_31_50", "top_51_100", "no_position" ], "brand_types": [ "all", "brand", "non_brand" ], "brand_settings_configured": true, "metrics": [ "clicks", "impressions", "ctr", "average_position" ], "ga4_metrics": [ "sessions", "bounce_rate", "average_session_duration", "key_events", "session_key_event_rate" ], "history_grouping": [ "daily", "weekly", "monthly" ] }}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 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
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." }}