politics.rootz.global — Transparency in political data collection
Every piece of data on this site goes through the same six-step process. No exceptions.
We read official government sources and campaign websites directly. Congress.gov for legislators and bills. House Clerk XML for votes. FEC for candidates and money. Campaign websites for positions in their own words.
We identify ourselves: User-Agent: PoliticsRootz/1.0
Before we extract anything, we score the page for quality. Our algorithm checks for policy language ("I support", "I oppose", bill references, dollar amounts) and penalizes junk (signup forms, social media links, navigation). Pages scoring below 5 out of 30 are not extracted — too much noise.
The full algorithm is published at /api/methodology — every signal, every weight, completely open.
We parse quality-assessed pages into structured positions by topic. Each position gets: the politician's name, the topic (Healthcare, Immigration, etc.), the exact text from their site, and the source URL. We categorize by keyword, not by editorial judgment.
Every record gets an origin proof chain: SHA-256 of the page content + SHA-256 of our quality assessment + SHA-256 of the extraction. The combined hash proves: "we got this content, assessed it this way, extracted this data." The chain is verifiable by anyone.
Data is served via REST API and MCP tools. No API key required. No paywall. No registration. Any AI agent — ChatGPT, Claude, Gemini, Grok — can read it directly. Humans too.
Every position links to a source URL. Every vote links to clerk.house.gov XML. Every finance record links to FEC.gov. You can verify anything we publish by visiting the source yourself. We can't modify what Congress.gov says — we can only prove we read it accurately.
What a politician's website said on a specific date (content hash + timestamp)
How every member of Congress voted on every bill (official Clerk XML)
How much money each candidate raised and from whom (FEC filings)
Who sponsored and cosponsored each bill (Congress.gov)
The full text of proposed legislation (Congress.gov)
When a politician changed their website content (snapshot diffs)
What a politician actually believes (only what they published)
Whether a stated position is sincere or strategic
Off-the-record statements or private conversations
Future votes or actions
We collect everyone. Every party. Every candidate. Every level of government. We do not editorialize, rank, or filter. Our quality assessment is based on content structure (does the page have policy language?) not political orientation. A Republican's position paper and a Democrat's position paper are assessed by the same algorithm with the same signals.
The full methodology as structured JSON: /api/methodology
Provenance chain for any official: /api/official/{id}/provenance
12 MCP tools available at POST /mcp
If you find data that doesn't match the source, email steven@sprague.com with the official ID and source URL. We will re-verify and update within 24 hours.