<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: AnswerLine</title>
    <description>The latest articles on DEV Community by AnswerLine (@answerline_dev).</description>
    <link>https://dev.to/answerline_dev</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4179316%2Ff106bc56-0ed5-466f-b3b8-28d84ef33cda.png</url>
      <title>DEV Community: AnswerLine</title>
      <link>https://dev.to/answerline_dev</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/answerline_dev"/>
    <language>en</language>
    <item>
      <title>ChatGPT, Gemini and AI Mode disagree on the "best" tool in half of software categories</title>
      <dc:creator>AnswerLine</dc:creator>
      <pubDate>Mon, 12 Oct 2026 21:51:34 +0000</pubDate>
      <link>https://dev.to/answerline_dev/chatgpt-gemini-and-ai-mode-disagree-on-the-best-tool-in-half-of-software-categories-310d</link>
      <guid>https://dev.to/answerline_dev/chatgpt-gemini-and-ai-mode-disagree-on-the-best-tool-in-half-of-software-categories-310d</guid>
      <description>&lt;p&gt;We track what three AI answer engines — ChatGPT, Gemini and Google's AI Mode — say when buyers ask for software recommendations. Each week we run the same 182 buyer-intent prompts across 10 software categories and publish the result on a &lt;a href="https://answerline.dev/ai-visibility/" rel="noopener noreferrer"&gt;public leaderboard&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;This week's run surprised me: &lt;strong&gt;in 5 of 10 categories, the three engines name a different brand as the leader.&lt;/strong&gt; If you only watch one engine, you're seeing one vote in a three-way split.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where the engines disagree
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Category&lt;/th&gt;
&lt;th&gt;ChatGPT's leader&lt;/th&gt;
&lt;th&gt;Gemini's leader&lt;/th&gt;
&lt;th&gt;AI Mode's leader&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Brand monitoring&lt;/td&gt;
&lt;td&gt;Brandwatch&lt;/td&gt;
&lt;td&gt;Brand24&lt;/td&gt;
&lt;td&gt;Meltwater&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Keyword research&lt;/td&gt;
&lt;td&gt;Ahrefs&lt;/td&gt;
&lt;td&gt;Semrush&lt;/td&gt;
&lt;td&gt;Semrush&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Proxy providers&lt;/td&gt;
&lt;td&gt;Decodo&lt;/td&gt;
&lt;td&gt;Oxylabs&lt;/td&gt;
&lt;td&gt;Bright Data&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Rank trackers&lt;/td&gt;
&lt;td&gt;SE Ranking&lt;/td&gt;
&lt;td&gt;SE Ranking&lt;/td&gt;
&lt;td&gt;Semrush&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Web scraping tools&lt;/td&gt;
&lt;td&gt;Bright Data&lt;/td&gt;
&lt;td&gt;Firecrawl&lt;/td&gt;
&lt;td&gt;Bright Data&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;In the other five categories they do agree — Semrush sweeps AI visibility platforms and SEO platforms, Surfer takes content optimization, SerpApi sweeps SERP APIs, and Google Analytics sweeps web analytics.&lt;/p&gt;

&lt;p&gt;But "agree" is doing work here: even where the leader matches, the rest of the ranked list diverges. Gemini spreads mentions across more brands; AI Mode concentrates on fewer.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why it matters
&lt;/h2&gt;

&lt;p&gt;Every "best X tools" listicle an AI engine cites was written for Google. The engines read overlapping but different corpora, weight them differently, and come back with different winners. For a brand that means your AI visibility isn't one number — it's per engine, per category, per country. The full data, per-category tables and methodology are in &lt;a href="https://answerline.dev/blog/do-ai-engines-agree" rel="noopener noreferrer"&gt;the write-up&lt;/a&gt; and the &lt;a href="https://answerline.dev/ai-visibility/methodology" rel="noopener noreferrer"&gt;methodology page&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Reproduce it
&lt;/h2&gt;

&lt;p&gt;The pipeline is boring on purpose: prompt set → one API call per engine per prompt → count mentions. We run it on &lt;a href="https://answerline.dev" rel="noopener noreferrer"&gt;AnswerLine&lt;/a&gt; (I work on it) — one endpoint per engine, answers come back as JSON with the cited source URLs, which is also how we tell a real citation from a passing mention. 500 free credits covers a small category sweep.&lt;/p&gt;

&lt;p&gt;Next run is Monday; if the disagreement number moves I'll post it here.&lt;/p&gt;

