On this page
If you ask ChatGPT, Claude or Gemini which Postgres provider you should use, they will almost always search the web before they answer. But they search for different things and cite different pages. If you want your product named in those answers, it helps to know what each assistant searches for and where it finds its sources.
We track this every day. For our 5 State of AI Search reports, we ask 8 AI assistants the same 100 questions, the kind a developer asks while picking tools, like "what's the best postgres provider" and "i need login for my saas, what should i use". Between October 1 and 9, 2026, they gave 7,182 answers, ran 20,445 web searches and cited 103,913 source links.
Across all of those answers, 29% cite a Reddit thread. Split by assistant, that number falls apart:
ChatGPT cites Reddit in zero of its 900 answers. Claude, same thing. Codex cited a Reddit thread 76% of the time.
Their approaches to search are just as different. ChatGPT submits about six searches per answer, and focuses most of them on a single vendor website. Claude submits fewer than two, and types your question back as a set of search keywords.
Ask both of them the same question, and they’ll almost never cite the same page.
How does AI search work?
AI search operates as a loop where a large language model (LLM) reads your query, types its own search queries, uses a search engine to find the results, reads the results, and writes a single response that includes the results as sources. This is known as retrieval-augmented generation (RAG): the LLM crafts responses using content it just retrieved, in addition to what it learned from its training data.
The same sequence of events happens on all eight assistants we track:
- The LLM decides whether to search. It searches if the answer is based on current or changing information, and uses what it already knows if not.
- The LLM decides what to search for. It writes one or more search queries, which are rarely the exact question you asked.
- A search engine delivers a list of pages for each query.
- The LLM reads the results. It might decide to search again before giving you an answer.
- The LLM writes the answer and lists the pages it used.
Though the sequence is the same, how many searches an assistant makes, what it types, and which search engine answers are different. These three things determine which pages make it into the answer.
We ran each assistant through its API or its command line tool, with its own web search turned on:
Note: These lists of sources hold different things, so we compare them carefully below. ChatGPT returns only pages referenced in its answer, Codex and other coding agents return pages found via the search queries. Claude, Claude Code, and Gemini also have today's date passed in as part of a system prompt, whereas other assistants only have the user's prompt as the input.
In consumer apps, they also add steps on top, e.g., the ChatGPT app modifies your search based on your location and memory.
How many searches does each assistant run?
ChatGPT and Codex run ~6 web searches per answer, Claude, Claude Code, Gemini, Cursor and OpenCode ~2, Google AI Overviews 1 (the question as typed).
Each assistant's count barely moves between topics. ChatGPT ran 5.7 searches per answer on the Redis questions and 6.7 on the Postgres ones. Claude stayed between 1.3 and 1.8 in all 5 reports.
Two of these numbers come partly from how we run the assistants. We limit Claude to 3 searches per answer, but it only maxed out on 16 of the 900 answers. For Claude Code, its system prompt asks it to prefer two or three quick searches, and it did exactly 2 searches in 844 of its 900 answers.
Claude is also the assistant that most often decides it doesn't need to search at all. It gave 56 answers without a search, and 49 of them were for the same 6 questions: 3 about adding a database, login or email to a Django app, and 3 general questions about where to host an app. These 56 answers list no sources because there are none. No page you could publish today is going to be the source for such an answer. It's solely information the model has learned during training.
ChatGPT searches for brands, Claude searches for the question
On October 8 we asked every assistant "i need login for my saas, what should i use". These are the searches four of them ran:
This question did not specify any specific provider (none of our 100 questions did). ChatGPT recalled 4 providers and then visited each specific company's website. Claude used the question as keywords and let the search engine decide what sites to visit.
The same split holds across all 20,445 searches:
Only ChatGPT and Codex restrict most searches to a single website. For example, in 73% of its answers, ChatGPT issued at least one single-website search, and 81% of those websites belonged to a provider mentioned in our reports. "Official" is also included in 63% of ChatGPT's searches. In all our reports, each answer links to the searches that the assistant used to write that answer. For example, here's ChatGPT answering the login question again, one day later:
This means that for ChatGPT and Codex, the shortlist of vendors is generated from the model's memory, and the search is used to fact-check the answer on each shortlisted vendor's pages. Most of ChatGPT's searches are limited so that they only match with pages on a website that the model already has in mind. If that memory is dated, it can lead to situations like this: Neon, the Postgres provider that assistants rank #1 the most, used to be hosted on neon.tech, and now that domain redirects to neon.com. But ChatGPT still restricted 181 searches to neon.tech, while 100 to neon.com.
Claude, Claude Code, and Gemini use the opposite approach. They almost never use a provider's name in their first search, meaning they let pages that rank for a general search like "best SaaS authentication solutions 2026" choose the shortlist for them. Cursor and OpenCode use a mix of both strategies, using general searches as well as adding some provider names from memory.
Most searches carry a year, and some carry the wrong one
Five assistants put a year into at least one search in almost all of their answers. ChatGPT and Codex do it in fewer than half:
Remember, all of these answers were generated in October 2026. Still, Cursor searched for '2025 2026' in 41% of its searches, and '2025' alone in 12% of its searches. Claude searched for terms like 'best serverless postgres 2024 2025' in 188 of its answers, even though it was given the date in its system prompt. Claude Code runs on the same model, with the same date, and didn't search for a past year even once.
Changing the year in the search impacts the search results - when Claude searched for 2026, 71% of third party links in its source list contained 2026 in the title or URL. When it searched for only a past year, 32% contained 2026, and 13% contained 2025.
The same number shows how much weight the year carries for each assistant. The share of third-party pages in the source list with 2026 in the title or URL:
A third-party roundup with this year in its title matches the searches Claude, Claude Code and OpenCode type. The year does very little for ChatGPT, which goes to the vendor's own pages.
Northflank's roundup of Postgres hosts is the page of this kind that Claude and Claude Code listed most, in 141 answers:
Northflank published it in November 2025, with 2026 already in the title.
What kinds of pages does each assistant cite?
ChatGPT is heavily citing the vendor's own pages: 80% of sources are located on a provider's website (mostly the docs and pricing pages). Claude and Claude Code are doing the opposite: 80% of sources are located on third-party websites. Gemini, OpenCode and Cursor are somewhere in between.
We sorted all 103,913 source links by the kind of page. A vendor here is one of the 15 providers each report tracks. The share of each assistant's source links:
These assistants also differ in which types of vendor pages they cite. ChatGPT cited a docs page in 73% of answers and a pricing page in 41%, but cited a vendor blog post in only 10% of answers. Claude, on the other hand, listed a vendor blog post or guide in 57% of answers and listed a docs page in only 11% of answers. This means that if a certain fact (e.g., free tier limit) is only in the docs, it gets to ChatGPT but mostly misses Claude. And if a certain fact (e.g., comparison) is only on the blog, it gets to Claude, Gemini and OpenCode but mostly misses ChatGPT.
The search engine each assistant uses also makes its mark on these lists. OpenCode uses Exa or Parallel as its search tool, and in 690 of its 900 answers listed a company profile page on tracxn.com, a site never listed once by the other seven assistants. Codex listed a PDF in 870 of its 900 answers and listed an arXiv paper in 195 of its 900 answers, to questions on databases, hosting and email.
Reddit is in 29% of answers, and ChatGPT and Claude never list it
Reddit is the most listed website in our data, with a thread in 2,106 of the 7,182 answers. Split by assistant, it is either a regular source or it is missing:
Claude and Claude Code list every page their searches returned, so their zero means the search never brought back a Reddit thread in 1,800 answers.
ChatGPT's zero is harder to read, because its list only holds the pages the answer cites. Either the search never returns Reddit, or it does and the model leaves it out. The API can show which one it is. Asking for the sources of each search call returns every page the search brought back, next to the pages the answer cites:
We ran all 100 questions this way on October 9. The 577 searches returned 3,249 pages, and the answers cited 298 of them:
OpenAI's search hands ChatGPT a Reddit thread in 61 of 100 answers, and the model cites none of them. The model gets 32 pages per answer and cites three, and four in five of the cited ones are a vendor's own page.
This means the Reddit thread about your product may still influence ChatGPT's answer. It's just that the thread itself won't be shown as a source, making it undetectable with a citation-only-based tool.
Two assistants rarely list the same page
For each of the 100 questions, we pooled every page the assistants listed over the 9 days (39,569 pairs of page and question). 82% of those pages were listed by only one assistant, and fewer than 3% by four or more.
In 10 cases, all 8 assistants listed the same page for a question. 8 of the 10 are Redis questions, and all 10 are vendor pages or GitHub repositories about that exact question, like Netlify's docs page on deploy previews for "i want a preview deployment for every pull request".
The overlap that exists follows the search engine. The share of one assistant's pages that another assistant also listed for the same question:
ChatGPT and Codex both use OpenAI's web search while Claude and Claude Code both use Anthropic's. Across these two families there is almost no overlap. A web page that regularly serves as a source for one family is usually absent from the other.
The lists also change from day to day. For the same assistant and the same question, we compared each day's source list with the list from the day before:
Google AI Overviews runs the exact same search every day (the question as typed), and 75% of its pages are still new from one day to the next. So one answer on one day tells you very little about whether an assistant will use your page. You need the same question asked many times to see the real rate.
What to change for each assistant
Because almost no page is listed by all eight assistants, we need to divide the work based on how each assistant searches.
- ChatGPT and Codex. These assistants search for your website specifically by name. That's why the pages they list are your documentation and pricing page. Include any numbers that customers ask for on both pages, and make sure that any domains that used to be yours keep redirecting, because the model might still be searching the old domain.
- Claude and Claude Code. These assistants search for your category name along with the current year. They list the third-party roundups that rank for that search. So, make sure you're in the roundups and create your own comparison page that includes the current year in the title.
- Gemini and Google AI Overviews. A big share of the pages these assistants list are from Reddit, YouTube and other community websites. A thread or video that answers the customer's question helps here. Both of these assistants are powered by Google Search.
- Cursor and OpenCode. These assistants search for your category, then include the names of providers they found in their memory. They both list documentation and blog pages, so make sure that both kinds of page include the same facts.
- All of them. Create a page that answers one specific question. That's the type of page listed by all eight assistants. A new page only helps when the assistant searches, and Claude skipped search in 6% of its answers.
The assistants differ enough that any single visibility number hides most of this. It's better to track each assistant separately, and to go question-by-question to see the effects of these changes.