AI Traffic Filter Values
const url = 'https://sitechecker.pro/api/v1/ai-visibility/ai-traffic/filter-values?project_id=12345&scope=overview';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/ai-visibility/ai-traffic/filter-values?project_id=12345&scope=overview' \ --header 'Authorization: Bearer <token>'Returns available filter values and data availability for AI Traffic requests in the selected scope. Each scope accepts a different set of filters, so read this first: passing one the scope does not support is a validation error.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Query Parameters
Section titled “Query Parameters”Example
12345Project ID.
Which AI Traffic dataset the filters are for. overview takes no filters of its own and answers with an empty filters list rather than an error.
Accepted for consistency with the other filter-values endpoints; this response is always returned in full.
Responses
Section titled “Responses”AI Traffic filter values
object
Scoped AI Traffic filter values. scope=overview has no entity filters (empty filters[]); scope=ai_sources returns the AI source list plus supported metrics and history groupings.
object
Whether GA4 is connected and usable for this project.
object
How recent the underlying GA4 data is.
object
The scope the filters apply to, echoed back from the request.
Present only for scope=overview (always empty in V1).
object
Present only for scope=ai_sources.
Present only for scope=ai_sources.
Present only for scope=ai_sources.
Minimal meta block: only the project the response was built for. Used by endpoints whose response is not scoped to a date range.
object
Project the response was built for.
Example
{ "data": { "scope": "overview", "ai_sources": [ "chatgpt", "perplexity", "gemini", "copilot", "claude", "deepseek", "other_ai" ], "metrics": [ "sessions", "key_events", "session_key_event_rate", "bounce_rate", "engagement_rate", "average_session_duration_seconds" ], "history_grouping": [ "daily", "weekly", "monthly" ] }, "meta": { "project_id": 12345 }}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 Analytics 4 is not connected
object
object
Example
{ "error": { "code": "GA4_NOT_CONNECTED", "message": "Google Analytics 4 is not connected for this project." }}Validation error or unsupported scope
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." }}