AI Result Tracker
AI Result Tracker API (AIRT) enables tracking of brand visibility across AI search engines. It covers three resource groups:
- Brands — Configure which brand name to track for a site
- LLM engines — Add and manage which AI engines to track (ChatGPT, Perplexity, Gemini, Google AI Overview, Google AI Mode)
- Prompts — Manage keywords (prompts) per engine and retrieve rankings data
Typical workflow
{id} while prompt endpoints use {llm_id}. Both refer to the same LLM engine ID.- Set a brand →
POST /sites/{site_id}/airt/brands - Add an LLM engine →
POST /sites/{site_id}/airt/llm - Add prompts →
POST /sites/{site_id}/airt/llm/{llm_id}/prompts - Check status →
GET /sites/{site_id}/airt/llm/{id}/status - Retrieve statistics →
GET /sites/{site_id}/airt/llm/{id}/statistics - Retrieve rankings →
GET /sites/{site_id}/airt/llm/{llm_id}/prompts/rankings
Supported LLM engines
base_name | Display name |
|---|---|
chatgpt | ChatGPT |
google_ai_overview | Google AI Overview |
google_ai_mode | Google AI Mode |
perplexity | Perplexity |
gemini | Gemini |
Get site brand
GET https://api4.seranking.com/sites/{site_id}/airt/brands
Returns the brand configured for the specified site.
Request parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| site_id | Integer | Yes | Site ID (path parameter). |
Request example
curl -X GET 'https://api4.seranking.com/sites/11270054/airt/brands' \
-H 'Authorization: Token YOUR_API_KEY'Response parameters
If the site is not found, the API returns the 404 HTTP status code (for more information, see Error handling).
| Parameter | Type | Description |
|---|---|---|
| site_id | Integer | Site ID. |
| brand | String | Configured brand. null if not set. |
Response example
{
"site_id": 11270054,
"brand": "SE Ranking"
}Save site brand
POST https://api4.seranking.com/sites/{site_id}/airt/brands
Configures or overwrites the brand for a site. The configured brand is shared across all AI search engines.
Request parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| site_id | Integer | Yes | Site ID (path parameter). |
| brand | String | Yes | Brand name (non-empty, max 255 characters). |
Request example
curl -X POST 'https://api4.seranking.com/sites/11270054/airt/brands' \
-H 'Authorization: Token YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{"brand": "SE Ranking"}'Response parameters
| Parameter | Type | Description |
|---|---|---|
| site_id | Integer | Site ID. |
| brand | String | Configured brand. |
Response example
{
"site_id": 11270054,
"brand": "SE Ranking"
}List LLM engines
GET https://api4.seranking.com/sites/{site_id}/airt/llm
Returns all LLM engines configured for the specified site.
Request parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| site_id | Integer | Yes | Site ID (path parameter). |
Request example
curl -X GET 'https://api4.seranking.com/sites/11270054/airt/llm' \
-H 'Authorization: Token YOUR_API_KEY'Response parameters
Returns an array of LLM engine objects.
| Parameter | Type | Description |
|---|---|---|
| id | Integer | LLM engine ID. |
| site_id | Integer | Site ID. |
| base_name | String | LLM engine base name (e.g., chatgpt, google_ai_overview). |
| country_code | String | ISO 3166-1 alpha-2 country code. |
| region_name | String | Specific region or locality name. |
| lang_code | String | ISO 639-1 language code. |
| region_settings | Object/Array | Engine-specific region settings. Object with lat, lng, uule, radius for geo-targeted engines; empty array [] for engines without region settings. |
Response example
[
{
"id": 151216,
"site_id": 11270054,
"base_name": "google_ai_overview",
"country_code": "us",
"region_name": "Washburn County, Wisconsin, United States",
"lang_code": "en",
"region_settings": {
"lat": 45.965719,
"lng": -91.814895,
"uule": "",
"radius": 25000
}
},
{
"id": 151294,
"site_id": 11270054,
"base_name": "chatgpt",
"country_code": "us",
"region_name": null,
"lang_code": "en",
"region_settings": []
}
]Get LLM engine
GET https://api4.seranking.com/sites/{site_id}/airt/llm/{id}
Returns details of a specific LLM engine.
Request parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| site_id | Integer | Yes | Site ID (path parameter). |
| id | Integer | Yes | LLM engine ID (path parameter). |
Request example
curl -X GET 'https://api4.seranking.com/sites/11270054/airt/llm/151216' \
-H 'Authorization: Token YOUR_API_KEY'Response parameters
If the LLM engine is not found, the API returns the 404 HTTP status code (for more information, see Error handling).
| Parameter | Type | Description |
|---|---|---|
| id | Integer | LLM engine ID. |
| site_id | Integer | Site ID. |
| base_name | String | LLM engine base name (e.g., chatgpt, google_ai_overview). |
| country_code | String | ISO 3166-1 alpha-2 country code. |
| region_name | String | Specific region or locality name. |
| lang_code | String | ISO 639-1 language code. |
| region_settings | Object/Array | Engine-specific region settings. Object with lat, lng, uule, radius for geo-targeted engines; empty array [] for engines without region settings. |
Response example
{
"id": 151216,
"site_id": 11270054,
"base_name": "google_ai_overview",
"country_code": "us",
"region_name": "Washburn County, Wisconsin, United States",
"lang_code": "en",
"region_settings": {
"lat": 45.965719,
"lng": -91.814895,
"uule": "",
"radius": 25000
}
}Create LLM engine
POST https://api4.seranking.com/sites/{site_id}/airt/llm
Adds a new LLM engine to a site.
Request parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| site_id | Integer | Yes | N/A | Site ID (path parameter). |
| base_name | String | Yes | N/A | LLM engine base name. Must be one of: chatgpt, google_ai_overview, google_ai_mode, perplexity, gemini. |
| country_code | String | Yes | N/A | ISO 3166-1 alpha-2 country code (e.g., us). |
| region_name | String | No | N/A | Specific region or locality (must match the specified country for Google engines). |
| lang_code | String | No | N/A | ISO 639-1 language code (e.g., en). Must be a valid language code supported by Google. |
Request example
curl -X POST 'https://api4.seranking.com/sites/11270054/airt/llm' \
-H 'Authorization: Token YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"base_name": "perplexity",
"country_code": "us",
"lang_code": "en"
}'Response parameters
Returns the created LLM engine object. If the site is not found, the API returns the 404 HTTP status code (for more information, see Error handling).
| Parameter | Type | Description |
|---|---|---|
| id | Integer | LLM engine ID. |
| site_id | Integer | Site ID. |
| base_name | String | LLM engine base name (e.g., chatgpt, google_ai_overview). |
| country_code | String | ISO 3166-1 alpha-2 country code. |
| region_name | String | Specific region or locality name. |
| lang_code | String | ISO 639-1 language code. |
| region_settings | Object/Array | Engine-specific region settings. Object with lat, lng, uule, radius for geo-targeted engines; empty array [] for engines without region settings. |
Response example
{
"id": 160000,
"site_id": 11270054,
"base_name": "perplexity",
"country_code": "us",
"region_name": null,
"lang_code": "en",
"region_settings": []
}Update LLM engine
PATCH https://api4.seranking.com/sites/{site_id}/airt/llm/{id}
Partially updates the configuration of an LLM engine (region_name and/or lang_code).
Request parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| site_id | Integer | Yes | Site ID (path parameter). |
| id | Integer | Yes | LLM engine ID (path parameter). |
| region_name | String | No | New region or locality name. Set to null to clear. For Google-based engines, must match the engine’s country. |
| lang_code | String | No | New language code. Set to null to clear. |
Request example
curl -X PATCH 'https://api4.seranking.com/sites/11270054/airt/llm/151216' \
-H 'Authorization: Token YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"region_name": "Los Angeles, CA, USA",
"lang_code": "es"
}'Response parameters
Returns the updated LLM engine object. If the LLM engine is not found, the API returns the 404 HTTP status code (for more information, see Error handling).
| Parameter | Type | Description |
|---|---|---|
| id | Integer | LLM engine ID. |
| site_id | Integer | Site ID. |
| base_name | String | LLM engine base name (e.g., chatgpt, google_ai_overview). |
| country_code | String | ISO 3166-1 alpha-2 country code. |
| region_name | String | Specific region or locality name. |
| lang_code | String | ISO 639-1 language code. |
| region_settings | Object/Array | Engine-specific region settings. Object with lat, lng, uule, radius for geo-targeted engines; empty array [] for engines without region settings. |
Response example
{
"id": 151216,
"site_id": 11270054,
"base_name": "google_ai_overview",
"country_code": "us",
"region_name": "Los Angeles, CA, USA",
"lang_code": "es",
"region_settings": {
"lat": 34.052235,
"lng": -118.243683,
"uule": "",
"radius": 25000
}
}Delete LLM engine
DELETE https://api4.seranking.com/sites/{site_id}/airt/llm/{id}
Removes the specified LLM engine from the site.
Request parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| site_id | Integer | Yes | Site ID (path parameter). |
| id | Integer | Yes | LLM engine ID (path parameter). |
Request example
curl -X DELETE 'https://api4.seranking.com/sites/11270054/airt/llm/151216' \
-H 'Authorization: Token YOUR_API_KEY'Response
204 — No content. If the LLM engine is not found, the API returns the 404 HTTP status code (for more information, see Error handling).
Get LLM status
GET https://api4.seranking.com/sites/{site_id}/airt/llm/{id}/status
Returns tracking status for the specified LLM engine, including progress and check statistics.
Request parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| site_id | Integer | Yes | Site ID (path parameter). |
| id | Integer | Yes | LLM engine ID (path parameter). |
Request example
curl -X GET 'https://api4.seranking.com/sites/11270054/airt/llm/151216/status' \
-H 'Authorization: Token YOUR_API_KEY'Response parameters
If the LLM engine is not found, the API returns the 404 HTTP status code (for more information, see Error handling).
| Parameter | Type | Description |
|---|---|---|
| llm_id | Integer | LLM engine ID. |
| site_id | Integer | Site ID. |
| progress | Integer | Percentage of prompts checked today (0–100). |
| prompts_count | Integer | Total number of prompts for this LLM engine. |
| prompts_checked | Integer | Number of prompts checked on the site’s current date. |
| last_update_date | String | Date of the last check. If progress is 100%, returns the current date. Otherwise, returns the latest historical check date. null if no checks have been performed yet. |
Response examples
All prompts checked today (Google AI Overview)
{
"llm_id": 151216,
"site_id": 11270054,
"progress": 100,
"prompts_count": 5,
"prompts_checked": 5,
"last_update_date": "2026-02-19"
}All prompts checked today (ChatGPT)
{
"llm_id": 151294,
"site_id": 11270054,
"progress": 100,
"prompts_count": 5,
"prompts_checked": 5,
"last_update_date": "2026-02-19"
}No prompts configured
{
"llm_id": 160000,
"site_id": 11270054,
"progress": 0,
"prompts_count": 0,
"prompts_checked": 0,
"last_update_date": null
}Get LLM statistics
GET https://api4.seranking.com/sites/{site_id}/airt/llm/{id}/statistics
Returns statistics for the specified LLM engine, including presence stats, AIO presence, mentions/links, and organic overlap (AI Overview only).
Request parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| site_id | Integer | Yes | N/A | Site ID (path parameter). |
| id | Integer | Yes | N/A | LLM engine ID (path parameter). |
| from | String | No | Current date | Start date for date range (YYYY-MM-DD format). If not provided, defaults to the current date. |
| to | String | No | Current date | End date for date range (YYYY-MM-DD format). If not provided, defaults to the current date. |
| top | Integer | No | 0 (all positions) | Top N positions to analyze (0–100): • 0 – all positions (default when omitted)• 3 – only the top 3 positions• 10 – only top 10 positions |
Request examples
Current date only (default)
curl -X GET 'https://api4.seranking.com/sites/11270054/airt/llm/151216/statistics' \
-H 'Authorization: Token YOUR_API_KEY'With date range and top 3
curl -X GET 'https://api4.seranking.com/sites/11270054/airt/llm/151216/statistics?from=2026-02-01&to=2026-02-19&top=3' \
-H 'Authorization: Token YOUR_API_KEY'Response parameters
If the LLM engine is not found, the API returns the 404 HTTP status code (for more information, see Error handling).
Top-level response
| Parameter | Type | Description |
|---|---|---|
| llm_id | Integer | LLM engine ID. |
| site_id | Integer | Site ID. |
| top | Integer | top value used for this query (0 = all positions). |
stats object: Basic tracking stats
| Parameter | Type | Description |
|---|---|---|
| stats.indexed_percent | Number | Percentage of prompts that have been indexed (0–100). May be integer or float. |
| stats.keywords_count | Integer | Total number of keywords/prompts. |
| stats.last_update | String | Date of the last check (YYYY-MM-DD). |
presence object: Link and mention presence in Top N positions
| Parameter | Type | Description |
|---|---|---|
| presence.link_percent_in_top | Number | Percentage of keywords with site link in Top N (0–100). |
| presence.link_diff | Number | Change in link percentage from first to last date (percentage points). |
| presence.mention_percent_in_top | Number | Percentage of keywords with brand mention in Top N (0–100). |
| presence.mention_diff | Number | Change in mention percentage from first to last date (percentage points). |
aio_presence object: Google AI Overview only
| Parameter | Type | Description |
|---|---|---|
| aio_presence.keywords_with_aio | Number | Percentage of keywords that show AI Overview (0–100). |
| aio_presence.keywords_with_aio_diff | Number | Change in keywords_with_aio from first to last date (percentage points). |
organic_overlap object: Google AI Overview only
| Parameter | Type | Description |
|---|---|---|
| organic_overlap.overlap_count | Integer | Number of overlapping URLs from the Top 20 organic and AIO. |
| organic_overlap.overlap_count_diff | Integer | Change in overlap count from first to last date. |
| organic_overlap.overlap_percent | Number | Percentage of overlap (0–100). |
sources_presence object: Non-Google-AI-Overview engines only (ChatGPT, AI Mode, Gemini, Perplexity)
| Parameter | Type | Description |
|---|---|---|
| sources_presence.answers_with_sources | Number | Percentage of answers that have source links (0–100). |
| sources_presence.answers_with_sources_diff | Number | Change in answers_with_sources from first to last date (percentage points). |
LLM-specific response shape
| Engine | Fields returned |
|---|---|
| Google AI Overview | stats + presence + aio_presence + organic_overlap |
| ChatGPT, AI Mode, Gemini, Perplexity | stats + presence + sources_presence |
Response examples
Google AI Overview with date range and top=3
{
"llm_id": 151216,
"site_id": 11270054,
"top": 3,
"stats": {
"keywords_count": 5,
"last_update": "2026-02-19",
"indexed_percent": 100
},
"presence": {
"link_percent_in_top": 0,
"link_diff": 0,
"mention_percent_in_top": 0,
"mention_diff": 0
},
"aio_presence": {
"keywords_with_aio": 80,
"keywords_with_aio_diff": 0
},
"organic_overlap": {
"overlap_count": 4,
"overlap_count_diff": 0,
"overlap_percent": 20
}
}ChatGPT with date range (all positions)
{
"llm_id": 151294,
"site_id": 11270054,
"top": 0,
"stats": {
"keywords_count": 5,
"last_update": "2026-02-19",
"indexed_percent": 100
},
"presence": {
"link_percent_in_top": 0,
"link_diff": 0,
"mention_percent_in_top": 20,
"mention_diff": 0
},
"sources_presence": {
"answers_with_sources": 60,
"answers_with_sources_diff": 0
}
}List prompts
GET https://api4.seranking.com/sites/{site_id}/airt/llm/{llm_id}/prompts
Retrieves the list of prompts (keywords) tracked by a specific LLM engine with pagination support.
Request parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| site_id | Integer | Yes | N/A | Site ID (path parameter). |
| llm_id | Integer | Yes | N/A | LLM engine ID (path parameter). |
| limit | Integer | No | 100 | Number of items per page (1–1000). |
| offset | Integer | No | 0 | Offset from the beginning of the list. |
Request example
curl -X GET 'https://api4.seranking.com/sites/11270054/airt/llm/151294/prompts?limit=5&offset=0' \
-H 'Authorization: Token YOUR_API_KEY'Response parameters
If the site or LLM engine is not found, the API returns the 404 HTTP status code (for more information, see Error handling).
| Parameter | Type | Description |
|---|---|---|
| site_llm_id | Integer | LLM engine ID. |
| site_id | Integer | Site ID. |
| items | Array | List of prompt objects (see below). |
| total | Integer | Total number of prompts for this LLM. |
| limit | Integer | Number of items per page. |
| offset | Integer | Offset from the beginning. |
Each item in the items array has the following structure:
| Parameter | Type | Description |
|---|---|---|
| k2site_llm_id | Integer | Keyword-LLM link ID (use this for DELETE). |
| site_llm_id | Integer | LLM engine ID. |
| keyword_id | Integer | Keyword ID. |
| keyword | String | Keyword text. |
| search_volume | Integer | Search volume (if available). |
| intent | Integer | Keyword intent (if set). |
keyword_id, site_llm_id, k2site_llm_id, search_volume) may be returned as JSON strings. Consumers should coerce them to integers.Response example
{
"site_llm_id": 151294,
"site_id": 11270054,
"items": [
{
"k2site_llm_id": 1411621,
"site_llm_id": 151294,
"keyword_id": 1021954,
"keyword": "best seo tool",
"search_volume": null,
"intent": null
},
{
"k2site_llm_id": 1411624,
"site_llm_id": 151294,
"keyword_id": 1021957,
"keyword": "seo rank tracker",
"search_volume": null,
"intent": null
},
{
"k2site_llm_id": 1411627,
"site_llm_id": 151294,
"keyword_id": 1021960,
"keyword": "website audit tool",
"search_volume": null,
"intent": null
},
{
"k2site_llm_id": 1411630,
"site_llm_id": 151294,
"keyword_id": 1021963,
"keyword": "keyword research software",
"search_volume": null,
"intent": null
},
{
"k2site_llm_id": 1411633,
"site_llm_id": 151294,
"keyword_id": 1021966,
"keyword": "backlink checker",
"search_volume": null,
"intent": null
}
],
"total": 5,
"limit": 5,
"offset": 0
}Add prompts
POST https://api4.seranking.com/sites/{site_id}/airt/llm/{llm_id}/prompts
Adds new prompts (keywords) to the specified LLM engine. Duplicate keywords for the same LLM engine are automatically skipped.
Request parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| site_id | Integer | Yes | Site ID (path parameter). |
| llm_id | Integer | Yes | LLM engine ID (path parameter). |
| prompts | Array | Yes | Array of keyword strings to add, one item minimum (non-empty, max 255 characters). |
Request example
curl -X POST 'https://api4.seranking.com/sites/11270054/airt/llm/151294/prompts' \
-H 'Authorization: Token YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"prompts": [
"best seo tool",
"seo rank tracker",
"website audit tool"
]
}'Response parameters
Returns the count of actually added keywords (excluding duplicates) in the HTTP status 201. If the site or LLM engine is not found, the API returns the 404 HTTP status code (for more information, see Error handling).
| Parameter | Type | Description |
|---|---|---|
| site_llm_id | Integer | LLM engine ID. |
| site_id | Integer | Site ID. |
| added | Integer | Number of keywords actually added (excluding duplicates). |
| prompts | Array\<Integer> | Array of k2site_llm_id values for added keywords. |
Response example
{
"site_llm_id": 151294,
"site_id": 11270054,
"added": 3,
"prompts": [1411621, 1411624, 1411627]
}Delete prompts
DELETE https://api4.seranking.com/sites/{site_id}/airt/llm/{llm_id}/prompts
Deletes prompts (keywords) from the specified LLM engine by their k2site_llm_id.
k2site_llm_id values for keywords you want to delete.Request parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| site_id | Integer | Yes | Site ID (path parameter). |
| llm_id | Integer | Yes | LLM engine ID (path parameter). |
| k2site_llm_ids | Array | Yes | Array of keyword-LLM link IDs to delete (min 1 item). |
Request example
curl -X DELETE 'https://api4.seranking.com/sites/11270054/airt/llm/151294/prompts' \
-H 'Authorization: Token YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{"k2site_llm_ids": [1411621, 1411624]}'Response
204 No content — prompts deleted successfully. If the site or LLM engine is not found, the API returns the 404 HTTP status code (for more information, see Error handling).
Get prompt rankings
GET https://api4.seranking.com/sites/{site_id}/airt/llm/{llm_id}/prompts/rankings
Retrieves ranking data for all prompts tracked by the specified LLM engine within a date range. Returns positions, URLs, search volume, search intent, and organic-AI overlap data for each keyword.
Request parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| site_id | Integer | Yes | N/A | Site ID (path parameter). |
| llm_id | Integer | Yes | N/A | LLM engine ID (path parameter). |
| date_from | String | No | Current date | Start date for rankings data (YYYY-MM-DD format). |
| date_to | String | No | Current date | End date for rankings data (YYYY-MM-DD format). |
| limit | Integer | No | 100 | Number of items per page (1–1000). |
| offset | Integer | No | 0 | Offset from the beginning of the list. |
Request example
curl -X GET 'https://api4.seranking.com/sites/11270054/airt/llm/151216/prompts/rankings?date_from=2026-02-17&date_to=2026-02-19&limit=2&offset=0' \
-H 'Authorization: Token YOUR_API_KEY'Response parameters
If the site or LLM engine is not found, the API returns the 404 HTTP status code (for more information, see Error handling).
| Parameter | Type | Description |
|---|---|---|
| site_llm_id | Integer | LLM engine ID. |
| site_id | Integer | Site ID. |
| date_from | String | Start date of the data range. |
| date_to | String | End date of the data range. |
| items | Array | Rankings data grouped by keyword (see below). |
| total | Integer | Total number of keywords. |
| limit | Integer | Number of items per page. |
| offset | Integer | Offset from the beginning. |
Each item in the items array has the following structure:
| Parameter | Type | Description |
|---|---|---|
| keyword_id | Integer | Keyword ID. |
| keyword | String | Keyword text. |
| search_volume | Integer | Monthly search volume for the keyword. |
| search_intent | Array | Search intent codes: • I – informational• N – navigational• L – local• C – commercial• T – transactional |
| positions | Array | Daily position data (see below). |
Each item in the positions array has the following structure:
| Parameter | Type | Description |
|---|---|---|
| date | String | Check date. |
| url_position | Integer | Position of the site’s URL in AI results: • null – no AI result block on that date• 0 – URL not found in results• 1+ – position in results |
| urls_count | Integer | Total number of URLs present in AI results. null when no AI result block. |
| mention_position | Integer | Position of brand mention in AI results: • null – no AI result block on that date• 0 – brand not mentioned• 1+ – position of mention |
| mentions_count | Integer | Total number of brand mentions in AI results. null when no AI result block. |
| organic_overlap | Integer | Organic-AI overlap metric (0–100). null when no AI result block. |
| organic_overlap_percent | Integer | Organic overlap as percentage (0–100). null when no AI result block. |
null, it means there was no AI result block on that date — not that the brand wasn’t found.Response examples
Google AI Overview rankings
{
"site_llm_id": 151216,
"site_id": 11270054,
"date_from": "2026-02-17",
"date_to": "2026-02-19",
"items": [
{
"keyword_id": 1021696,
"keyword": "What are the best tools for monitoring backlinks currently on the market?",
"search_volume": 0,
"search_intent": ["I"],
"positions": [
{
"date": "2026-02-19",
"url_position": 0,
"urls_count": 10,
"mention_position": 6,
"mentions_count": 8,
"organic_overlap": 3,
"organic_overlap_percent": 15
}
]
},
{
"keyword_id": 1021699,
"keyword": "Can you recommend a reliable service for tracking my website's backlink profile?",
"search_volume": 0,
"search_intent": ["I"],
"positions": [
{
"date": "2026-02-19",
"url_position": 0,
"urls_count": 8,
"mention_position": 0,
"mentions_count": 5,
"organic_overlap": 2,
"organic_overlap_percent": 10
}
]
}
],
"total": 5,
"limit": 2,
"offset": 0
}ChatGPT rankings
{
"site_llm_id": 151294,
"site_id": 11270054,
"date_from": "2026-02-17",
"date_to": "2026-02-19",
"items": [
{
"keyword_id": 1021954,
"keyword": "best seo tool",
"search_volume": null,
"search_intent": null,
"positions": [
{
"date": "2026-02-19",
"url_position": 0,
"urls_count": 25,
"mention_position": 5,
"mentions_count": 10,
"organic_overlap": null,
"organic_overlap_percent": null
}
]
},
{
"keyword_id": 1021957,
"keyword": "seo rank tracker",
"search_volume": null,
"search_intent": null,
"positions": [
{
"date": "2026-02-19",
"url_position": 0,
"urls_count": 0,
"mention_position": 0,
"mentions_count": 10,
"organic_overlap": null,
"organic_overlap_percent": null
}
]
}
],
"total": 5,
"limit": 2,
"offset": 0
}