A year of Google searches for 7 AI chatbots: ChatGPT's share fell from 67% to 54%, and Claude's interest more than tripled
US web searches, 19 Oct 2025 – 11 Oct 2026, weekly. Seven keywords on one scale. Method and code at the end. The short version ChatGPT is still far ahead, but its lead is shrinking. Across the seven chatbots, ChatGPT took 66.7% of the search interest in the first 8 weeks of the year and 54.0% in th

US web searches, 19 Oct 2025 – 11 Oct 2026, weekly. Seven keywords on one scale. Method and code at the end.
Google Trends only lets you compare 5 terms at once, and each comparison is scaled to its own peak. To put seven chatbots on the same 0–100 scale, you need to split them into batches that share a common keyword and rescale every batch against it. That is tedious by hand and easy to get wrong.
For this piece the batching and rescaling were automated (details below), and every row is flagged as rescaled, so you always know the numbers are an anchored estimate and not raw Google values.
Share of the combined search interest of the seven keywords. Weeks: 19 Oct–7 Dec 2025 vs 23 Aug–11 Oct 2026.
ChatGPT's own interest did not collapse: it averaged 76 over the year, and was 76 in the last 8 weeks against 88 in the first 8. What changed is that the others grew while it moved sideways.
Claude's line is flat near 6 until January, passes 15 in the week of 1 Feb 2026, and peaks at 33 in the week of 24 May. It then settled around 20 and has been climbing again in the last weeks, to 23.
Gemini sits between 19 and 35 all year. It reached 35 in April and again in late September and early October.
Perplexity's interest is 1 in the last 8 weeks and DeepSeek's about 1–2. With values this small, a one-point change is within the noise of Google's rounding, so we would not over-read those two.
from apify_client import ApifyClient import pandas as pd client = ApifyClient ( " <APIFY_TOKEN> " ) run = client. actor ( " sondalabs/google-trends-scraper " ). call ( run_input = { " keywords ": [ " ChatGPT ", " Gemini ", " Claude ", " Copilot ", " Perplexity ", " Grok ", " DeepSeek " ], " geo ": " US ", " timeframe ": " today 12-m ", " dataTypes ": [ " interest_over_time " ], }) rows = client. dataset ( run [ " defaultDatasetId " ]). list_items (). items df = pd. DataFrame ([ r for r in rows if r [ " type " ] == " interest_over_time " and not r [ " isPartial " ]]) wide = df. pivot ( index = " date ", columns = " keyword ", values = " value " ) share = wide. iloc [ - 8:]. sum () / wide. iloc [ - 8:]. sum (). sum () print ( share. round ( 3 )) Enter fullscreen mode Exit fullscreen mode The run returned 371 rows (7 keywords × 53 weeks, including the last partial week, which we left out of every figure above). It cost under $0.20.
Disclosure: I build the Google Trends Scraper used here. You can check every number with the code above.