Data sources

Everything on this site comes from a public record.

FEC

api.open.fec.gov

Committee filings, for the money figures. Two endpoints: Schedule B disbursements from one of the five lobbying groups we track to a candidate's principal committee, and Schedule E independent expenditures for or against that candidate. The five lobbying groups we track are AIPAC PAC (FEC ID C00797670), United Democracy Project (FEC ID C00799031), ZOA PAC (FEC ID C00548628), DMFI (FEC IDs C00710848 and C90022864), and Republican Jewish Coalition (FEC IDs C00345132 and C00528554). Support and opposition are stored in separate fields and never added together, because money spent to elect someone and money spent to beat them mean opposite things. Contributions earmarked through a third party are out of scope. The figure on a card is therefore a floor across five lobbying groups, not a total of everything a campaign has raised, and the card says so wherever it shows a number.

congress.gov and the chambers' roll-call listings

clerk.house.gov  ·  www.senate.gov  ·  api.congress.gov

Votes and sponsorship on 21 tracked measures: 16 floor votes, 2 committee votes and 3 sponsorship records. Each recorded vote is read from the chamber's own roll-call listing and stored with the URL of that listing. Sponsor and cosponsor rosters for the tracked bills come from the Congress.gov API.

Ballotpedia and state filing lists

Who is on the 2026 ballot, for which office, in which district, under which party. The same pull collects the campaign website and public accounts a candidate publishes, which is how a card avoids saying someone has no website when they have one.

Polymarket

gamma-api.polymarket.com

Live market odds. Statewide races that have a market carry its slug. The odds are not stored with the candidate data. The page requests the market by its event slug when you open the race, so the number you see is the market's number at the moment you look, and it links back to the market it came from.

congress-legislators, OpenStates and Wikidata

Office-holder identification and contact records. The public congress-legislators directory supplies the official Washington office phone and membership of the committees that handle aid and weapons policy. Wikidata is keyed on the FEC candidate id rather than on a name, which is what stops a match landing on a different person who happens to share one. OpenStates supplies state-legislature records for governor candidates who have served in a state legislature.

Campaign sites, press releases, interviews and public statements

Candidate quotes. Every quote links to the page where the words appear.

State election authorities

Primary results: who advanced, who is in a runoff, who is out. The authoritative source is the state's own certified count, and a result carries the date the state certified it. Where a state has not certified yet, the outcome is recorded from published reporting of the count, with that source attached and no certification date on it. Nothing is inferred from a filing, because a defeated candidate stays an active filer until they close their committee.

Photos

Published news photography from credited sources.

Every claim carries its source

Every claim, figure and quote on a card links to the page it came from. A vote links to its roll call, a money figure links to the filing, a stated position links to the statement. Each link is stored with the date the page was read, and the card shows that date.

A claim that cannot be linked is not published.

How the material is checked

Research is gathered with the help of AI tools, reviewed by humans, and every quote is matched against its live source before it is published.

A first pass gathers a candidate's public record one race at a time: their filings, their roll calls where they have held the office, and what they have said in public, each item with the link it came from.

A verification pass then re-reads every quote against the live source before publication. Someone opens the page, finds the words, and confirms they say what we have them saying. A quote whose wording has not been matched to its source does not go on a card. Where a source has moved or gone offline and the wording cannot be confirmed, the quote is labelled unverified or taken off.

Where the two passes disagree, a final review settles it. A record with an unresolved conflict is held back rather than published, and it goes up only after a person has cleared that record by name.

Every finding carries the date it was checked.

Reading a card

Not yet researched

Research is pending. There are thousands of names on the 2026 ballot and we work through them one by one.

No public record found

We looked, on the date shown, and found nothing public. If you know of something we missed, send it and we will read it.

A money figure

A funding figure appears once it has been read from a filing. Unchecked funding says so in words. Unknown is written as unknown, since a zero would be read as a finding.

A vote badge

A vote badge is a recorded roll call, linked to the listing it was read from. Where a candidate did not hold the office at the time, the card says that instead.

How statements are dated

Statements made between October 7, 2023 and January 25, 2024 are kept to the research record rather than the card summary. A card is meant to show a considered position, and those first months are a poor guide to one for most people. The statements stay in the research notes on the candidate page, with their sources, where they can be read and weighed. Anything from January 26, 2024 onward is treated as the record and can appear in the summary with its date attached.

October 7, 2023 is where the window opens. Hamas and other armed groups carried out an attack in Israel that day, killing more than 1,200 people, injuring thousands and abducting about 240 more. Those are the figures the International Court of Justice recorded in the order linked below. It was a tragedy. Our team mourned it along with most of the world: innocent lives lost, civilians killed, children among them.

