Skip to main content
GET
Brand Visibility
Ask Microsoft Copilot (Copilot Search in Bing) a buyer-intent question and get back both the answer and 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. Accepts GET (query params) or POST (JSON body). Credits: 25
A fresh answer usually takes 15–25 s, and retries across exits can add more, so raise your client timeout well above the 5–10 s default (the examples use 120 s). A cached Copilot answer returns in under 1 s.

Authorization

string
required
Your ScrapeBadger API key.

Query Parameters

string
required
The question to ask, typically a buyer-intent prompt like best web scraping API for e-commerce. Maximum 2,000 characters.
string
required
The brand name to look for in the answer, e.g. ScrapeBadger.
string
Your domain, e.g. scrapebadger.com. Used for cited, cited_urls and citation_rank.
string
Alternate spellings that also count as a mention of brand. Comma-separated on GET; a string[] on POST.
string
Competitor names to measure against, e.g. Bright Data,Oxylabs,Zyte. Comma-separated on GET; a string[] on POST.
string
ISO-3166 alpha-2 country, e.g. US, DE, JP. The ask egresses from that country and, unless you set market, is answered in that country’s Bing market (e.g. JP: ja-JP).The egress is best-effort: when no exit in that country answers, the last retry may egress from the US and the response country says so. Set strict_country to forbid that.
string
Bing market code in language-COUNTRY form, e.g. ja-JP, en-GB. Defaults to the market of country, otherwise en-US. See List Markets.
boolean
default:"false"
Answer only from an exit in country, never another one. When no exit there answers the call fails with 503 and detail.code = "country_unavailable". It is not billed (only 2xx responses are). Requires country — 400 otherwise. A JSON boolean on POST.

Response

string
Echo of the prompt you sent.
string
Echo of the brand you tracked.
string | null
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
1.0 = named at the very start of the answer, 0.0 = absent.
number
Brand mentions as a percentage of brand + competitor mentions.
boolean
Whether the brand’s domain is among the cited sources.
string[]
The cited URLs on the brand’s domain.
integer | null
1-based rank of the brand’s domain among the distinct cited sources, ordered by Copilot’s own citation numbering.
CompetitorMention[]
One entry per competitor you named: name, mentioned, mention_count, first_position, cited, cited_urls.
string | null
Answer text around the first brand mention.
string
The full answer text.
Citation[]
The claim-level citations, same shape as /ask.
boolean
Whether Copilot searched the web.
string
The Bing market that answered.
string
The country the ask egressed from. Without strict_country it can differ from the country you asked for.
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.

Errors

The same as /ask: 400 for bad input (including a missing brand), 422 content_refused, 502 empty_answer/blocked/throttled and 503 country_unavailable. Only 2xx responses are billed.

Example

Strict country

By default country is best-effort, so the last retry may egress from the US. Check the response country. For per-country visibility tracking, set strict_country=true; if no exit in that country answers you get a 503 country_unavailable, which is not billed. Retry later rather than dropping strict_country.