Does ChatGPT mention you?
And does it cite you?
An AI visibility API for developers and AI agents. Ask ChatGPT the question your buyers ask, and get back as JSON whether the answer named your brand, whether it cited your pages — two different things — and where you sat among the options it recommended. Run the same prompt several times and read the rate rather than the anecdote: mention rate, average and best rank, citation rate, and the same figures for every competitor. Prompt discovery finds the questions worth tracking, and a visibility report compares a whole market at once.
Trusted by developers shipping real products.
247,095 served today
Request
$ curl -X POST \ https://api.fetchlayer.dev/chatgpt/ai-rank \ -H "Authorization: Bearer ss-your-key" \ -H "Content-Type: application/json" \ -d '{"prompt":"best reddit api alternatives", "target":{"name":"FetchLayer","domains":["fetchlayer.dev"]}, "competitors":["Apify"],"runs":3}'
Response
{
"runs": [{
"rank": null,
"mentioned": false,
"citedAsSource": false,
"method": "bulleted_list",
"recommendations": [
{ "rank": 1, "name": "Arctic Shift" },
{ "rank": 2, "name": "PullPush" }, …
]
}, …2 more runs],
"aggregate": { "mentionRate": 0, "citationRate": 0 },
"competitorAggregates": [{ "name": "Apify",
"mentionRate": 100, "averageRank": 3 }],
"pagesScraped": 3
} Built for feedback workflows
Fetch the public signal. Use it wherever your team works.
Mentioned and cited, kept apart
A brand can be named in the prose with none of its pages among the sources, or cited without being recommended. mentioned and citedAsSource are reported separately, with the exact source positions — and retrieved tells you when ChatGPT read your page and cited someone else.
A number you can put in a report
Ask the same question several times in one request and get the aggregate back: mentionRate, averageRank, bestRank, worstRank, citationRate and averageCitationRank. The rate is the measurement that holds week to week — and the spread between best and worst tells you how settled your position really is.
Two rankings, because there are two
rank is your position among the options the answer recommends. citationRank is your position among the pages it cites. They move independently, and method tells you how that answer laid its options out — a numbered list, a table, headings, bullets, or no list at all.
The competitor set you did not have to guess
Every check returns the brands the answer itself put forward, with the rank it gave them. You find out who ChatGPT considers your competition for a question, rather than telling it who you think they are.
The prompts, and the searches behind them
Prompt discovery returns the prompts asked, the web searches ChatGPT actually ran while answering, and prompts it suggests people use — kept in separate, labelled lists, because an observation and a suggestion are not the same evidence.
Share of voice across a market
Run several prompts against several brands in one request for share of voice plus a per-prompt breakdown. Extra brands are free: every brand is read out of the same answers, so it is the prompts and runs that cost credits.
The answer, and every page behind it
Read a whole answer as Markdown or plain text with the pages it cites, the sentence that cites each one, the searches it ran, and every page it read while searching — cited or not. When a ranking moves, this is where you find out which source moved it.
Find out where you stand in ChatGPT’s answers—then export it to CSV.
Prefer not to write code? Paste the questions your buyers ask into FetchLayer Research Chat, ask whether ChatGPT names you, whether it cites you and who it recommends instead, and get a clean table for the next content review.
- ✓Ask questions in plain English
- ✓Analyze themes, sentiment, and pain points
- ✓Download the structured results as CSV or JSON
No code or setup required · Uses your FetchLayer credits
For these 8 buyer questions, check over 3 runs each whether ChatGPT mentions us and whether it cites our domain, list who it recommends instead with their ranks, and export it as CSV.
I ran each question three times, one credit per answer. The table gives the mention rate and citation rate per question, your average rank where you appeared, and the competitors ChatGPT recommended with theirs. It is ready to download.
chatgpt-ai-visibility.csv
8 questions · 6 columns · ready to download
Solutions
Build the workflow around the feedback.
Where you rank in search
Google, Bing and DuckDuckGo results and rank checks on the same key — the classic side of the same question, and it moves independently.
Explore →Compare with Google
Run the same question on Google to see who ranks organically, next to who ChatGPT recommends for it.
Explore →Where the opinions come from
Assistants lean on community discussion. Read what Reddit actually says about you and your competitors.
Explore →From raw feedback to action
One request is the start of the workflow.
Store the structured response, run it on a schedule, pass it to an LLM, or feed it into the system your team already uses. FetchLayer handles retrieval so you can focus on the outcome.
- 01
Find the questions
Run /prompt-discovery on your topic or brand: the prompts people ask, and the searches ChatGPT runs to answer them — the queries your pages have to rank for to be readable by it.
- 02
Measure where you stand
Run /ai-rank on the questions that matter, over several runs, and store the aggregate: mention rate, average rank, citation rate. One run is an anecdote; a rate is a baseline.
- 03
Watch it move
Re-run on a schedule with the prompt, country and web-search mode fixed, and read /ask when a number moves to see which sources the answer leaned on that time.
MCP & agents
Your AI already knows
how to use this.
Use the ChatGPT endpoint directly from your MCP-compatible agent. Ask it to retrieve public feedback, identify patterns, and turn the result into a useful brief without writing integration glue.
Pick your editor and we hand you the config with your key already in it — no JSON to hand-edit, no wrapper code.
Get your free API keyFree tier · no credit card · any MCP host
Does ChatGPT recommend us for best reddit api alternatives, and who does it recommend instead?
Ran the prompt three times, three credits. FetchLayer was not mentioned in any run and was never cited — mentionRate 0, citationRate 0. Apify was mentioned every time at an average rank of 3. The answers led with Arctic Shift and PullPush, and laid their options out as a bulleted list.
Works with every MCP-compatible tool
Use cases
What teams build with AI visibility data.
Same API, endless applications. Here is what teams ship with ChatGPT mentions, citations and ranks.
AI visibility tracking
Check where your brand ranks among the options ChatGPT recommends for your buyers’ questions, over several runs, and store the mention and citation rates as a baseline.
Citation gap analysis
Find the questions where ChatGPT names you but cites someone else’s pages — and the ones where it reads your page and still cites a competitor.
AI brand monitoring
Watch the answer to a question your category owns, and hear when a new brand breaks into the list ChatGPT recommends or a new site starts getting cited.
Answer engine optimization
Read the web searches ChatGPT actually runs to answer a prompt, and write the pages that rank for those queries rather than guessing at them.
Competitive share of voice
Compare a set of brands across the prompts that matter to your market, and report share of voice, mention rate and citation rate per prompt.
Client reporting for agencies
Run the same prompts every week with country and web-search mode fixed, and show a client how their visibility in AI answers moved, with the runs behind every number.
Compare approaches
Spend time on the insight, not the collection layer.
| What you need | FetchLayer | Official API | Build it yourself |
|---|---|---|---|
| Mentions and citations reported separately | ✓ | No such API | You write the matcher |
| Rank across repeated runs, with the aggregate | ✓ | n/a | You run and average it |
| The competitors the answer named | ✓ | n/a | You parse the answer |
| The searches ChatGPT actually ran | ✓ | Not exposed | You scrape the session |
| Ready for AI and MCP workflows | ✓ | Your integration | Your integration |
FetchLayer provides access to publicly available data. It is not affiliated with, endorsed by, or sponsored by the platform.
Pricing
Start free. Scale when ready.
Pay per request with no commitment, or lock in a flat monthly rate with built-in savings.
Free plan — 30 requests
Verify responses, inspect the API, no credit card required.
Pay as you go
$1.99
per 1,000 requests
$0.00199 per request · credits never expire
How credits work — no multipliers
One credit = one API call, on every endpoint and platform. No matter how many results come back, you pay for the call, not the output size. Most scraping APIs charge multipliers of 5x, 25x, even 75x per call depending on the target — here it's always 1.
- No multipliers — 1 request = 1 credit
- No monthly commitment
- Credits never expire
- Same API & MCP access as subscribers
- ∞ req/min, ∞ API keys
∞
Expiry
Credits stay until you use them. No monthly reset, no pressure to hit a quota.
0
Commitments
No subscription, no contract, no minimums. Start, pause, or scale whenever.
100%
Access
Every endpoint and MCP included. Not a limited tier — same data as any subscriber.
API reference
Every parameter, documented.
All requests are POST with a JSON body and Bearer auth header.
POST /chatgpt/ai-rank Where a brand ranks among the options an answer recommends, over several answers to the same prompt. Per run: rank, citationRank and the method the answer used. Across runs: mentionRate, averageRank, bestRank, worstRank, citationRate and averageCitationRank, plus the same per competitor.
prompt* string The question, as a buyer would type it into ChatGPT target* string | object Your brand: a name, or { name, aliases, domains } competitors array Brands to rank alongside it, up to 10. Same shape as target. runs number Answers to generate for the prompt, 1-5. Defaults to 1. Billed per run. POST /chatgpt/mentions Whether named brands appear in one answer and, separately, whether the answer cites their pages: mentionCount, the sentence around each mention, citedAsSource with the source positions, and retrieved. Also the brands the answer itself recommended, with their ranks.
prompt* string The question to ask targets* array The brands to look for, 1-10. A name, or { name, aliases, domains }. includeAnswer boolean Include the full answer. Defaults to true. country string Two-letter country the answer should come from. Defaults to us. POST /chatgpt/prompt-discovery From a seed topic or brand: the prompts asked, the web searches ChatGPT actually ran while answering them, and prompts it suggests people use. The two lists are labelled observed_search_query and generated_prompt so observation is never mistaken for suggestion.
seed* string A topic ("reddit api alternatives") or a brand ("FetchLayer") seedType string 'topic' (default) | 'brand' maxPrompts number Prompts built from the seed to ask, 1-5. Defaults to 3. includeSuggestedPrompts boolean Also ask which prompts people use. Costs one more answer. Defaults to true. POST /chatgpt/visibility-report Share of voice for a set of brands across a set of prompts, with a per-prompt breakdown of mention rate, average rank and citation rate. Extra brands are free — they are read out of the same answers.
prompts* array The prompts to ask, 1-10 targets* array The brands to compare, 1-5 runs number Answers per prompt, 1-3. prompts × runs must be at most 10. POST /chatgpt/ask The answer to a prompt with everything behind it: Markdown and plain text, the cited pages with the sentence that cites each one, every inline citation, the searches it ran, and every page it read while searching — each flagged cited.
prompt* string The prompt, exactly as a person would type it webSearch string 'auto' (default) | 'on'. There is no off. country / language string Two-letter country (us) and interface language (en). Answers differ by country. Fields marked * are required. Full API reference →
FAQ
Common questions.
What is an AI visibility API?
It answers the question SEO tools answer for Google, but for AI assistants: when someone asks ChatGPT the question your buyers ask, does the answer name you, does it cite your pages, and where do you sit among the options it recommends? Send a prompt and your brand, and you get that back as structured JSON — mention counts, the sentence around each mention, the citations, your rank among the recommendations, and the competitors the answer put forward instead. This is the measurement side of what SEO now calls answer engine optimization or GEO.
What is the difference between being mentioned and being cited?
They are two different outcomes with two different fixes, and most AI brand monitoring collapses them into one number. An answer can name your brand in its prose while none of your pages are among the sources it links — you are part of the consensus but not the evidence. Or it can cite one of your pages without recommending you at all — your content is being read, but someone else gets the recommendation. Every route reports both separately: mentioned beside citedAsSource, and in a rank check, rank among the recommendations beside citationRank among the cited sources. There is a third state worth watching, retrieved: ChatGPT read one of your pages while searching and then cited someone else.
Do I need an OpenAI account or an OpenAI API key?
No. You send your FetchLayer key and a prompt, and you get back what ChatGPT answers a visitor with no account — the real consumer-facing answer, not an API completion. There is no model, temperature or system prompt to choose, because a visitor has none of those either. FetchLayer is not affiliated with, endorsed by, or sponsored by OpenAI.
Answers change every time. How can you track anything?
By measuring the variation instead of pretending it is not there. Ask the same prompt once and you have an anecdote; ask it several times and you have a rate. /ai-rank takes a runs count and reports mentionRate, averageRank, bestRank, worstRank, citationRate and averageCitationRank across those runs, with the same figures for each competitor. A brand mentioned in 5 runs out of 5 is in a different position from one mentioned in 1 — and a single answer cannot tell those apart. Keep the prompt, country and web-search mode fixed when comparing week to week, and read the aggregate rather than any one run.
How do I know which prompts to track?
Start with /prompt-discovery. Give it a topic or your brand name, and it returns the prompts it asked, the web searches ChatGPT actually ran while answering them, and prompts it suggests people use. The two lists are labelled and kept apart, because they are different kinds of evidence: observed_search_query means ChatGPT really ran that search, so those are the queries your pages have to rank for to be readable by it; generated_prompt means ChatGPT wrote that prompt when asked, which is a suggestion, not an observation. Feed the ones that matter into /ai-rank.
Can I compare several brands across several questions at once?
Yes — /visibility-report takes a list of prompts and a list of brands and returns share of voice per brand, plus a per-prompt breakdown of mention rate, average rank and citation rate. Extra brands are free, because every brand is read out of the same answers; it is the prompts and runs that cost credits. The request is bounded by answers: prompts × runs must be at most 10, so ten prompts at one run each is fine. For wider tracking, run several smaller reports on a schedule and store the results.
What comes back from one answer?
The answer as Markdown and as plain text, the pages it cites — each with position, URL, title, domain, the label shown on the citation, and the sentence that cites it — every inline citation, the web searches it ran, and every page it looked at while searching, each flagged with whether it was cited. That last list is useful on its own: a page can be read and never cited. Null means the answer did not show a field, not zero.
How does billing work?
One credit per answer ChatGPT generates, which is exactly what pagesScraped reports. /ask and /mentions cost 1; /ai-rank costs its runs; /prompt-discovery costs one per prompt asked, plus one more while it also asks for suggested prompts; /visibility-report costs prompts × runs. Matching, ranking and aggregation cost nothing extra, and an answer that could not be produced is never billed. ChatGPT is in Beta while coverage expands, billed at half credit.
How long does a request take?
Every answer is a real ChatGPT session, so a single answer takes a few seconds rather than milliseconds. A request’s answers are generated alongside each other rather than one after the other, so asking for more runs costs more credits but little extra time — a five-run rank check and a full ten-answer visibility report both finish well inside a minute. Give your HTTP client a generous timeout anyway.
What is not available?
You cannot turn web search off: a visitor without an account has no such setting, so webSearch is auto or on, and usedWebSearch reports what it did. Some answers state which model produced them and some do not, so model is null rather than guessed. Some answers do not show the searches behind them, and then searchQueries and retrievedPages are null rather than empty, with notes saying so. And nothing here measures traffic, spend or clicks — it measures what ChatGPT answers, not how many people saw it.
Can my AI agent use it?
Yes. All five routes are MCP tools on the same FetchLayer MCP server, named chatgpt_ask, chatgpt_mentions, chatgpt_ai_rank, chatgpt_prompt_discovery and chatgpt_visibility_report. Tool calls use the same key and are billed exactly like REST, so an agent running a five-run rank check still pays five credits.
Which assistants are covered?
ChatGPT today. Every route takes a provider field, which is chatgpt by default and currently its only value, so the same requests will serve further assistants as they are added rather than needing a different shape.
Start pulling ChatGPT visibility data today.
Get a free API key, make your first request, and put public feedback to work in your own product or research workflow.
Used by developers at
Individual developers or teams — not official partnerships