The window closes on January 25, 2024 because of what happened the next day. On January 26, 2024 the International Court of Justice issued its first order in South Africa v. Israel. Citing United Nations figures compiled two days earlier, the court recorded 25,700 Palestinians killed, over 63,000 injured and approximately 1.7 million people internally displaced. By the war's hundredth day, Save the Children had reported more than 10,000 children among the killed, citing the Gaza Ministry of Health. The document is published as the Order of 26 January 2024. From that date the toll was a matter of judicial record, so statements made from January 26, 2024 onward are read as considered positions rather than first reactions.

Why this conflict and not another

If United States money were funding Hamas while it killed civilians on an ongoing basis in Israel, this site would be dedicated to voting out the politicians supporting that. Their votes to send money and weapons would be the record we were tracking and their actions would be those we were fighting against. That's not the situation. We confront the world as we find it and join with our brothers and sisters from all creeds, colors, and backgrounds in an attempt to say, this ends now.

How we mark candidates without a voting record

Most candidates on the ballot have never voted on the bills we track. For them, reviewers read the public record, and a mark is given only when two reviewers agree it is clear-cut. Where the two read a record differently, one final reading was chosen by hand.

✗ Supports sending weapons or funding to the government of Israel, or fully backs its conduct of the war without significant reservations. Their own words since January 26, 2024, taken together, say U.S. weapons or military funding to the government of Israel should continue, or oppose limits on it, or they back its conduct of the war in full, even if weapons are never named; or, where their own words don't settle it, one of the lobbying groups we track backed them with at least $1,000 this election cycle, or a group that backs sending weapons endorsed them.

✓ Opposes sending weapons or funding: their own words since January 26, 2024, taken together, say U.S. weapons or military funding to the government of Israel should end, be suspended or be blocked, even if they would consider defensive aid again once the killing ends.

? Mixed: their record points both ways, or they have spoken about Israel without saying clearly where they stand on U.S. weapons and funding. Read what they said. For example, they would stop offensive weapons but keep funding defensive systems like Iron Dome now, they support conditions on the aid, or they say the weapons should stop but a lobbying group we track backed them with money they didn't return.

– No Position Found: we found nothing in their own words about Israel, Gaza or the war.

Reviewers follow one order. First they ask whether a candidate's own words make it ✓ or ✗. Only if neither does is it ? Mixed. A dash is left for a record where their own words say nothing about Israel, Gaza or the war.

Most candidates without votes have now been reviewed. Where a review is not finished yet, the card shows a dash, even where money or an endorsement is already on the card, and the note on the mark says the review is not finished.

A voting record always comes first. Once a candidate has cast tracked votes, the vote rule decides their mark. If exactly half of those votes supported sending weapons or funding, the tie is broken the same way as for candidates without votes: backing of at least $1,000 this election cycle from a lobbying group we track, or an endorsement from a group that backs sending weapons, makes the mark ✗.

Marks from a review of the public record come from two reviewers reading it separately. Some candidates were reviewed by hand; the tooltip on those says so. Their own words outrank an endorsement, but not money they were backed with. In their own words, full support for the government of Israel and its conduct of the war, with no significant reservation, reads as ✗ even when weapons are never named; a call for a ceasefire on its own reads as ? Mixed. Their own words means what they said or wrote, or what their campaign published; a reporter's summary counts when a second, independent source reports the same position. Money spent against a candidate doesn't decide a mark: these lobbying groups often spend along party lines, or to protect an incumbent they back. Money from earlier election cycles is shown on the card, but it does not decide a mark on its own. Money data comes from federal (FEC) filings for the lobbying groups we track. We have it for every congressional candidate with an FEC filing ID; governor candidates are marked from endorsements and their own words, and for some candidates we have only this cycle's figures.

Endorsements from groups that oppose sending weapons. Cards show these endorsements, with a note on each group's stance, for information. They do not decide a mark. Any group whose endorsement or money could earn a check (✓) must also be party-neutral and meet our standard against antisemitism: its platform and its leaders' public statements do not target Jewish people as such, deny Jewish people's history or rights, or use antisemitic tropes, and it publicly rejects antisemitism. An "AIPAC Unlisted Endorsement" chip means AIPAC's donation site raises money for the candidate without a listed or announced endorsement. It is shown for information and does not decide a mark.

Corrections

Anything on this site can be disputed. The corrections page sets out what gets fixed, how to send it, and what happens after you do.

A candidate or campaign can also reply on the record. A real person reads the reply and checks the factual claims in it the same way the rest of the site is checked. It is then published on the candidate's page word for word, next to the record it answers.