Skip to content

AI Overview Keywords

GET
/api/v1/ai-visibility/google-ai-overview/keywords
curl --request GET \
--url 'https://sitechecker.pro/api/v1/ai-visibility/google-ai-overview/keywords?project_id=12345&date_from=2026-02-19&date_to=2026-05-19&device=desktop&ai_citation=all&ai_brand_mention=all&limit=100&offset=0' \
--header 'Authorization: Bearer <token>'

Returns keyword-level Google AI Overview results over the Rank Tracker keyword set, including visibility, source, position, and comparison data when available. The AI Overview layer is returned by default; citation URL, volume, SERP position, changes and GSC metrics appear only when the matching fields= group asks for them.

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).

country
string

Filter tracked keywords by country.

device
string
Allowed values: desktop mobile tablet

Filter tracked keywords by device.

language
string

Filter tracked keywords by language.

volume_min
integer

Lower bound on monthly search volume.

volume_max
integer

Upper bound on monthly search volume.

ai_citation
string
Allowed values: all with without

Keep keywords whose AI Overview cites the project (with), does not cite it (without), or either (all).

citation_url
string

Keep only keywords whose AI Overview cites this URL.

citation_position_min
integer

Lower bound on the position of the project citation inside the AI Overview source list.

citation_position_max
integer

Upper bound on the position of the project citation inside the AI Overview source list.

ai_brand_mention
string
Allowed values: all with without

Keep keywords whose AI Overview mentions the brand (with), does not mention it (without), or either (all).

search
string

Substring search over the keyword text.

fields

Opt-in enrichment: citation_url,volume,serp_position,changes,gsc

string

Comma-separated optional groups to add to each row: citation_url, volume, serp_position, changes, gsc. The AI Overview layer is always returned.

sort
string

Sort as or - for descending. Sortable: volume, avg_citation_position.

limit
integer
default: 100 >= 1 <= 100

Page size.

offset
integer
0

Pagination offset.

AIO keyword board

Media typeapplication/json
object
data
Array<object>

Keyword-level AI Overview row on the Rank Tracker keyword set. The AIO layer (has_ai_overview / has_owner_citation / has_brand_mention / avg_citation_position) is returned by default; citation_url, volume, serp_position, changes and gsc appear only when requested via the matching fields= group.

object
tracked_keyword_id

Rank Tracker keyword id. Pass it to the response details endpoint.

integer
keyword

Keyword text.

string
nullable
search_engine

Search engine the keyword is tracked on.

string
nullable
device

Device the keyword is tracked on.

string
nullable
country

Country the keyword is tracked for.

string
nullable
language

Language the keyword is tracked for.

string
nullable
has_ai_overview

Whether the SERP returned an AI Overview for this keyword.

boolean
has_owner_citation

Whether the AI Overview cites the project.

boolean
has_brand_mention

Whether the AI Overview mentions the brand.

boolean
avg_citation_position

Position of the project citation inside the AI Overview source list. Null when the project is not cited.

integer
nullable
citation_url

Only with fields=citation_url.

string
nullable
volume

Only with fields=volume.

integer
nullable
serp_position

Only with fields=serp_position.

integer
nullable
changes

Only with fields=changes. SERP position deltas over each window.

object
1d
integer
nullable
7d
integer
nullable
30d
integer
nullable
90d
integer
nullable
gsc

Only with fields=gsc. Latest synced GSC snapshot values.

object
impressions
integer
nullable
clicks
integer
nullable
ctr
number format: float
nullable
position
number format: float
nullable
meta

AI Overview meta block for list endpoints: the standard block plus pagination.

object
project_id

Project the response was built for.

integer
date_from

Start of the period the response covers.

string format: date
date_to

End of the period the response covers.

string format: date
source_status

Whether AI Overview tracking is connected and usable for this project.

object
key
additional properties
string
data_freshness

Latest AI Overview data date available for this project, null when there is none.

object
key
additional properties
string
nullable
total

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.

integer
limit

Page size that was applied.

integer
offset

Pagination offset that was applied.