</description>
      <category>seo</category>
      <category>data</category>
      <category>ai</category>
      <category>api</category>
    </item>
    <item>
      <title>A hosted MCP server for AI answers and AI Overviews</title>
      <dc:creator>AnswerLine</dc:creator>
      <pubDate>Mon, 12 Oct 2026 19:27:45 +0000</pubDate>
      <link>https://dev.to/answerline_dev/a-hosted-mcp-server-for-ai-answers-and-ai-overviews-442g</link>
      <guid>https://dev.to/answerline_dev/a-hosted-mcp-server-for-ai-answers-and-ai-overviews-442g</guid>
      <description>&lt;p&gt;AI agents are increasingly the consumer of search data. If your tooling already speaks MCP — Claude Desktop, Cursor, an agent framework — wiring it to a hosted MCP server is less code than a REST client.&lt;/p&gt;

&lt;p&gt;This post shows a hosted MCP server that returns what ChatGPT, Gemini, Google AI Mode and Google Search (including AI Overviews and News) answer, as structured JSON with sources. I work on it — it's called &lt;a href="https://answerline.dev/docs/mcp" rel="noopener noreferrer"&gt;AnswerLine&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  The endpoint
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight http"&gt;&lt;code&gt;&lt;span class="err"&gt;https://mcp.answerline.dev/mcp        (streamable HTTP)
Authorization: Bearer &amp;lt;key&amp;gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;For MCP clients that can't set headers, the key also works in the path: &lt;code&gt;https://mcp.answerline.dev/&amp;lt;key&amp;gt;/mcp&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;The server is listed in the &lt;a href="https://github.com/answerline-dev/mcp-server" rel="noopener noreferrer"&gt;GitHub repo&lt;/a&gt; and exposes tools, not resources — every call is one structured request:&lt;/p&gt;

&lt;h2&gt;
  
  
  What the tools return
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Tool&lt;/th&gt;
&lt;th&gt;Surface&lt;/th&gt;
&lt;th&gt;Returns&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;chatgpt&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;ChatGPT&lt;/td&gt;
&lt;td&gt;answer text, cited sources, ads, shopping cards, search queries&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;gemini&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Google Gemini&lt;/td&gt;
&lt;td&gt;answer text, cited sources, markdown export&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;google&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Google Search&lt;/td&gt;
&lt;td&gt;organic listings, PAA, related searches, optional AI Overview&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;aimode&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Google AI Mode&lt;/td&gt;
&lt;td&gt;answer text, sources, product clusters&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;google_news&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Google News&lt;/td&gt;
&lt;td&gt;title, link, snippet, source, date per article&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;credits&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;account&lt;/td&gt;
&lt;td&gt;remaining credits and billing cycle&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;A &lt;code&gt;chatgpt&lt;/code&gt; call asks for &lt;code&gt;{prompt, country}&lt;/code&gt; and comes back with the answer plus everything the UI showed: which sites were cited, which queries the model fanned out to, which ads and shopping cards appeared next to the answer. That last part is what makes it useful for visibility tracking — the citation list is the data you can't get from a SERP API.&lt;/p&gt;

&lt;h2&gt;
  
  
  It's plain JSON-RPC over HTTP
&lt;/h2&gt;

