We asked ChatGPT, Gemini, Copilot and AI Mode, logged out
New API: ask ChatGPT, Gemini, Copilot, AI Mode and Brave as a logged-out visitor and get the answer, its sources and your brand mentions. What we tested.
SerpKite team Updated 8 min read
On this page
People now ask an AI assistant before they search. If you sell anything, the question is no longer only “where do we rank on Google?” but also “what does ChatGPT say when someone asks for the best tool in our category, and does it mention us?”
Updated later on October 28: ChatGPT and Gemini answer faster than at launch (ChatGPT about 17 seconds at the median, Gemini about 12), and the times below are the latest measurements.
Updated October 29: lower prices for AI answers. ChatGPT now costs 4 credits (was 5), Gemini 3 (was 5) and Google AI Mode 2 (was 3); Copilot and Brave are unchanged. The prices below are current.
Today SerpKite answers that with five new endpoints. Each one sends your prompt to a public AI assistant the way a logged-out visitor asks it, in a standard browser, and returns the full answer with the sources it cited, the searches it ran, the products and places it showed, and mentions of the brands and domains you track:
| Endpoint | Assistant | Credits per answer | Typical time | Also returns |
|---|---|---|---|---|
/v1/chatgpt |
ChatGPT on chatgpt.com | 4 | 10–30 s | product cards, local places, the guest model |
/v1/gemini |
Google Gemini on gemini.google.com | 3 | 5–30 s | grounded sources, the model |
/v1/copilot |
Microsoft Copilot Search on Bing | 3 | 15–40 s | sponsored product cards |
/v1/ai_mode |
Google AI Mode | 2 | 5–45 s | cited sources |
/v1/brave_ai |
Brave Search’s AI answer | 2 | 1–10 s | fan-out searches, products |
And Google’s AI Overview now comes with every /v1/search call: when Google shows one, the response carries ai_overview with its text, Markdown and cited sources, for the normal search price of 1 credit.
One prompt, one answer, every source
All five endpoints take the same request: a prompt of up to 4,000 characters, an optional country, and a track list. ChatGPT also takes web_search (on by default, so it searches the web like the ChatGPT search results page); the others take language.
curl https://api.serpkite.com/v1/chatgpt \
-H "Authorization: Bearer $SERPKITE_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "prompt": "What are the best CRMs for a 10-person startup?", "track": ["hubspot.com", "Pipedrive"] }'
The answer comes back twice: as plain text, and as markdown whose citations are [n](link) links that match sources[].position. Each source says whether the answer cited it inline (cited: true) or only listed it beside the answer:
{
"request": {
"endpoint": "chatgpt",
"prompt": "What are the best CRMs for a 10-person startup?",
"web_search": true
},
"text": "For a 10-person startup, HubSpot CRM is the usual starting point: its free tier covers contacts, deals and email tracking. Pipedrive suits teams that live in a sales pipeline…",
"markdown": "For a 10-person startup, **HubSpot CRM** is the usual starting point [1](https://www.hubspot.com/products/crm)… **Pipedrive** suits teams that live in a sales pipeline [2](https://www.example.com/best-crm-small-business)…",
"sources": [
{
"position": 1,
"title": "Free CRM software",
"link": "https://www.hubspot.com/products/crm",
"domain": "hubspot.com",
"cited": true
},
{
"position": 2,
"title": "The best CRMs for small businesses",
"link": "https://www.example.com/best-crm-small-business",
"domain": "example.com",
"cited": true
},
{
"position": 3,
"title": "CRM buyer's guide",
"link": "https://www.example.org/crm-guide",
"domain": "example.org",
"cited": false
}
],
"search_queries": [],
"products": [],
"mentions": [
{
"term": "hubspot.com",
"mentioned": true,
"cited": true,
"sources": [
1
],
"products": [],
"text_position": 0.05
},
{
"term": "Pipedrive",
"mentioned": true,
"cited": false,
"sources": [],
"products": [],
"text_position": 0.38
}
],
"meta": {
"request_id": "req_01J9…",
"credits_used": 4,
"cached": false,
"engine": "chatgpt",
"latency_ms": 31840
}
}The same call from the SDKs (version 0.8.0):
import { SerpKite } from "serpkite";
const sk = new SerpKite(); // reads SERPKITE_API_KEY
const res = await sk.chatgpt({
prompt: "What are the best CRMs for a 10-person startup?",
track: ["hubspot.com", "Pipedrive"],
});
console.log(res.markdown);
for (const m of res.mentions ?? []) console.log(m.term, m.mentioned, m.cited);
from serpkite import SerpKite
sk = SerpKite() # reads SERPKITE_API_KEY
res = sk.gemini(prompt="How do heat pumps work in cold climates?", country="us")
print(res.markdown)
print([s.link for s in res.sources if s.cited])
The other methods follow the endpoint names: gemini, copilot, aiMode and braveAi in TypeScript, ai_mode and brave_ai in Python, and ChatGPT, Gemini, Copilot, AIMode and BraveAI in Go. In Claude, Cursor or any MCP client, the remote MCP server now has 23 tools, including chatgpt, gemini, copilot, ai_mode and brave_ai.
Is your brand in the answer?
track is what turns an answer into a measurement. Pass up to 20 brands and domains; each comes back in mentions:
mentioned: the answer text names it.cited: a source the answer cites is on that domain (or names that brand).sourcesandproducts: the positions of the matching sources and product cards.text_position: how early the text first names it, from 0 (the first words) to 1 (the end), or -1 when it doesn’t.
A term with a dot is a domain and matches subdomains (hubspot.com matches blog.hubspot.com); anything else matches whole words, ignoring case. With format: "markdown" the answer ends with a short Mentions section, which is handy when the reader is a model.
One answer is an anecdote, though. The useful number is a rate: out of many runs of the prompts your buyers ask, in the countries you sell in, how often are you named, and how often cited? Two features make that cheap to collect:
- Batches. Send up to 100 prompts per call to
POST /v1/batcheswithendpoint: "chatgpt"(or any assistant) and receive the answers at a signed webhook. Answers cost the same in the batch lane, because each one holds a browser for half a minute or more. - Monitors. Save a prompt with
trackas a monitor and it is asked hourly, daily or weekly. Unlike search monitors, which report only new results, an assistant monitor reports every answer, with itsmentionsandnew_sources, the links it hadn’t cited before. That is AI visibility over time.
curl https://api.serpkite.com/v1/monitors \
-H "Authorization: Bearer $SERPKITE_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "endpoint": "chatgpt", "prompt": "What are the best CRMs for a 10-person startup?",
"track": ["hubspot.com", "Pipedrive", "Acme CRM"], "interval": "daily",
"webhook_url": "https://example.com/hooks/serpkite" }'
The AI visibility tracking guide walks through a prompt set end to end, and the feature page compares the assistants.
What we tested, and what we left out
Before shipping we spent a day asking every public assistant we could find, logged out, from several countries and kinds of connection. On October 28, 2026:
- ChatGPT answered nearly every prompt we sent, a few dozen across shopping, local and how-to questions; the few misses were connection failures on our side, never a refusal. The median is now about 17 seconds, and most answers take 10 to 30. It localises prices and shops to where the visitor is: the same prompt priced in euros from Finland and in pounds from the UK. That is why
countryon/v1/chatgptasks as a visitor in that country. - Brave’s AI answer was the fastest, 1 to 10 seconds, and answered nearly every prompt. It also shows the searches it fanned out to.
- Copilot Search on Bing answered reliably, in 20 to 35 seconds. The Copilot app at copilot.microsoft.com asks logged-out visitors to sign in, so it is not offered; Copilot Search is the Copilot answer built into Bing.
- Gemini answered most prompts. Most answers take 5 to 30 seconds, about 12 at the median; answers that search the web take longer.
- Google AI Mode answered when the country setting matched the country it was asked from, so we ask from the
countryyou send and set the country to match. Informational answers take 5 to 10 seconds, commercial ones about 40. - Google AI Overviews appeared for about four in five informational and commercial queries, rarely for navigational or local ones, and only for visitors Google treats as eligible for AI features.
Perplexity, Grok and Meta AI showed a sign-up wall to every logged-out visitor, over about 75 attempts from every kind of connection we have and from a normal desktop browser. We don’t offer them. duck.ai answered, but only after a click-through on its terms, so we left it out too.
That line is deliberate. SerpKite only collects what anyone sees without an account: we never sign in, never use accounts, and never collect anything behind a login. When an assistant decides logged-out visitors must sign in, that assistant is out of scope. How we collect data has the details.
Pricing
ChatGPT 4, Gemini 3, Copilot Search 3, Google AI Mode 2 and Brave AI 2 credits per answer, from the same credit balance as everything else. That is $4.00 → $2.40 per 1,000 ChatGPT answers and $2.00 → $1.20 per 1,000 Brave answers, from the smallest pack to the largest, and credits never expire. The rules:
- Failed, refused and empty answers are free. If the assistant errors, refuses or returns nothing, you are not charged.
- The batch lane costs the same for answers; there is no 0.5× discount, because the cost is the browser time, not our queue.
- Cache hits are half price. Answers are cached for at most an hour and read only when you send
max_age. By default every call asks again. - AI Overviews are included in the search price.
The full table is on the pricing page and in credits and billing.
Limits worth knowing
- Latency. Most answers take 2 to 65 seconds, depending on the assistant, and a few up to 90. Set your HTTP timeout to 120 s or more (the SDKs do this for these methods), or let batches and monitors do the waiting.
- Variance. The same prompt gives a different answer next time: other wording, other sources, sometimes other brands. Sample several times before you draw conclusions.
- One turn. Each request is a fresh conversation with one prompt. There is no chat history and no follow-up.
- The guest model. Logged-out visitors get each assistant’s free model;
modelnames it when the assistant does. Paid plans may answer differently. - Countries. ChatGPT and Gemini answer for where the visitor is, so
countrysets where the visitor is. Copilot and Brave takecountryas a market setting; AI Mode is asked from that country and answers for it.
Try it
Open the playground in the dashboard, pick an assistant, add your brand to track, and run a prompt. It runs on your key and credits like any API call, and new accounts start with free credits.
The reference for each endpoint is in the docs: AI assistants overview, ChatGPT, Gemini, Copilot, AI Mode, Brave AI. Every change is in the changelog.