Project-specific allowed values and capabilities for GA4 Insights.
const url = 'https://sitechecker.pro/api/v1/ga4-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/ga4-insights/filter-values?project_id=12345' \ --header 'Authorization: Bearer <token>'Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Query Parameters
Section titled “Query Parameters”Example
12345Project ID.
Responses
Section titled “Responses”Available GA4 filter values, supported dimensions and source availability
object
Project-specific GA4 values and capabilities supported in V1. Device, country and a full channel breakdown are intentionally absent because that GA4 data is not stored.
object
GA4 source availability status for the selected project.
object
GA4 connection/data availability status for the selected project.
GA4 property metadata for the selected project.
object
GA4 property identifier or masked/display-safe metadata.
Supported V1 metric keys only.
Supported breakdown dimensions. Use the dimension param; group_by is not supported.
Supported breakdown dimensions per endpoint with their constraints.
object
Endpoint where the dimension is supported.
Supported dimension for that endpoint.
Endpoint-specific constraints to prevent heavy page × dimension matrices.
Available channel scopes/values for this project. Includes all only if supported as the reserved all-sessions scope.
Daily / weekly / monthly.
Example
{ "data": { "source_status": { "ga4": "connected" }, "property": { "id": "123456789" }, "metrics": [ "sessions", "bounce_rate", "average_session_duration", "key_events", "session_key_event_rate" ], "dimensions": [ "source_medium" ], "dimension_support": [ { "endpoint": "page-history", "dimension": "source_medium", "constraints": "requires a single page_url; live GA4 API; max 15 series" } ], "source_channels": [ "organic_search", "all" ], "history_grouping": [ "daily", "weekly", "monthly" ] }}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 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." }}