Research

API Answers Match Cited Text: Claude 84%, ChatGPT 37%

In 2,246 readable API citation events, 8+ word matches with the cited page: Claude 84%, ChatGPT 37%, Perplexity 1%, Gemini 1%.

Published Machine Relations Research
Index Analysis
TopicsCitationsAttributionContent StructureMeasurementMachine Relations Index

Four API routes showed sharply different text overlap with their cited pages. Across 2,246 readable citation events in 359 answers to Machine Relations Index library questions, the stored answer shared at least eight consecutive normalized words with the fetched page in 84.2 percent of Claude's events, 37.2 percent of ChatGPT's, 1.0 percent of Perplexity's and 1.1 percent of Gemini's. Of ChatGPT's longest matching passages, 68.3 percent began in the first 100 words of the fetched page, versus 10.0 percent under the stated even-position reference. Claude's matches were spread through the page; 6.0 percent began in the opening. These are route-specific observations, not consumer-app rates.

A citation links an answer to a page. This analysis detects shared wording, not the path by which the answer acquired it. A match can reflect direct reuse, a common upstream source or shared language; it does not establish copying from that URL or prove retrieval.

What was counted #

  • Sample. From the Index answer ledger (daily export of 2026-11-06 08:10 UTC), successful runs of the Index's library questions on 30 run dates from October 8 to November 6, 2026, with an answer over 400 characters and at least one stored citation. Ninety runs per engine, drawn by a fixed hash ordering: ChatGPT, Claude, Perplexity and Gemini, 360 runs in all and 299 distinct questions. These are library questions, not observed buyer demand.
  • Citation events and fetched pages. The 2,950 citation events in those runs point to 2,718 distinct URLs. Each was fetched on November 7 with a plain HTTP request. 2,090 URLs, or 77 percent, returned readable HTML, which leaves 2,246 citation events in 359 answers across 1,590 domains. Blocked pages, non-HTML files, timeouts and errors are out of the count. The page text is today's text, not the text at the time of the run.
  • A matching passage. A run of eight or more consecutive words that appears in both the answer and the cited page's visible text, after both are lower-cased and stripped of punctuation other than periods and percent signs. Paraphrase, reordering and a single changed word break a match. Shared phrases can match without direct reuse, and reuse can occur without a match: these rates are not lower bounds on true reuse. The tables count citation events, not unique URLs, so a page cited in several answers counts once for each; the 2,950 events are 2,942 distinct answer–URL pairs.
  • Position. The word count on the page before the first word of the longest matching passage, over the page's word count.
  • Domain-label proxy in the passage. For cited domains whose first label has five or more letters (after dropping "try" or "get"), whether that label appears as a whole word inside the matching passage. This is a domain-label string test, not complete publisher or brand-name recognition.

How often a citation event has matching text #

Engine Answers Readable citation events Events with a matching passage Share Answers with at least one
Claude 90 379 319 84.2% 88 (97.8%)
ChatGPT 89 390 145 37.2% 64 (71.9%)
Perplexity 90 727 7 1.0% 6 (6.7%)
Gemini 90 750 8 1.1% 4 (4.4%)
All four 359 2,246 479 21.3% 162 (45.1%)

Pooled over the four routes, 21.3 percent of readable citation events had a matching passage (95% interval 18.0 to 24.8, resampling answers). That figure depends on the mix of engines and is shown only for completeness. The median longest matching passage was 14 words, the 90th percentile 28 and the longest 64. The median for Claude was 18 words and for ChatGPT 10.

Claude's rate may be partly a property of the route: a route that cites quoted passages could show this pattern, and the ledger does not record whether the engine handed the model the passage or only the link. Perplexity and Gemini had the most readable citation events per answer (8.1 and 8.3, against 4.2 for Claude and 4.4 for ChatGPT), but few eight-word matches. A listed citation does not establish retrieval, wording reuse or claim support; absence of a match does not establish absence of reuse.

