ChatGPT search vs Perplexity for brand visibility
How OpenAI and Perplexity each decide whether your pages can appear in an answer, what their crawler documentation actually commits to, and which one you can influence.
ChatGPT search
by OpenAI
OpenAI's search experience inside ChatGPT, fed by a dedicated crawler that is documented separately from the crawler used for model training.
Checked 2026-09-03Perplexity
by Perplexity AI
An answer engine that searches the live web for each question and links the pages it used, with a crawler its documentation states is not used to gather training data.
Checked 2026-09-03Which one should you choose?
These two platforms give a site owner very different amounts of leverage. OpenAI documents an explicit, reversible switch between appearing in ChatGPT search and being excluded from it. Perplexity documents a crawler whose only stated job is surfacing and linking pages, plus a user-triggered fetcher that its own documentation says generally ignores robots.txt. Neither operator publishes how sources are ranked once you are eligible.
Choose ChatGPT search when
Prioritise ChatGPT search when your audience asks assistants rather than search engines, and when you need a documented, auditable control surface — OpenAI names the exact user agent that governs appearance in ChatGPT search answers and publishes its IP ranges.
Choose Perplexity when
Prioritise Perplexity when linked sources are the product rather than a footnote. Its crawler documentation frames surfacing and linking pages as PerplexityBot's whole purpose, and its answer product is built around returning the pages it used.
When neither is the right answer
If your question is really "which one ranks me higher", neither platform answers it. Neither OpenAI nor Perplexity publishes the selection or ranking logic behind which retrieved page ends up cited, so any confident ordering you read was inferred from samples, not documented.
What is specific to this comparison
- OpenAI splits search from training across two separately documented user agents, so a site can appear in ChatGPT search while refusing training; Perplexity's documentation states its crawler is not used for foundation-model training at all, so there is no second token to allow or block.
- Blocking OAI-SearchBot has a consequence OpenAI writes down — the site will not be shown in ChatGPT search answers — whereas Perplexity's documentation makes the mirror-image recommendation, to allow PerplexityBot in robots.txt for inclusion.
- Both operators ship a user-initiated fetcher with qualified robots.txt behaviour, but only Perplexity states outright that its fetcher generally ignores robots.txt; OpenAI's weaker phrasing is that the rules may not apply.
- OpenAI publishes a propagation window of roughly 24 hours for a robots.txt change; as retrieved, Perplexity's crawler page publishes no equivalent window, so an unblock on Perplexity has no documented time to effect.
- Perplexity documents that its user-triggered fetch may include a link to the visited page in the response; OpenAI's crawler page makes no equivalent statement about ChatGPT-User.
ChatGPT search vs Perplexity, criterion by criterion
The short answer
OpenAI and Perplexity both let you decide whether your pages can be used in their answers, and both publish the mechanism. What they publish differs in a way that matters more than any ranking theory: OpenAI gives you two switches and tells you what each one turns off, while Perplexity gives you one crawler whose stated job is already the thing you want, plus a user-triggered fetcher that will fetch anyway.
If you are deciding where to spend limited attention, the split is roughly this. ChatGPT search is where a documented control surface exists and where mistakes are cheap to reverse. Perplexity is where the linked source is the product rather than an ornament on it. Neither publishes what actually decides which of the retrieved pages ends up in the answer, and that silence is the most important thing on this page.
How each platform decides your pages are usable
ChatGPT search
OpenAI's crawler documentation names OAI-SearchBot as the agent "used to surface websites in search results in ChatGPT's search features."[^oai-searchbot-purpose] That is a narrow, checkable statement, and it comes with the consequence attached: sites opted out of OAI-SearchBot "will not be shown in ChatGPT search answers."[^oai-searchbot-optout]
The important structural fact is that this is not the same agent as the one that gathers training data. GPTBot is documented separately, and disallowing it "indicates a site's content should not be used in training generative AI foundation models."[^oai-gptbot-training] Two agents, two decisions, no bundling. A site can refuse to be training data and still be eligible to appear in ChatGPT search, which is exactly the position most marketing teams say they want and many accidentally give up with a single blanket rule.
A third agent, ChatGPT-User, covers certain user actions in ChatGPT and Custom GPTs, and OpenAI adds the qualification that "because these actions are initiated by a user, robots.txt rules may not apply."[^oai-chatgpt-user-robots] That is a hedge rather than a promise in either direction, and it is worth reading precisely: it does not say the fetcher ignores robots.txt, it says the rules may not apply.
Perplexity
Perplexity's crawler documentation describes PerplexityBot as "designed to surface and link websites in search results on Perplexity. It is not used to crawl content for AI foundation models."[^ppx-bot-purpose] Both halves of that sentence carry weight. The first is the same job OAI-SearchBot does. The second removes a decision you have to make with OpenAI: there is no separate Perplexity training crawler to reason about, because the operator states this one is not doing that work.
The documentation then does something OpenAI's does not: it recommends allowing PerplexityBot in robots.txt so a site can be included in search results.[^ppx-allow-recommendation] That is a positive instruction, not just a description of an opt-out.
The second agent, Perplexity-User, is where the honest reading gets less comfortable. Perplexity states that this fetcher "generally ignores robots.txt rules" because the request came from a person.[^ppx-user-robots] It also states that when a user asks a question, Perplexity-User "might visit a web page to help provide an accurate answer and include a link to the page in its response."[^ppx-user-links]
So a robots.txt block on Perplexity is not a block on Perplexity. It is a block on the crawler that builds the index, while the fetcher that answers a live question may still arrive. OpenAI's equivalent hedge is softer, but the practical shape is the same on both platforms, and neither is a wall.
The comparison table, and what it will not tell you
The table above compares what each operator has committed to in writing. Every cell points at a claim with a source URL and the date it was fetched, which is a deliberate constraint: it is the only way to write a page like this without quietly asserting things nobody published.
Notice what is missing from it. There is no row for "which platform cites more sources per answer", no row for "average citation position", and no row for "how much content freshness matters". Those rows would sell better and they would all be invented. Neither OpenAI nor Perplexity publishes the ranking or selection logic that turns a set of retrieved pages into the two or three that get named in an answer. Anyone presenting that logic as documented fact is presenting an inference from samples, and inferences from samples of a non-deterministic system have a short shelf life.
What you can act on is the retrieval layer, and the retrieval layer is fully documented on both sides.
Verification, and why the user-agent string is not enough
Both operators publish IP ranges. OpenAI lists OAI-SearchBot addresses at openai.com/searchbot.json[^oai-ip-ranges] and Perplexity lists PerplexityBot addresses at perplexity.com/perplexitybot.json.[^ppx-ip-ranges]
This matters because a user-agent header is a string anyone can send. If your analytics show a surge of AI-crawler traffic and you are counting user-agent strings, you are counting claims rather than visits. Resolve against the published ranges before you draw a conclusion, and before you make a robots.txt change on the strength of it.
Timing: the one operational difference that will bite you
OpenAI documents that "it can take ~24 hours from a site's robots.txt update for our systems to adjust."[^oai-robots-lag] That is a small, unglamorous fact and it is the difference between "the fix did not work" and "the fix has not propagated yet."
Perplexity's crawler documentation, as retrieved on 3 September 2026, publishes no equivalent window.[^ppx-no-propagation-window] That is not a criticism; it is a gap you should plan around. If you unblock PerplexityBot, you have no documented time-to-effect, which means the only honest procedure is to re-check on a cadence rather than to declare a date by which it should have worked.
Citations as an obligation, not a favour
There is one more asymmetry worth understanding, because it shapes how your brand appears in products built on top of these platforms rather than in the consumer apps themselves.
OpenAI's web search guide tells developers that when displaying web results to end users, "inline citations must be made clearly visible and clickable in your user interface."[^oai-citation-display] That is a requirement placed on everyone building on OpenAI's web search, not a feature of ChatGPT alone. Every application built that way is a surface where a link to your page is expected to be present and clickable.
Perplexity's developer documentation splits the difference across two products: the Agent API is described as delivering "web-grounded answers with built-in citations in one call", while the Search API is described as returning raw, ranked web search results.[^ppx-agent-api-citations] A developer choosing the second one gets results without the citation scaffolding attached.
The practical consequence for a brand is that "appearing in Perplexity" and "appearing in something built on Perplexity" are different questions with different answers, and the same is true of OpenAI in the other direction.
What to actually do, in order
- Read your robots.txt for the four tokens that matter here: OAI-SearchBot,
GPTBot, PerplexityBot and Perplexity-User. Many sites that believe they are open to AI search are blocking one of them by accident, usually through a wildcard rule written years ago for a different reason.
- Decide the training question separately from the search question. OpenAI
makes that separation available; take it. Blocking GPTBot costs you nothing in ChatGPT search, because OpenAI documents that appearance as governed by a different agent.
- Verify crawler traffic by IP, using the published ranges, before you draw
any conclusion from your logs.
- Re-check after 24 hours on OpenAI, and on a repeating schedule for
Perplexity, where no propagation window is published.
- Stop there. Everything beyond the retrieval layer — which page gets
quoted, in what order, how often — is unpublished on both platforms, and optimising against an unpublished mechanism is how teams spend a quarter on a theory.
How this pairing differs from the neighbouring ones
It is tempting to treat all the big AI surfaces as one problem. They are not, and the differences are documented rather than aesthetic. Google's AI features are governed by ordinary Search indexing and snippet controls rather than by a dedicated answer crawler, which is why Google AI Overviews versus ChatGPT search turns on a completely different control surface from this page. Anthropic's crawlers split along yet another axis, which is the subject of ChatGPT versus Claude for brand visibility. And if your interest is specifically in how a cited source is represented back to a developer, that mechanism differs sharply between vendors, as Claude versus Gemini on citations sets out.
The reason to keep them separate is practical: a robots.txt rule that fixes one of these platforms has no effect on another, because the tokens are different and the eligibility rules are different. One change, four verifications.
Where the honest limit of this page is
This comparison is built entirely from what OpenAI and Perplexity have published about their own crawlers and APIs, fetched on 3 September 2026. It tells you who is allowed to read your pages and what each operator says will follow from that. It does not tell you who wins, because neither operator has published the information that would let anyone say so, and a page that answered that question anyway would be guessing in a confident font.
If your next question is whether any of this changed anything for your brand specifically, that is a measurement problem rather than a documentation problem, and it needs repeated sampling of real prompts on both platforms rather than another table.
[^oai-searchbot-purpose]: OpenAI crawler documentation, retrieved 2026-09-03. [^ppx-bot-purpose]: Perplexity crawler documentation, retrieved 2026-09-03.
Where Attensira fits, and where it does not
Attensira is worth a look only if you have already made your pages retrievable on both platforms and now need to know, on a repeating cadence, whether you are actually named in answers — and want the resulting fix opened as a pull request against your own repo for review rather than delivered as a chart.
See how Attensira compares to bothQuestions people ask
Sources
Every claim on this page, with the page it came from and the date that page was read. Prices and feature lists change; these are what the source said on the date shown, not timeless facts.
- OpenAI documents OAI-SearchBot as the user agent used to surface websites in search results in ChatGPT's search features.used to surface websites in search results in ChatGPT's search featureshttps://developers.openai.com/api/docs/bots — read 2026-09-03
- OpenAI states that sites opted out of OAI-SearchBot will not be shown in ChatGPT search answers.Sites that are opted out of OAI-SearchBot will not be shown in ChatGPT search answershttps://developers.openai.com/api/docs/bots — read 2026-09-03
- OpenAI documents that it can take roughly 24 hours from a robots.txt update for its systems to adjust.it can take ~24 hours from a site's robots.txt update for our systems to adjusthttps://developers.openai.com/api/docs/bots — read 2026-09-03
- OpenAI documents GPTBot separately, and states that disallowing it indicates a site's content should not be used in training generative AI foundation models.Disallowing GPTBot indicates a site's content should not be used in training generative AI foundation modelshttps://developers.openai.com/api/docs/bots — read 2026-09-03
- OpenAI documents ChatGPT-User for certain user actions in ChatGPT and Custom GPTs, and notes that because these actions are initiated by a user, robots.txt rules may not apply.Because these actions are initiated by a user, robots.txt rules may not applyhttps://developers.openai.com/api/docs/bots — read 2026-09-03
- OpenAI publishes the IP ranges used by OAI-SearchBot at openai.com/searchbot.json.https://developers.openai.com/api/docs/bots — read 2026-09-03
- OpenAI's web search guide states that when displaying web results to end users, inline citations must be made clearly visible and clickable in the interface.inline citations must be made clearly visible and clickable in your user interfacehttps://developers.openai.com/api/docs/guides/tools-web-search — read 2026-09-03
- Perplexity documents PerplexityBot as designed to surface and link websites in search results on Perplexity, and states it is not used to crawl content for AI foundation models.designed to surface and link websites in search results on Perplexity. It is not used to crawl content for AI foundation models.https://docs.perplexity.ai/guides/bots — read 2026-09-03
- Perplexity's crawler documentation recommends allowing PerplexityBot in robots.txt so a site can be included in Perplexity search results.https://docs.perplexity.ai/guides/bots — read 2026-09-03
- Perplexity documents Perplexity-User as supporting user actions, and states that this fetcher generally ignores robots.txt rules because the request is user-initiated.this fetcher generally ignores robots.txt ruleshttps://docs.perplexity.ai/guides/bots — read 2026-09-03
- Perplexity states that when users ask a question, Perplexity-User might visit a web page to help provide an accurate answer and include a link to that page in its response.it might visit a web page to help provide an accurate answer and include a link to the page in its responsehttps://docs.perplexity.ai/guides/bots — read 2026-09-03
- Perplexity publishes the IP addresses used by PerplexityBot at perplexity.com/perplexitybot.json.https://docs.perplexity.ai/guides/bots — read 2026-09-03
- Perplexity's developer overview describes its Agent API as delivering web-grounded answers with built-in citations in one call, while the Search API is described as returning raw, ranked web search results.web-grounded answers with built-in citations in one callhttps://docs.perplexity.ai/getting-started/overview — read 2026-09-03
- As retrieved on 3 September 2026, Perplexity's crawler documentation does not state how long a robots.txt change takes to take effect, where OpenAI's does.https://docs.perplexity.ai/guides/bots — read 2026-09-03