/v1/brands/{brand_id}/prompts List brand prompts
Every prompt the brand tracks in a Scheduled Report or ran in a one-off report, one row per prompt text, with its runs, visibility, best position, visibility on the last 12 days it was answered and the Google keyword behind it. Every answer of the selected runs counts: platform_results gives the answers, mentions and the brand's mean position per engine, brands_named the brands those answers name (the brand where brand_appears is true, a registered competitor under its canonical name) and domains_cited the domains they cite, each with its answers and mean first place, most answers first, then the better position, then the name.
Filters compose with AND: scheduled_report_id, tracking (active: in a running schedule, paused: scheduled but not running, one_off: never scheduled, or not in the one scheduled_report_id names), type (brand, competitor, organic) and intent (of the mapped keyword, unmapped for none), each repeatable for several, category (the prompt's current category: its tracked one, else the one it ran under; repeat for several), search (a substring of the text) and prompt_hash (one prompt text). brands_named and domains_cited come only with detail=true, the costly part, at most 100 rows a page. The Visibility filters report_id (repeat for several), platform (repeat for several engines), date_from and date_to narrow the answers each row counts to those reports, engines and period, by the date of each answer.
facets counts the prompts by type, intent and category across every page, each count under every filter but its own, so it says what picking that value would return.
sort: runs (default, most run first), visibility (highest first), recent (last run first) or text (alphabetical). tz (an IANA zone, default UTC) is the zone the trend's days are counted in. Offset paginated via limit (1-500) and offset.
Path parameters
-
Brand UUID.
Query parameters
-
active,pausedorone_off; repeat the parameter for several. -
brand,competitorororganic; repeat the parameter for several. -
Search intent of the mapped keyword,
unmappedfor prompts without one; repeat the parameter for several. -
Only prompts containing this text (case-insensitive).
-
Only this prompt text (its
prompt_hash). -
trueaddsbrands_namedanddomains_cited, a slower read capped at 100 rows a page. Defaultfalse.default: false
-
Order of the rows. Default
runs.one of runs, visibility, recent, text · default: runs
-
Prompts per page (1-500, default 100).
default: 100
-
Prompts to skip from the start.
default: 0
-
IANA time zone the days are counted in, e.g.
America/New_York. DefaultUTC.default: UTC
-
Only these reports (UUIDs); repeat the parameter for several.
-
Only the runs of this Scheduled Report (UUID).
-
Only answers from these engines; repeat the parameter for several.
-
Only answers from this moment on (ISO-8601).
-
Only answers before this moment, exclusive (ISO-8601).
-
Only answers to prompts of these categories; repeat the parameter for several.
-
Preview the call without executing it. Runs auth, scope, eligibility and body validation, then returns
200with adry_runobject reporting the request-unit and credit cost plus a non-consuming quota snapshot. Nothing is debited, reserved, dispatched or mutated. An invalid body still returns422.default: false
Responses
-
True when more items exist past this page. Fetch them with a larger
offset. -
Page size that was applied.
-
Number of items skipped before this page.
-
Total number of items matching the query, across all pages.
- facets BrandPromptFacets (nullable) nullable
Counts by type, intent and category across every page;
nullwhen none came back. - object string
Example response
{
"data": [
{
"best_rank": 2,
"brands_named": [
{
"answers": 21,
"category": "my_brand",
"name": "adidas",
"position": 2
},
{
"answers": 21,
"category": "direct_competitor",
"name": "Nike",
"position": 2.4
}
],
"category": "Marathon",
"difficulty": 62,
"domains_cited": [
{
"answers": 17,
"domain": "runnersworld.com",
"position": 1.5
}
],
"head_keyword": "marathon running shoes",
"intent": "commercial",
"languages": [
"English"
],
"last_run_at": "2026-09-20T08:15:00+00:00",
"mentions": 21,
"object": "brand_prompt",
"one_off_runs": 1,
"platform_results": [
{
"mentions": 4,
"platform": "chatgpt",
"position": 2.3,
"results": 9
}
],
"platforms": [
"chatgpt",
"gemini",
"perplexity"
],
"prompt_hash": "6f1ed002ab5595859014ebf0951522d9c47f3ab1",
"prompt_text": "Which running shoes are best for a first marathon?",
"prompt_type": "organic",
"results": 54,
"runs": 9,
"tracked": [
{
"active": true,
"country": "United States",
"id": "018e7c2c-33ab-7df1-b1cd-2ac3a8f9112d",
"language": "English",
"region_config_id": "2a3b4c5d-6e7f-4a8b-9c0d-1e2f3a4b5c6e",
"region_name": "United States",
"scheduled_report_id": "7b1d4c2e-5a6f-4e8b-9c0d-1e2f3a4b5c6d",
"scheduled_report_name": "Weekly US tracking"
}
],
"tracked_active": true,
"trend": [
{
"day": "2026-09-13",
"visibility": 33.3
},
{
"day": "2026-09-20",
"visibility": 44.4
}
],
"visibility": 38.9,
"volume": 12100
}
],
"facets": {
"categories": [
{
"category": "Marathon",
"mentions": 118,
"prompts": 12,
"results": 324,
"tracked": 9
}
],
"intent": {
"commercial": 21,
"informational": 18,
"unmapped": 13
},
"object": "brand_prompt_facets",
"type": {
"brand": 4,
"competitor": 11,
"organic": 37
}
},
"has_more": false,
"limit": 100,
"object": "list",
"offset": 0,
"total": 1
}-
Show fields
-
Stable machine-readable error code from the catalog.
-
Human-readable description suitable for logging.
- details object
Optional, code-specific context (e.g.
errorsarray forvalidation_error,retry_afterforservice_unavailable). Shape depends onerror.code; treat as opaque otherwise.Show fields
Empty object (no properties).
-
- request_id string
Server-generated correlation id for the request. Mirrors the
X-Correlation-IDresponse header. Include this when contacting support.
Example response
{
"error": {
"code": "validation_error",
"message": "Request validation failed"
},
"request_id": "9f6c4e8a-1d3b-4c8b-9f1e-7a3b1c2d3e4f"
}-
Show fields
-
Stable machine-readable error code from the catalog.
-
Human-readable description suitable for logging.
- details object
Optional, code-specific context (e.g.
errorsarray forvalidation_error,retry_afterforservice_unavailable). Shape depends onerror.code; treat as opaque otherwise.Show fields
Empty object (no properties).
-
- request_id string
Server-generated correlation id for the request. Mirrors the
X-Correlation-IDresponse header. Include this when contacting support.
Example response
{
"error": {
"code": "unauthorized",
"message": "Missing or invalid credentials"
},
"request_id": "9f6c4e8a-1d3b-4c8b-9f1e-7a3b1c2d3e4f"
}-
Show fields
-
Stable machine-readable error code from the catalog.
-
Human-readable description suitable for logging.
- details object
Optional, code-specific context (e.g.
errorsarray forvalidation_error,retry_afterforservice_unavailable). Shape depends onerror.code; treat as opaque otherwise.Show fields
Empty object (no properties).
-
- request_id string
Server-generated correlation id for the request. Mirrors the
X-Correlation-IDresponse header. Include this when contacting support.
Example response
{
"error": {
"code": "forbidden",
"message": "You do not have permission to access this resource"
},
"request_id": "9f6c4e8a-1d3b-4c8b-9f1e-7a3b1c2d3e4f"
}-
Show fields
-
Stable machine-readable error code from the catalog.
-
Human-readable description suitable for logging.
- details object
Optional, code-specific context (e.g.
errorsarray forvalidation_error,retry_afterforservice_unavailable). Shape depends onerror.code; treat as opaque otherwise.Show fields
Empty object (no properties).
-
- request_id string
Server-generated correlation id for the request. Mirrors the
X-Correlation-IDresponse header. Include this when contacting support.
Example response
{
"error": {
"code": "not_found",
"message": "Resource not found"
},
"request_id": "9f6c4e8a-1d3b-4c8b-9f1e-7a3b1c2d3e4f"
}-
Show fields
-
Stable machine-readable error code from the catalog.
-
Human-readable description suitable for logging.
- details object
Optional, code-specific context (e.g.
errorsarray forvalidation_error,retry_afterforservice_unavailable). Shape depends onerror.code; treat as opaque otherwise.Show fields
Empty object (no properties).
-
- request_id string
Server-generated correlation id for the request. Mirrors the
X-Correlation-IDresponse header. Include this when contacting support.
Example response
{
"error": {
"code": "conflict",
"message": "Resource conflict"
},
"request_id": "9f6c4e8a-1d3b-4c8b-9f1e-7a3b1c2d3e4f"
}-
Show fields
-
Stable machine-readable error code from the catalog.
-
Human-readable description suitable for logging.
- details object
Optional, code-specific context (e.g.
errorsarray forvalidation_error,retry_afterforservice_unavailable). Shape depends onerror.code; treat as opaque otherwise.Show fields
Empty object (no properties).
-
- request_id string
Server-generated correlation id for the request. Mirrors the
X-Correlation-IDresponse header. Include this when contacting support.
Example response
{
"error": {
"code": "rate_limit_exceeded",
"message": "Per-minute rate limit exceeded"
},
"request_id": "9f6c4e8a-1d3b-4c8b-9f1e-7a3b1c2d3e4f"
}-
Show fields
-
Stable machine-readable error code from the catalog.
-
Human-readable description suitable for logging.
- details object
Optional, code-specific context (e.g.
errorsarray forvalidation_error,retry_afterforservice_unavailable). Shape depends onerror.code; treat as opaque otherwise.Show fields
Empty object (no properties).
-
- request_id string
Server-generated correlation id for the request. Mirrors the
X-Correlation-IDresponse header. Include this when contacting support.
Example response
{
"error": {
"code": "internal_error",
"message": "An unexpected error occurred"
},
"request_id": "9f6c4e8a-1d3b-4c8b-9f1e-7a3b1c2d3e4f"
}-
Show fields
-
Stable machine-readable error code from the catalog.
-
Human-readable description suitable for logging.
- details object
Optional, code-specific context (e.g.
errorsarray forvalidation_error,retry_afterforservice_unavailable). Shape depends onerror.code; treat as opaque otherwise.Show fields
Empty object (no properties).
-
- request_id string
Server-generated correlation id for the request. Mirrors the
X-Correlation-IDresponse header. Include this when contacting support.
Example response
{
"error": {
"code": "service_unavailable",
"message": "Service temporarily unavailable, please retry"
},
"request_id": "9f6c4e8a-1d3b-4c8b-9f1e-7a3b1c2d3e4f"
}