Where the matching passages begin on fetched pages #

Of the 479 longest matching passages, 118 began in the first 100 words of the page (24.6 percent). The even-spread reference is not 100 divided by the median page length. For each matching passage it takes the share of that passage's own page that the first 100 words make up, then averages across passages (about 5.8 percent), so it depends on how long the matched pages are. The median cited page runs 2,380 words. The split by engine is sharp.

Engine Longest matching passages Began in the first 100 words If spread evenly
ChatGPT 145 99 (68.3%) 10.0%
Claude 319 19 (6.0%) 4.0%
Perplexity and Gemini 15 0 not computed

By tenth of the page, the longest matching passages fall 164, 66, 46, 44, 34, 35, 27, 23, 30 and 10 from the top tenth to the bottom. ChatGPT's observed matches concentrate near the opening; Claude's are spread through the body. Definitions, figures, self-contained sentences, FAQs and bold claims were not separately classified, so these data do not rank those formats.

Whether the domain-label proxy appears in the passage #

For 444 matching passages from domains with a label of five or more letters, the domain-label proxy appeared inside the matched words 31 times, or 7.0 percent: 25 of ChatGPT's 139 and 6 of Claude's 291. The fetched text carried that proxy somewhere in 1,738 of 2,080 eligible citation events (83.6 percent). The comparison concerns this string proxy in extracted page text; it does not measure all brand names or their appearance in excluded headers and footers.

What this shows for our own pages #

Machine Relations Research and AuthorityTech are owned by Bramwell, Inc. The same test on the pages of authoritytech.io and machinerelations.ai, over every qualifying ledger answer, covers 80 distinct answers from June 8 to November 2, 2026. To qualify, an answer had to run over 400 characters, cite one of those domains in a citation event that was not brand-prompted, and answer a question that did not name Machine Relations. Of the 80, 73 cite authoritytech.io pages, 7 cite machinerelations.ai pages and none cite both. They cite 118 answer–page pairs across 45 URLs. The 80 answers come from only 26 questions: 59 are Index library answers, 20 come from three desk-probe questions and 1 has no panel label, so they are not 80 independent questions. Twenty-six further answers (13 from Google AI Overviews with no stored answer text and 13 from Google AI Mode of 400 characters or fewer) were excluded. A matching passage appeared in 24 of the 80 answers, and in 24 of the 118 answer–page pairs. By engine, in answers: Claude 17 of 33, ChatGPT 4 of 5, Perplexity 3 of 25, Gemini 0 of 16, Google AI Mode 0 of 1. None of the 80 answers said "Machine Relations". With links and domain-style tokens removed from the answer text, one said "AuthorityTech", a Google AI Mode answer to a question about PR software for enterprises. Seven of the 24 longest matching passages began in the first 100 words of the page as it reads today. This small related-party cohort is separate from the wider sample, not independent validation of it.

What this suggests testing #

  • Test an opening passage on ChatGPT's observed route. Its matches concentrate there. This observational pattern does not show that moving a sentence causes reuse; Claude's wider position distribution does not identify a preferred sentence format.
  • Test explicit terms in candidate passages. The domain-label proxy rarely appears inside the matched words. A literal term can travel within a verbatim match only if it is in that passage, but engines can name a source elsewhere, paraphrase it or use another name. Term inclusion is a hypothesis to test, not a proven naming lever.
  • Keep citations and text overlap separate. On Perplexity and Gemini, about 99 percent of readable citation events had no eight-word match. This detector found sparse overlap on those routes; it did not measure paraphrase or prove that their cited sources went unused.
  • Keep intervention verdicts separate from this sample. The opening concentration motivates a ChatGPT-specific hypothesis. It does not predict a null result on other routes, excuse a failed predeclared test or establish whether any edit changes naming, citations or reuse.

