Data

Which Sources AI Engines Share, and Which They Keep to Themselves

Three AI engines, the same 30 questions over 16 days: 16,289 citations across 1,431 domains. 81 domains carry 46.8%; 1,132 were cited by exactly one engine. Method on the page.

Published October 16, 2026 · Adam Rock

The finding

Three AI engines were asked the identical 30 buying questions, daily, over the same 16 days. Their answers cite 16,289 sources across 1,431 distinct domains - and the two groups divide up very unevenly.

81 domains - 5.7% of them - carry 46.8% of every citation. Meanwhile 1,132 domains (79%) were cited by exactly one engine, and together they account for only 24.5% of citations.

Domains and citations, by how many of the three engines cited them.

Cited byDomains% of domainsCitations% of citations
1 engine1,13279.1%3,99824.5%
2 engines21815.2%4,67228.7%
All 3 engines815.7%7,61946.8%
Total1,431100.0%16,289100.0%

So there is a small shared shortlist that every engine uses, and then a very large tail that each engine more or less keeps to itself. Past the shortlist, whether an engine cites a given site looks close to independent engine to engine.

How wide each engine goes

EngineSource citationsDistinct domainsCited by this engine onlyCitations per domain
ChatGPT3,9177765975.0
Perplexity7,69361733812.5
Gemini4,67941819711.2

ChatGPT spreads widest and agrees least: 597 of the 776 domains it cited were cited by neither of the other two engines. Perplexity made nearly twice as many source citations as ChatGPT from fewer domains - about 12.5 per domain against ChatGPT at 5.0 - so it repeats its sources more. The three exclusive counts (597 + 338 + 197 = 1,132) are exactly the one-engine bucket above.

The shared shortlist: all 81 domains cited by every engine

These 81 domains carry 7,619 of the 16,289 citations. Note that this list includes brand-owned domains (hubspot.com, shopify.com, monday.com, asana.com, nike.com) and competitors in the tracked categories, not only third-party publishers.

DomainCitationsDomainCitations
reddit.com949marathonhandbook.com43
tryprofound.com546visible.seranking.com43
techradar.com532celoxis.com40
runrepeat.com375siftly.ai40
shopify.com358pipedrive.com37
forbes.com311campaignmonitor.com36
monday.com269keyword.com35
clickup.com253nutshell.com34
rtings.com248irunfar.com34
zapier.com231atlassian.com33
blog.hubspot.com176believeintherun.com32
hubspot.com176adidas.com32
salesforce.com143ahrefs.com31
zoho.com143nicklafferty.com28
thedigitalprojectmanager.com140scrunch.com28
technologyadvice.com122doctorsofrunning.com27
peec.ai109writesonic.com27
asana.com101hibbett.com26
wrike.com99creatio.com26
teamwork.com94digitalapplied.com25
bigcommerce.com92outdoorgearlab.com25
learn.g2.com89crm.org25
g2.com86stripe.com21
llmpulse.ai71theretailexec.com19
woocommerce.com71otterly.ai19
wix.com68meltwater.com18
business.com67searchable.com18
techrepublic.com67ecommerceparadise.com15
semrush.com67fastlancer.org15
litextension.com66cloro.dev13
airtable.com66autods.com10
runtothefinish.com66atwix.com10
nike.com65supwell.com9
theruntesters.com64visiblie.com9
capterra.com59wizcommerce.com9
expertmarket.com56insightly.com7
blog.salesflare.com55beomniscient.com7
experte.com52searcheye.io6
wise.com48linkeddit.com3
ecommerce-platforms.com48decisioncircuit.com3
--metorik.com3

Method

Limitations

Check it yourself

Every number on this page can be recomputed from the file that ships with it. /data/ai-citation-source-overlap-2026-10/dataset.json contains domainsAll: all 1,431 domains, how many of the three engines cited each one, the citations each engine made to it, and the total. Sum the citations column and you get 16,289. Count the rows where engines is 3 and you get the shortlist of 81. Sum the chatgpt, gemini and perplexity columns and you get 3,917, 4,679 and 7,693. That is the entire dataset, and being able to check the arithmetic without taking our word for it is the point of publishing it.

What you cannot do is re-run our monitoring. The query below reads our internal measurement database, which readers do not have access to, so treat it as the audit trail for how these numbers were produced rather than something you can execute yourself. It is here because a method you cannot inspect is just an assertion.

WITH pairs AS (
                  SELECT DISTINCT Platform,
                         LOWER(REPLACE(SUBSTRING_INDEX(SUBSTRING_INDEX(Url,'/',3),'/',-1),'www.','')) AS host
                  FROM tracker_citations
                  WHERE TenantId = 9001 AND CitationSourceType = 'info_site'
                    AND Platform IN ('ChatGPT','Gemini','Perplexity')
                    AND Date >= '2026-09-30' AND Date < '2026-10-16'
                ),
                per_host AS (SELECT host, COUNT(*) AS engines_citing FROM pairs GROUP BY host),
                cites AS (
                  SELECT LOWER(REPLACE(SUBSTRING_INDEX(SUBSTRING_INDEX(Url,'/',3),'/',-1),'www.','')) AS host,
                         COUNT(*) AS cites
                  FROM tracker_citations
                  WHERE TenantId = 9001 AND CitationSourceType = 'info_site'
                    AND Platform IN ('ChatGPT','Gemini','Perplexity')
                    AND Date >= '2026-09-30' AND Date < '2026-10-16'
                  GROUP BY host
                )
                SELECT p.engines_citing, COUNT(*) AS domains, SUM(c.cites) AS citations
                FROM per_host p JOIN cites c ON c.host = p.host
                GROUP BY p.engines_citing ORDER BY p.engines_citing;
                

If you do compute something similar, one trap is worth knowing: reduce to DISTINCT engine/host pairs before counting how many engines cite a host, otherwise a domain cited 400 times by one engine looks like 400 engines agreeing. Also note that the Date column in this schema holds UTC even though some MySQL clients render it shifted by the session time zone, which can make the last row look like 16 October when it is really 15 October 23:41 UTC.

Per-engine totals, the exclusivity split, the robustness check at higher citation thresholds, the complete 1,431-row table and the full query set are all in the machine-readable version at /data/ai-citation-source-overlap-2026-10/dataset.json.

Cite this

AEO Spotlight, Which Sources AI Engines Share, and Which They Keep to Themselves (30 September to 15 October 2026). Retrieved from https://aeospotlight.com/data/ai-citation-source-overlap-2026-10

Frequently Asked Questions

What is this dataset?

A count of how three AI engines (ChatGPT, Gemini, Perplexity) divide 16,289 source citations across 1,431 distinct domains, when all three are asked the same 30 buying questions.

How many domains do the engines agree on?

81 domains were cited by all three engines, and they carry 7,619 of the 16,289 citations (46.8%). 1,132 domains were cited by exactly one engine.

Which sources are shared?

Mainly large platforms and publishers plus the tracked brands and their competitors: reddit.com, tryprofound.com, techradar.com, runrepeat.com, shopify.com, forbes.com, monday.com, clickup.com, rtings.com and zapier.com lead the list of 81.

Why only three engines?

These are the three that ran all 30 questions in the window, so they are the only ones directly comparable to each other.

Can I cite this data?

Yes. Please credit AEO Spotlight and link to this page. A suggested citation is at the bottom of the page.