integer
Example
{
"data": [
{
"tracked_keyword_id": 123456,
"keyword": "ai overview checker",
"search_engine": "google",
"device": "desktop",
"country": "US",
"language": "en",
"has_ai_overview": true,
"has_owner_citation": false,
"has_brand_mention": false,
"avg_citation_position": 3,
"volume": 2900,
"serp_position": 5,
"changes": {
"1d": -1,
"7d": 2,
"30d": 7,
"90d": 12
},
"gsc": {
"impressions": 3278,
"clicks": 27,
"ctr": 0.82,
"position": 12.4
}
}
],
"meta": {
"project_id": 12345,
"date_from": "2026-05-01",
"date_to": "2026-05-31",
"source_status": {
"aio": "connected"
},
"data_freshness": {
"aio_date": "2026-06-30"
},
"total": 137,
"limit": 50,
"offset": 0
}
}

Missing or invalid API key

Media typeapplication/json

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
error
required
object
code
required
string
Allowed values: VALIDATION_ERROR BAD_REQUEST PROJECT_NOT_FOUND SEGMENT_NOT_FOUND ACCESS_DENIED CRAWL_IN_PROGRESS NOT_FOUND UPSTREAM_ERROR INVALID_API_KEY REVOKED_API_KEY RATE_LIMIT_EXCEEDED MISSING_PUBLIC_API_ACCESS 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 UNSUPPORTED_METRIC SEGMENT_FILTER_UNSUPPORTED UNSUPPORTED_SCOPE AI_OVERVIEW_DATA_UNAVAILABLE PROMPT_DATA_UNAVAILABLE
message
required
string
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

Media typeapplication/json

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
error
required
object
code
required
string
Allowed values: VALIDATION_ERROR BAD_REQUEST PROJECT_NOT_FOUND SEGMENT_NOT_FOUND ACCESS_DENIED CRAWL_IN_PROGRESS NOT_FOUND UPSTREAM_ERROR INVALID_API_KEY REVOKED_API_KEY RATE_LIMIT_EXCEEDED MISSING_PUBLIC_API_ACCESS 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 UNSUPPORTED_METRIC SEGMENT_FILTER_UNSUPPORTED UNSUPPORTED_SCOPE AI_OVERVIEW_DATA_UNAVAILABLE PROMPT_DATA_UNAVAILABLE
message
required
string
Example
{
"error": {
"code": "MISSING_PUBLIC_API_ACCESS",
"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 ACCESS_DENIED CRAWL_IN_PROGRESS NOT_FOUND UPSTREAM_ERROR INVALID_API_KEY REVOKED_API_KEY RATE_LIMIT_EXCEEDED MISSING_PUBLIC_API_ACCESS 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 UNSUPPORTED_METRIC 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."
}
}

Validation error or unsupported filter

Media typeapplication/json

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
error
required
object
code
required
string
Allowed values: VALIDATION_ERROR BAD_REQUEST PROJECT_NOT_FOUND SEGMENT_NOT_FOUND ACCESS_DENIED CRAWL_IN_PROGRESS NOT_FOUND UPSTREAM_ERROR INVALID_API_KEY REVOKED_API_KEY RATE_LIMIT_EXCEEDED MISSING_PUBLIC_API_ACCESS 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 UNSUPPORTED_METRIC 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 ACCESS_DENIED CRAWL_IN_PROGRESS NOT_FOUND UPSTREAM_ERROR INVALID_API_KEY REVOKED_API_KEY RATE_LIMIT_EXCEEDED MISSING_PUBLIC_API_ACCESS 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 UNSUPPORTED_METRIC 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 ACCESS_DENIED CRAWL_IN_PROGRESS NOT_FOUND UPSTREAM_ERROR INVALID_API_KEY REVOKED_API_KEY RATE_LIMIT_EXCEEDED MISSING_PUBLIC_API_ACCESS 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 UNSUPPORTED_METRIC SEGMENT_FILTER_UNSUPPORTED UNSUPPORTED_SCOPE AI_OVERVIEW_DATA_UNAVAILABLE PROMPT_DATA_UNAVAILABLE
message
required
string
Example
{
"error": {
"code": "INTERNAL_ERROR",
"message": "Internal server error."
}
}