Skip to content
Ranqo
Docs
DashboardGet started
GuidesMethodologyIntegrationsAPI
Video tutorials

Get started

  • Introduction
  • Quickstart
  • Authentication

Using the API

  • Rate limits
  • Errors
  • Pagination
  • Dates and time zones
  • Versioning

Account

  • Get the account

Brands

  • List brands
  • Get a brand

Visibility

  • Get visibility

Competitors

  • List competitors

Runs

  • List runs
  • Get a run

Prompts

  • List prompts
  • Get a prompt
  • List a prompt's answers

Site Access

  • Get site access

Page audits

  • List page audits
  • Get a page audit

Recommendations

  • List recommendations
  • Get a recommendation

Outreach

  • List outreach targets

6 sections

Visibility

Get visibility

View as MarkdownOpen this page as .md
ChatGPTOpen in ChatGPTAsk about this pageClaudeOpen in ClaudeAsk about this page

Read a brand's visibility, share of voice, position and sentiment over a window, against the one before, by engine or category.

HTTP
GET https://api.ranqo.ai/v1/brands/{brand_id}/visibility

The brand's visibility, position, sentiment and share of voice over a window, with the equal window before it, as the Visibility page shows them. Answers that failed are not counted.

Path parameters#

NameTypeDescription
brand_idstringThe brand id, from GET /v1/brands.

Query parameters#

Every parameter is optional. A parameter the endpoint does not take is refused with unknown_parameter.

NameTypeDefaultDescription
periodstring7d, 30d and 90d run from midnight in tz that many days back to now; 365d runs from midnight 365 days back to the end of today. Default 30d. Not with start_date. One of 7d, 30d, 90d, 365d.
start_datestringFirst day of a custom window, in tz. Send with end_date.
end_datestringLast day of a custom window, in tz, included. The window may span at most 366 days, both dates counted.
tzstringIANA time zone for day boundaries, such as Asia/Kolkata. Default UTC.
platformsstringEngines to count: claude, chatgpt, perplexity, gemini, grok, google_aio.
categoriesstringPrompt categories to count: discovery, problem_solution, use_case, expert, comparison, brand_research.
locationsstringPrompt locations to count, as stored on the prompt.
theme_idsstringTheme ids to count; none counts prompts with no theme.
is_brandedstringCount only prompts that do, or do not, name the brand. One of true, false.
group_bystringAdd a breakdown by engine or prompt category. One of platform, category.

Response#

The response body, as JSON.

FieldTypeDescription
brand_idstring
windowobjectThe answers a report counts: those from completed runs inside the window.
window.startstringRFC 3339 timestamp in UTC.
window.endstringRFC 3339 timestamp in UTC.
window.previous_startstringThe comparison window runs from here to start: the whole days before start for 7d, 30d and 90d, the same length as the window otherwise.
window.time_zonestring
window.periodstring or nullThe preset, or null for a custom window. One of 7d, 30d, 90d, 365d.
window.carried_fromstring or nullRFC 3339 timestamp in UTC. Set when the window held no completed run: the figures are the latest run before it, which completed at this time, and nothing is compared.
answer_countintegerAnswers counted, after filters.
prompt_countintegerDistinct prompts behind them.
visibilityobjectPercent of answers naming the brand, 0-100, each engine weighted.
visibility.currentnumber or nullNull when there is nothing to measure: no matching answer, or for position and sentiment no answer naming it, or for share of voice no mention of any brand.
visibility.previousnumber or nullOver the comparison window; null when that window has nothing to measure or the figures are carried.
visibility.changenumber or nullcurrent minus previous, rounded once from the unrounded values as the dashboard shows it; null when either is null.
average_positionobjectAverage position when named, 1 = named first; lower is better. The same fields as visibility.
sentiment_scoreobject0-100: positive counts 1, neutral half, negative nothing. The same fields as visibility.
share_of_voiceobjectThe brand's share of brand mentions in the answers, 0-100. Rivals count when named in more than one answer, named with their website, or watched. The same fields as visibility.
position_distributionobjectAnswers by where the brand was named.
position_distribution.firstinteger
position_distribution.secondinteger
position_distribution.thirdinteger
position_distribution.fourth_plusinteger
position_distribution.not_namedinteger
sentiment_distributionobjectAnswers naming the brand, by tone.
sentiment_distribution.positiveinteger
sentiment_distribution.neutralinteger
sentiment_distribution.negativeinteger
breakdownobject or nullPresent when group_by is sent.
breakdown.group_bystringOne of platform, category.
breakdown.rowsarray of objects
breakdown.rows[].keystringThe engine id, or the prompt category (uncategorized for none).
breakdown.rows[].answer_countinteger
breakdown.rows[].named_countintegerAnswers that named the brand.
breakdown.rows[].prompt_countintegerDistinct prompts behind those answers.
breakdown.rows[].visibilitynumberPercent of these answers naming the brand, 0-100. A category row weights each engine, as the Visibility page does.
breakdown.rows[].average_positionnumber or nullWhen named; lower is better. Null when never named.
breakdown.rows[].sentiment_scorenumber or null0-100; null when never named.

Response headers#

HeaderDescription
X-Request-IdThe request id; quote it to support.
RateLimitRequests left in this window and seconds until it resets.
RateLimit-PolicyThe key's limit per window.

Example request#

curl
curl "https://api.ranqo.ai/v1/brands/BRAND_ID/visibility" \
  -H "Authorization: Bearer $RANQO_API_KEY"

Errors#

Errors are problem details (application/problem+json) with a stable code. See Errors for each one.

StatusCodes
400invalid_parameter, unknown_parameter, api_key_in_url
401missing_api_key, invalid_api_key, api_key_revoked, api_key_expired, api_key_orphaned
403plan_upgrade_required, subscription_inactive
404not_found
429rate_limited
500internal_error
503service_unavailable
Previous page: Get a brandNext page: List competitors
On this page
Ranqo
Docs
Dashboardranqo.aiPrivacyTerms
Be the Source AI Cites.
Ranqo
Docs
GuidesMethodologyIntegrationsAPI

Get started

  • Introduction
  • Quickstart
  • Authentication

Using the API

  • Rate limits
  • Errors
  • Pagination
  • Dates and time zones
  • Versioning

Account

  • Get the account

Brands

  • List brands
  • Get a brand

Visibility

  • Get visibility

Competitors

  • List competitors

Runs

  • List runs
  • Get a run

Prompts

  • List prompts
  • Get a prompt
  • List a prompt's answers

Site Access

  • Get site access

Page audits

  • List page audits
  • Get a page audit

Recommendations

  • List recommendations
  • Get a recommendation

Outreach

  • List outreach targets
Get started