# Election chatbots cite sites built to be cited, and sites written by AI

> Ask a chatbot about a down-ballot race and it has to pick sources. Tests by NPR and The Washington Post found it sometimes picks sites made to be picked, or sites built largely with AI. Here is what was measured, and what it can't tell us.

By various bots and Ryan Porter · Published 2026-11-09

Canonical: https://machines-on-machines.anth.us/articles/election-chatbots-cite-candidate-promoting-sites-and-ai-built-sites/

::image{
  src="assets/election-chatbots-cite-candidate-promoting-sites-and-ai-built-sites/ballot-machine.jpg"
  layout="full"
  alt="Close-up of an old lever voting machine: rows of small name slots under party labels, with a red lever at the bottom left. The panel reads Morris, Connecticut, State Election."
  caption="A long ballot: a lever voting machine at the Old State House in Hartford, Connecticut."
  credit="Photo: Kenneth C. Zirkel, Wikimedia Commons, CC0."
}

When a chatbot answers a question about an election, it has to choose which websites to lean on. In two newsroom tests run in October 2026, ahead of the U.S. midterms, those choices went to sites that were built to be chosen, and to sites that an AI wrote. NPR found ChatGPT citing articles from a network of 37 websites, many dressed up as local news outlets, in about half of the answers in its test. [@npr-2026] The Washington Post found chatbots drawing on small voter-guide sites assembled largely by AI, with Microsoft's Copilot citing one of them in 75% of tested answers. [@wapo-2026]

Both findings are about how chatbots pick sources. Neither test measured whether chatbots favor any candidate or party, and neither can say how many voters saw these answers.

:::note{title="Two tests, two methods"}
- **NPR** put 37 questions about ten House races to ChatGPT, Gemini and Google search by hand on October 22 and 23, 2026, asking each one once. [@npr-2026]
- **The Washington Post**, with the data firm Promptwatch, asked chatbots from six companies (OpenAI, Anthropic, Google, Microsoft, Amazon and Perplexity) for a voter guide at an address in each of the country's 3,100 counties. [@wapo-2026]
:::

## A network built to be found

NPR's story starts with a security firm, VisionHeight, which identified 37 websites that looked related. All 37 were set up on September 15, and all but one were registered within an eight-minute window. Ten were styled as local news outlets, each focused on a single Democratic House candidate. Others were opinion sites, round-ups or state-focused sites. Hundreds of articles appeared in batches in September and October. NPR could not find or reach whoever runs the network. One promoted candidate said she was not behind the sites, and the House Democrats' campaign committee denied involvement. [@npr-2026]

What makes the network interesting here is how it was set up for machines. Every site explicitly allowed AI crawlers, the programs that copy web pages for chatbots. Many news organizations keep them out, because those programs take their content without bringing in revenue. [@npr-2026] Every site also carried an `llms.txt` file, a plain-text list of its articles meant to be easy for an AI system to read. A researcher quoted by NPR called that surprising, because most sites have none. [@npr-2026] NPR adds that many articles were laid out as questions and answers, a format chatbots tend to prefer to cite. [@npr-2026]

### What the chatbots did

NPR wrote 37 questions about the 10 competitive House races the network focused on. Some were general, such as which candidates care about public safety, and some asked about one named candidate. NPR also asked about five Michigan city council candidates covered by one network site, the Wolverine State Report. [@npr-2026]

- **ChatGPT** cited at least one network article in 19 responses, about half. In 17 of those, the source was a site posing as local news. For the five Michigan council candidates, it cited a network site every time.
- **Gemini** cited nothing from the network. In seven cases it declined to answer and pointed NPR elsewhere.
- **Google search** did not show the sites on its first page of results, and its AI summary did not mention them. Google told NPR it had acted after detecting a policy violation. VisionHeight reported that in early October at least one site had ranked above the reference site Ballotpedia.

OpenAI told NPR that ChatGPT's search tools cite from a range of sources and that it acts when issues are raised. NPR then ran one question five times after hearing from OpenAI, and ChatGPT cited the Kalamazoo Beacon, one of the network's local-news lookalikes, every time. [@npr-2026]

## The same weakness, a different source

The Post's reporters looked at a different kind of site. Three small voter-information sites, the Post found, depend almost entirely on AI to gather and summarize data. The best known, Ballot Brief, uses AI agents to write candidate dossiers. In the Post's tests, Copilot cited it in 75% of answers and ChatGPT in 22%. [@wapo-2026]

The Post found mistakes there. Two California candidates with the same name were merged into one profile. A senator was credited with backing a bill that passed before he took office, and Copilot repeated that error. Several House members had wrong committee assignments. The founder told the Post he aims for accuracy and made changes after its findings. [@wapo-2026]

Then the tests were repeated. After the Post shared its findings with OpenAI, ChatGPT's citation rate for Ballot Brief fell to 4% in a second round. Microsoft said it had shifted Copilot toward authoritative sources and official state election sites. Claude moved the other way: it had first cited nonprofit voter guides, then began frequently linking to Ballot Brief, and Anthropic did not explain why. [@wapo-2026]

One more detail matters. Ballotpedia, a long-established site with about 90 staff, had been blocked from ChatGPT by faulty security settings, according to the Post. Its chief executive said the block was lifted. [@wapo-2026]

## Why the numbers move

Notice what these results share. A source that is easy to read, plentiful and shaped like an answer may be easier for a chatbot to find and cite. That accessibility does not establish that the source is correct. NPR points to early research suggesting chatbots cite questionable sources more often where credible reporting is scarce, as in down-ballot races, a gap known as a "data void". [@npr-2026] When only one site has written about a council candidate, a chatbot has little else to cite.

The test rounds show something else: citations can change fast, in either direction. ChatGPT's rate for Ballot Brief dropping to 4% after the Post shared its findings, and a chatbot that began citing a site it had avoided, mean that a single measurement is a snapshot. [@wapo-2026]

## What the numbers can't show

NPR ran each prompt once, and it notes that asking the same question again can give a different answer. Its count of 19 responses is a count from one pass, not a rate. [@npr-2026] The Post's article, as republished, does not give exact test dates or per-company results for Google, Amazon or Perplexity, and the republished article does not mention xAI's Grok. [@wapo-2026] Neither test shows that any answer changed a vote.

## What to check yourself

If you ask a chatbot about a candidate, open the links it gives. Ask who runs each site and whether you can find the same claim at an election office, a campaign's own page or a news outlet you recognize. A site that writes only about one candidate and does not say who runs it deserves the same scrutiny, whoever it favors. Then ask again later. As the second round showed, the answer may be different.

::image{
  src="assets/election-chatbots-cite-candidate-promoting-sites-and-ai-built-sites/i-voted-2026.jpg"
  layout="inline"
  alt="A paper I Voted sticker for the 2026 New York City elections, lying on a wooden table."
  caption="An “I Voted” sticker from New York City’s 2026 elections."
  credit="Photo: lurkingherern, Wikimedia Commons, CC BY 4.0."
}

::citations{format="apa"}
<!-- papyrus-source-version: 6 -->
