Skip to content

Scoped AI Traffic time-series.

GET
/api/v1/ai-visibility/ai-traffic/history
curl --request GET \
--url 'https://sitechecker.pro/api/v1/ai-visibility/ai-traffic/history?project_id=12345&date_from=2026-02-19&date_to=2026-05-19&scope=overview&dimension=none&metric=sessions&history_grouping=daily&include_comparison=false' \
--header 'Authorization: Bearer <token>'
project_id
required
integer
Example
12345

Project ID.

date_from
required
string format: date
Example
2026-02-19

Start of the monitoring period (inclusive), ISO date (UTC).

date_to
required
string format: date
Example
2026-05-19

End of the monitoring period (inclusive), ISO date (UTC).

scope
required
string
Allowed values: overview ai_sources pages
dimension
required
string
Allowed values: none channel_group ai_source page
metric
required

Engagement_rate not available for scope=overview

string
Allowed values: sessions key_events session_key_event_rate bounce_rate engagement_rate average_session_duration_seconds
history_grouping
string
Allowed values: daily weekly monthly
include_comparison

Adds previous_series[] (previous same-length period).

boolean
series

Overview only: ai_chats,organic_search,other_channels,total

string
ai_sources

Ai_sources+ai_source only: chatgpt,perplexity,…

string
ai_source

Pages scope only

string
country

Pages scope only (alpha-2)

string
page

Pages scope only

string
dimension_limit

Pages scope: top-N pages cap

integer

AI Traffic time-series

Media typeapplication/json
object
data

AI Traffic time-series for one requested metric. previous_series appears only when include_comparison=true (previous same-length period).

object
scope
string
Allowed values: overview ai_sources pages
dimension
string
Allowed values: none channel_group ai_source page
metric
string
Allowed values: sessions key_events session_key_event_rate bounce_rate engagement_rate average_session_duration_seconds
series
Array<object>

One time-series line. series_type is dimension_value for a real dimension value, synthetic for the overview Total series, or aggregate for the all-AI-sources total.

object
series_key
string
series_label
string
series_type
string
Allowed values: dimension_value synthetic aggregate
points
Array<object>
object
date
string format: date
value
number format: float
previous_series
Array<object>
nullable

One time-series line. series_type is dimension_value for a real dimension value, synthetic for the overview Total series, or aggregate for the all-AI-sources total.

object
series_key
string
series_label
string
series_type
string
Allowed values: dimension_value synthetic aggregate
points
Array<object>
object
date
string format: date
value
number format: float
meta
object
Example
{
"data": {
"scope": "overview",
"dimension": "none",
"metric": "sessions",
"series": [
{
"series_key": "chatgpt",
"series_label": "chatgpt",
"series_type": "dimension_value",
"points": [
{
"date": "2026-05-02",
"value": 1240
}
]
}
],
"previous_series": [
{
"series_key": "chatgpt",
"series_label": "chatgpt",
"series_type": "dimension_value",
"points": [
{
"date": "2026-05-02",
"value": 1240
}
]
}
]
}
}

Missing or invalid API key

Media typeapplication/json
object
error
required
object
code
required
string
Allowed values: validation_error bad_request project_not_found segment_not_found forbidden crawl_in_progress not_found upstream_error unauthorized rate_limit_exceeded api_access_denied internal_error crawl_not_found invalid_date_range invalid_filter invalid_event_type keyword_not_found opportunity_not_found snapshot_unavailable gsc_not_connected ga4_not_connected site_audit_data_unavailable ga4_data_unavailable unsupported_filter unsupported_dimension segment_filter_unsupported unsupported_scope ai_overview_data_unavailable prompt_data_unavailable
message
required
string
Example
{
"error": {
"code": "unauthorized",
"message": "Invalid or missing API key."
}
}

No active API entitlement for the account, or the project belongs to another account