&lt;p&gt;Any MCP client that supports streamable-HTTP remote servers can point at the endpoint. Underneath it's standard JSON-RPC — you can even drive it with curl:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="nt"&gt;-X&lt;/span&gt; POST https://mcp.answerline.dev/mcp &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s1"&gt;'Content-Type: application/json'&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s1"&gt;'Accept: application/json, text/event-stream'&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s1"&gt;'Authorization: Bearer YOUR_KEY'&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="s1"&gt;'{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;tools/list&lt;/code&gt; and &lt;code&gt;initialize&lt;/code&gt; are readable anonymously, so MCP registries can index the server without a key.&lt;/p&gt;

&lt;h2&gt;
  
  
  A weekly brand-visibility check
&lt;/h2&gt;

&lt;p&gt;The pattern I actually use: a scheduled job asks every surface the same buyer-intent prompt set, diffs the citation lists week over week, and alerts when a competitor gets cited where you used to be. The public version of this runs weekly across ChatGPT, Gemini and AI Mode and publishes the result on &lt;a href="https://answerline.dev/ai-visibility/" rel="noopener noreferrer"&gt;a live leaderboard&lt;/a&gt; — in half the tracked categories the engines disagree about who the leading brand is.&lt;/p&gt;

&lt;h2&gt;
  
  
  Free tier
&lt;/h2&gt;

&lt;p&gt;500 one-time credits, no card — sign up at &lt;a href="https://dashboard.answerline.dev" rel="noopener noreferrer"&gt;the dashboard&lt;/a&gt;. Failed requests aren't charged; pricing is per call on &lt;a href="https://answerline.dev/pricing" rel="noopener noreferrer"&gt;the pricing page&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>api</category>
      <category>llm</category>
      <category>mcp</category>
    </item>
    <item>
      <title>How to get Google AI Overviews and AI Mode answers as JSON</title>
      <dc:creator>AnswerLine</dc:creator>
      <pubDate>Mon, 12 Oct 2026 18:34:27 +0000</pubDate>
      <link>https://dev.to/answerline_dev/how-to-get-google-ai-overviews-and-ai-mode-answers-as-json-4fcf</link>
      <guid>https://dev.to/answerline_dev/how-to-get-google-ai-overviews-and-ai-mode-answers-as-json-4fcf</guid>
      <description>&lt;p&gt;Google AI Overviews now answer a large share of commercial queries, and AI Mode is rolling out as a full conversational search surface. If you track SEO, brand mentions or competitor positioning, the answer text and the citations inside those AI blocks matter more than the ten blue links under them.&lt;/p&gt;

&lt;p&gt;The problem: there is no official API for either surface. Here is how I get AI Overview and AI Mode answers as structured JSON, and what the data actually looks like.&lt;/p&gt;

&lt;h2&gt;
  
  
  What an AI Overview contains that a SERP doesn't
&lt;/h2&gt;

&lt;p&gt;A classic organic result is a ranked list of URLs. An AI Overview is different:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Answer text&lt;/strong&gt; — the generated summary the user reads&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Citations&lt;/strong&gt; — the sources the model grounded on, with positions&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Query fan-out&lt;/strong&gt; — in AI Mode, the search reformulations it ran underneath&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If your content is cited in position 1 of the Overview, the organic rank below it is almost irrelevant. If a competitor is cited and you are not, no amount of position-3 organic rankings fixes that.&lt;/p&gt;

&lt;h2&gt;
  
  
  Getting it as JSON
&lt;/h2&gt;

&lt;p&gt;I'm using &lt;a href="https://answerline.dev/engines/ai-mode/" rel="noopener noreferrer"&gt;AnswerLine&lt;/a&gt; — an API I work on that serves both surfaces plus ChatGPT, Gemini, Copilot and Google News through one contract. An async task per surface:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="nt"&gt;-X&lt;/span&gt; POST https://api.answerline.dev/v1/async/task &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Authorization: Bearer &lt;/span&gt;&lt;span class="nv"&gt;$ANSWERLINE_KEY&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Content-Type: application/json"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="s1"&gt;'{
    "taskType": "AIMODE",
    "input": { "prompt": "best rank tracker for local SEO", "country": "US" }
  }'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Poll &lt;code&gt;GET /v1/async/task/{id}&lt;/code&gt; (or set a webhook), and you get back:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"answer"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"..."&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"sources"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;"url"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"https://..."&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;"position"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;"label"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"..."&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"searchQueries"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"local rank tracker"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"rank tracker for agencies"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The &lt;code&gt;searchQueries&lt;/code&gt; field is the underrated part: AI Mode's fan-out shows you the &lt;em&gt;secondary queries&lt;/em&gt; the model thinks matter — that is a keyword-research surface nobody had two years ago.&lt;/p&gt;

&lt;h2&gt;
  
  
  Google Search + AI Overview in the same call
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;taskType: "GOOGLE_SEARCH"&lt;/code&gt; returns the classic SERP parsed (organic, ads, PAA, related searches, knowledge graph) with the AI Overview attached when Google renders one — one response covering both eras of the results page.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="s1"&gt;'{ "taskType": "GOOGLE_SEARCH", "input": { "q": "ai visibility tracking", "country": "DE" } }'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Why not scrape it yourself
&lt;/h2&gt;

&lt;p&gt;Google's AI surfaces are the most aggressively bot-protected pages they serve, and the markup changes weekly. The cost structure that worked for scraping organic results (cheap proxies + selectors) does not survive AI Mode. We run the collection layer so the response shape stays stable; failed calls are not charged.&lt;/p&gt;

&lt;h2&gt;
  
  
  A working pattern
&lt;/h2&gt;

&lt;p&gt;A weekly job: for each of ~50 buyer-intent prompts in your category, fire one task per surface, store &lt;code&gt;answer&lt;/code&gt;, &lt;code&gt;sources&lt;/code&gt; and &lt;code&gt;country&lt;/code&gt;, then diff week over week. When the cited set changes, you see exactly which source won the citation — and can go write better content than it.&lt;/p&gt;

&lt;p&gt;That is the entire workflow: ask, store, diff, out-write the cited page.&lt;/p&gt;

&lt;p&gt;Free tier is 500 credits at &lt;a href="https://dashboard.answerline.dev" rel="noopener noreferrer"&gt;dashboard.answerline.dev&lt;/a&gt;, no card. Docs are at &lt;a href="https://answerline.dev/docs" rel="noopener noreferrer"&gt;answerline.dev/docs&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>seo</category>
      <category>api</category>
      <category>google</category>
    </item>
    <item>
      <title>How to see what ChatGPT actually says about your brand (one API call)</title>
      <dc:creator>AnswerLine</dc:creator>
      <pubDate>Mon, 12 Oct 2026 12:23:40 +0000</pubDate>
      <link>https://dev.to/answerline_dev/how-to-see-what-chatgpt-actually-says-about-your-brand-one-api-call-1ie5</link>
      <guid>https://dev.to/answerline_dev/how-to-see-what-chatgpt-actually-says-about-your-brand-one-api-call-1ie5</guid>
      <description>&lt;p&gt;AI answers are now the first place buyers meet your brand. ChatGPT, Gemini, Copilot and Google AI Overviews all have an opinion about your product — and they cite sources. The problem: there's no UI to query them programmatically at scale.&lt;/p&gt;

&lt;p&gt;This post shows the pattern I use to pull those answers as JSON so you can diff them over time.&lt;/p&gt;

&lt;h2&gt;
  
  
  The shape of the problem
&lt;/h2&gt;

&lt;p&gt;Every engine answers differently:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;ChatGPT&lt;/strong&gt; gives a synthesized answer plus cited sources and (in search mode) the fan-out queries it ran&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Gemini&lt;/strong&gt; returns an answer with grounding links&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Copilot&lt;/strong&gt; cites Bing results&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Google AI Overviews / AI Mode&lt;/strong&gt; return answer text plus ranked source positions&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;What you actually want as a developer is one normalized object: &lt;code&gt;{ answer, sources[], rank, country }&lt;/code&gt; per engine.&lt;/p&gt;

&lt;h2&gt;
  
  
  The API call
&lt;/h2&gt;

&lt;p&gt;I'm using &lt;a href="https://answerline.dev" rel="noopener noreferrer"&gt;AnswerLine&lt;/a&gt; — an API I work on that wraps exactly this. One POST per engine, bearer token auth:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="nt"&gt;-X&lt;/span&gt; POST https://api.answerline.dev/v1/monitor/chatgpt &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Authorization: Bearer &lt;/span&gt;&lt;span class="nv"&gt;$ANSWERLINE_KEY&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Content-Type: application/json"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="s1"&gt;'{
    "prompt": "What is AnswerLine and how is it reviewed?",
    "country": "US",
    "include": { "searchQueries": true }
  }'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The response gives you the answer text plus the &lt;strong&gt;sources ChatGPT cited&lt;/strong&gt; — which is the actionable part. If your docs or blog aren't in the source list, the model is learning about you from someone else's content.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"answer"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"..."&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"sources"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;"url"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"..."&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;"position"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}],&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"searchQueries"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"answerline reviews"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"..."&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Why this matters for SEO in 2026
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Cited sources are the new SERP.&lt;/strong&gt; Being source #1 in a ChatGPT answer drives referral traffic the same way position #1 did.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Answers drift.&lt;/strong&gt; The same prompt answered differently week-over-week is a signal, not noise. Snapshot it.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Country targeting matters&lt;/strong&gt; — an answer in the US cites different sources than in DE or HU.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The other engines are the same call with a different path: &lt;code&gt;/v1/monitor/gemini&lt;/code&gt;, &lt;code&gt;/v1/monitor/copilot&lt;/code&gt;, &lt;code&gt;/v1/monitor/google&lt;/code&gt; (AI Overviews), &lt;code&gt;/v1/monitor/aimode&lt;/code&gt;, &lt;code&gt;/v1/monitor/google/news&lt;/code&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Polling pattern
&lt;/h2&gt;

&lt;p&gt;I run a nightly cron over ~40 brand/competitor prompts, store the JSON, and diff the cited-source sets. When a new domain starts getting cited about you, that's an outreach target. When &lt;em&gt;your&lt;/em&gt; pages stop being cited, that's a content-refresh signal.&lt;/p&gt;

&lt;p&gt;There are TypeScript and Python SDKs, an n8n node, and an MCP server if you want the agent-native path (&lt;a href="https://answerline.dev" rel="noopener noreferrer"&gt;docs&lt;/a&gt;). Free tier exists if you want to try the shape of the data first.&lt;/p&gt;

&lt;p&gt;Curious how others are tracking this — are you diffing AI answers at all, or still treating them as a black box?&lt;/p&gt;

</description>
      <category>webdev</category>
    </item>
  </channel>
</rss>
