Skip to main content
GET
Brand Visibility
Ask the real chatgpt.com a buyer-intent question and get back both the answer and a structured analysis of how your brand fares in it: whether it was mentioned, how early, how often, how it compares to named competitors, and whether your domain was cited as a source. This is the AEO / GEO (Answer Engine / Generative Engine Optimisation) measurement that vendors like Profound, Otterly, Peec and AthenaHQ sell as a $99–989/month subscription — here it is one 25-credit call. Accepts GET (query params) or POST (JSON body). Credits: 25
Typical latency is 20-25s ungrounded, 30-70s with web search. Set your client timeout to at least 60 s.

Authorization

string
required
Your ScrapeBadger API key.

Query Parameters

string
required
The question to ask ChatGPT — typically a buyer-intent prompt like best web scraping API for e-commerce. Maximum 4,096 characters.
string
required
The brand name to look for in the answer, e.g. ScrapeBadger.
string
Your domain, e.g. scrapebadger.com. Used to decide cited, cited_urls and citation_rank.
string
Alternate spellings that also count as a mention of brand — e.g. Scrape Badger,scrape-badger. Comma-separated on GET; a string[] on POST.
string
Competitor names to measure against, e.g. Bright Data,Oxylabs,Zyte. Drives share_of_voice_pct and the competitors array. Comma-separated on GET; a string[] on POST.
string
default:"US"
ISO-3166 alpha-2 egress country. Visibility often differs by market.
One of auto, force, off. Defaults to force here — visibility tracking usually wants ChatGPT to actually browse. Check web_search_triggered for what happened.

Response

string
Echo of the prompt you sent.
string
Echo of the brand you tracked.
string
Echo of the domain you supplied.
boolean
Whether the brand (or any alias) appears in the answer.
integer
How many times the brand or its aliases appear.
integer | null
Character offset of the first mention in answer. null when absent.
number
How prominently the brand is placed: 1.0 = named at the very start of the answer, 0.0 = absent. Useful as a single trendable number.
number
Brand mentions as a percentage of brand + competitor mentions. 0 when nobody is mentioned.
boolean
Whether the brand’s domain appears among the answer’s cited sources.
string[]
The cited URLs belonging to the brand’s domain.
integer | null
1-based rank of the brand’s first cited URL within the citation list. null when not cited.
CompetitorMention[]
One entry per competitor you named, in the order you supplied them.
string | null
The answer text surrounding the first brand mention — ready to quote in a report.
string
The full answer text.
Citation[]
The sources ChatGPT referenced — same shape as /ask.
boolean
Whether ChatGPT actually browsed the web.
string | null
Which model answered, e.g. gpt-5-5.
string
Echo of the egress country used.
integer
End-to-end time in milliseconds.
number | null
Answer creation time as a Unix timestamp.
string | null
Answer creation time as an ISO-8601 UTC string.

Example

Response
position_score is the single number to trend over time: 1.0 means the brand was named at the very start of the answer, 0.0 means it was absent. Combine it with share_of_voice_pct and cited for a full picture.
Because ChatGPT is non-deterministic, one call is a sample, not a measurement. Run the same prompt on a schedule (daily, or several times a day for competitive prompts) and track the moving average of position_score and share_of_voice_pct. Vary country to see how visibility differs by market.