Media typeapplication/json

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
error
required
object
code
required
string
Allowed values: validation_error bad_request project_not_found segment_not_found forbidden crawl_in_progress not_found upstream_error unauthorized rate_limit_exceeded api_access_denied internal_error crawl_not_found invalid_date_range invalid_filter invalid_event_type keyword_not_found opportunity_not_found snapshot_unavailable gsc_not_connected ga4_not_connected site_audit_data_unavailable ga4_data_unavailable unsupported_filter unsupported_dimension segment_filter_unsupported unsupported_scope ai_overview_data_unavailable prompt_data_unavailable
message
required
string
Example
{
"error": {
"code": "api_access_denied",
"message": "API access is not available: the account has no active API entitlement."
}
}

Project not found

Media typeapplication/json

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
error
required
object
code
required
string
Allowed values: validation_error bad_request project_not_found segment_not_found forbidden crawl_in_progress not_found upstream_error unauthorized rate_limit_exceeded api_access_denied internal_error crawl_not_found invalid_date_range invalid_filter invalid_event_type keyword_not_found opportunity_not_found snapshot_unavailable gsc_not_connected ga4_not_connected site_audit_data_unavailable ga4_data_unavailable unsupported_filter unsupported_dimension segment_filter_unsupported unsupported_scope ai_overview_data_unavailable prompt_data_unavailable
message
required
string
Example
{
"error": {
"code": "project_not_found",
"message": "Project not found."
}
}

GA4 is not connected

Media typeapplication/json
object
error
required
object
code
required
string
Allowed values: validation_error bad_request project_not_found segment_not_found forbidden crawl_in_progress not_found upstream_error unauthorized rate_limit_exceeded api_access_denied internal_error crawl_not_found invalid_date_range invalid_filter invalid_event_type keyword_not_found opportunity_not_found snapshot_unavailable gsc_not_connected ga4_not_connected site_audit_data_unavailable ga4_data_unavailable unsupported_filter unsupported_dimension segment_filter_unsupported unsupported_scope ai_overview_data_unavailable prompt_data_unavailable
message
required
string
Example
{
"error": {
"code": "ga4_not_connected",
"message": "Google Analytics 4 is not connected for this project."
}
}

Validation error, unsupported scope / dimension / metric

Media typeapplication/json

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
error
required
object
code
required
string
Allowed values: validation_error bad_request project_not_found segment_not_found forbidden crawl_in_progress not_found upstream_error unauthorized rate_limit_exceeded api_access_denied internal_error crawl_not_found invalid_date_range invalid_filter invalid_event_type keyword_not_found opportunity_not_found snapshot_unavailable gsc_not_connected ga4_not_connected site_audit_data_unavailable ga4_data_unavailable unsupported_filter unsupported_dimension segment_filter_unsupported unsupported_scope ai_overview_data_unavailable prompt_data_unavailable
message
required
string
Example
{
"error": {
"code": "validation_error",
"message": "project_id is required."
}
}

Rate limit exceeded — retry after the interval in the Retry-After header

Media typeapplication/json
object
error
required
object
code
required
string
Allowed values: validation_error bad_request project_not_found segment_not_found forbidden crawl_in_progress not_found upstream_error unauthorized rate_limit_exceeded api_access_denied internal_error crawl_not_found invalid_date_range invalid_filter invalid_event_type keyword_not_found opportunity_not_found snapshot_unavailable gsc_not_connected ga4_not_connected site_audit_data_unavailable ga4_data_unavailable unsupported_filter unsupported_dimension segment_filter_unsupported unsupported_scope ai_overview_data_unavailable prompt_data_unavailable
message
required
string
Example
{
"error": {
"code": "rate_limit_exceeded",
"message": "Rate limit exceeded. Try again later."
}
}

Internal server error

Media typeapplication/json
object
error
required
object
code
required
string
Allowed values: validation_error bad_request project_not_found segment_not_found forbidden crawl_in_progress not_found upstream_error unauthorized rate_limit_exceeded api_access_denied internal_error crawl_not_found invalid_date_range invalid_filter invalid_event_type keyword_not_found opportunity_not_found snapshot_unavailable gsc_not_connected ga4_not_connected site_audit_data_unavailable ga4_data_unavailable unsupported_filter unsupported_dimension segment_filter_unsupported unsupported_scope ai_overview_data_unavailable prompt_data_unavailable
message
required
string
Example
{
"error": {
"code": "internal_error",
"message": "Internal server error."
}
}