What this page does not show #

  • That copying happened or is a goal. Normalized text overlap was counted, not direct acquisition from a particular page. Whether the overlap helps the source, the reader or the answer was not measured.
  • A cause. Nothing here says a page change made any engine copy, cite or name anything.
  • The page as the engine saw it. Page text is from November 7. Pages edited between the run and the fetch can lose or gain matches.
  • A random sample of the web. The 23 percent of URLs that could not be read (blocked, non-HTML, JavaScript-only or erroring) are missing, and if they differ from readable pages, the rates would too.
  • Consumer apps. The runs are API routes: the ledger records ChatGPT as gpt-4.1-mini-2025-04-14, Claude as claude-haiku-4-5-20251001, Gemini as gemini-3.8-flash and Perplexity as sonar. Signed-in apps may behave differently.
  • Sentence-level quality or complete brand recognition. Matched sentences were not classified by format or quality, and the domain-label proxy is not a complete test of source naming.

Method note. Source: the Index answer ledger's run and citation-event tables, daily export of 2026-11-06 08:10 UTC, read with DuckDB and Node. Runs: success, answer text over 400 characters, library question ids beginning mri2-, run date 2026-10-08 or later, engines ChatGPT, Claude, Perplexity and Gemini, with at least one citation event; 90 per engine by hash of the run id. Citation events with the brand-prompted flag were dropped. URLs: query string and fragment removed, fetched once with a desktop browser user agent, 12-second timeout, HTML or text only, first 2 MB, scripts, styles and navigation, header and footer blocks removed. Matching: lower-cased, characters other than letters, digits, periods and percent signs replaced with spaces, whitespace collapsed, eight-word windows from the page indexed by first occurrence. A matching passage is the longest run of consecutive matching windows. Position is the word offset of its first window on the page. Name test: stem is the first label of the root domain, "try" or "get" dropped when six or more letters remain, matched as a whole word with an optional space between letters, applied to domains with a stem of five or more letters. The interval resamples the 359 answers 1,000 times with a fixed seed. Even-spread reference: for each matching passage, the smaller of 1 and 100 divided by the matched page's word count, averaged. Our own pages: every successful ledger answer of more than 400 characters, from June 8 to November 2, 2026, with a citation event on authoritytech.io or machinerelations.ai that is not brand-prompted and whose question does not name Machine Relations, matched by the same rule against the live page.

Frequently asked questions #

Do AI answers share text with the pages they cite? #

The rates differ by API route. Across 2,246 readable citation events in 359 answers, eight or more consecutive normalized words matched the fetched page in 84.2 percent of Claude's events, 37.2 percent of ChatGPT's and about 1 percent of Perplexity's and Gemini's. A match does not prove direct copying from that page.

Where on a page do the matching passages begin? #

In these API-route observations, 68.3 percent of ChatGPT's longest matching passages began in the first 100 words of the fetched page. Claude's were spread through the page and 6.0 percent began in the opening. This is not a causal test of passage placement.

Does a matching passage carry the domain-label proxy? #

The proxy appeared inside the matched words in 7.0 percent of 444 eligible matching passages: 18.0 percent for ChatGPT and 2.1 percent for Claude. This does not count every possible publisher or brand name. See also how often engines name the sources they cite and what engines call this work.

What does this mean for how Machine Relations pages should be written? #

If a test depends on a term appearing inside a verbatim-matched passage, that passage must contain the term. Whether including Machine Relations changes naming or citation is unmeasured here; engines can name a source outside the matching passage.

Correction #

November 7, 2026: the original version called normalized word matches copying, used page labels for citation-event denominators and treated a domain-label proxy as complete source naming. The counts and dated sample are unchanged. Shared wording does not establish direct reuse or retrieval, a match rate is not a lower bound on true reuse, and the position results do not establish preferred sentence formats or intervention effects. The title, descriptions and FAQs now use the measured scope; the URL and publication date are unchanged. The even-spread reference and the make-up of the own-page cohort (distinct answers, questions and panels) were also stated more precisely on the same day.