Quid Pro Quo (QPQ) Tracker

About the Quid Pro Quo (QPQ) Tracker

The QPQ Tracker is a project of Anti-Corruption Action, a 501(c)(3) nonprofit. It builds and maintains the tracker.

About Anti-Corruption Action →

Mission

The QPQ Tracker is an open-source investigative database. It connects political donors, recipients, donations, policy outcomes, and enablers in a single searchable, visual interface. Existing platforms track donations or map power relationships. But none systematically connect money to specific policy outcomes. The QPQ Tracker exists to let citizens examine the money and the outcomes together. It links campaign contributions, lobbying expenditures, and independent spending to the legislative votes, regulatory actions, and appointments that follow.

The tracker’s subject is the system. Much of the money that corrodes American politics moves lawfully, in public filings. The tracker does not assert that any donation caused any outcome. It shows documented connections drawn entirely from public records. Readers draw their own conclusions.

Data Sources

Every transactional row in the tracker links to the filing or record it came from. Where a relationship was entered from reporting rather than a filing, it carries an explicit editorial-inference tag (see the methodology). The public data sources below feed the tracker through automated ingestion pipelines. Every source listed is one the pipelines actually load from.

Federal Election Commission (FEC) API

Campaign finance data for all federal elections. Individual contributions, PAC receipts and disbursements, independent expenditures, party committee transfers, and electioneering communications. The primary source for connecting donors to recipients.

Requires an API key (free). Rate-limited to 1,000 requests per hour. Attribution required per FEC terms of service.

Congress.gov API

Legislative data from the Library of Congress. Bill text, status, cosponsors, committee actions, amendments, and roll-call votes. Provides the policy-outcome side of the money-to-outcome chain: which legislators voted for or against specific bills, and when.

Requires an API key (free). Rate limits apply. The roll-call votes loaded here begin with the 117th Congress (2021–2022).

Regulations.gov API

Federal rulemaking data. Proposed rules, final rules, public comments, and supporting documents across all federal agencies. Ties lobbying activity to specific rulemakings by matching docket numbers to lobbying disclosure filings. That shows which organizations commented on or sought to influence particular regulatory actions.

Requires an API key (free from api.data.gov). Rate-limited to 1,000 requests per hour per key.

SEC EDGAR

Corporate disclosure filings from the Securities and Exchange Commission. 10-K and 10-Q filings reveal corporate structure and financial relationships. 8-K material event reports disclose significant corporate actions. Proxy statements (DEF 14A) disclose political spending by publicly traded companies, executive compensation, and board-level conflicts of interest.

Free, no API key required. Rate-limited by fair-use headers (User-Agent identification required, max 10 requests per second). JSON endpoints available for structured data access.

USAspending.gov API

Every federal contract, grant, loan, and other financial assistance award issued by the U.S. government. Connects companies and organizations that receive federal dollars to their lobbying and campaign contribution activity. Thus readers can see where political spending and government contracts line up.

Free, no API key required. Bulk download available. Data sourced from the Federal Procurement Data System (FPDS) and the Federal Assistance Award Data System (FAADS).

FARA Foreign Agent Registrations

Registrations filed under the Foreign Agents Registration Act with the Department of Justice. Identifies U.S. lobbying firms and individuals acting on behalf of foreign governments, political parties, and foreign principals. The Justice Department’s file includes registration and termination dates and the countries represented. The QPQ Tracker stores each registration and its date but not yet its termination date. Thus FARA counts on this site include registrations that have ended.

Bulk CSV download from the FARA e-File system. No API key required. Updated periodically by the DOJ FARA Unit.

OpenCorporates API

Corporate registration data from company registries worldwide. Jurisdiction of incorporation, company status, incorporation and dissolution dates, registered agent information, previous company names, and (where available) officer and director listings. Used to enrich organization entities with corporate structure details.

Requires an API token. Open_data plan allows 10,000 calls per day and 50,000 per month. Officer data may require a higher-tier plan. Attribution required per OpenCorporates terms.

OpenSanctions API

International sanctions lists, politically exposed persons (PEP) databases, and enforcement actions consolidated from hundreds of government sources worldwide. Screens entities in the tracker against OFAC, EU, UN, and other sanctions regimes. Flags individuals who hold or have held prominent public functions.

Requires an API key. Trial and paid plans available. Data is CC-BY-SA licensed with attribution required.

ProPublica Nonprofit Explorer

IRS Form 990 filings for tax-exempt organizations. Revenue, expenses, executive compensation, grants made and received, and organizational details for nonprofits, foundations, and political organizations. Connects dark-money groups and think tanks to their funding sources and expenditures.

Free, no API key required. Data derived from IRS e-file records. Attribution to ProPublica required.

LobbyView (MIT Political Science)

Comprehensive lobbying data linking federal lobbying disclosure filings to specific bills, agencies, and issues. Connects lobbyists, lobbying firms, and their clients to the legislation and regulations they sought to influence. Enables systematic tracking of which organizations lobbied on which bills and how much they spent.

Academic dataset maintained by MIT. API access available for researchers and public-interest projects. Attribution required.

Methodology

Automated data pipelines pull records from federal APIs on a weekly schedule. Each pipeline validates incoming data against expected schemas, applies entity resolution to match records across sources, and stores raw filings alongside normalized entities and relationships.

Relationships that come from investigative reporting rather than a filing are entered by hand and tagged as editorial inferences, with the article cited. There is no automated text-extraction pipeline. One is planned. Anything it produces will pass through a review queue before it enters the production database.

Data Integrity Practices

Entity resolution and canonicalization

Federal records contain messy donor names, inconsistent organization names, and duplicated entries. The tracker uses deterministic matching (FEC committee IDs, EINs, registration numbers) as the primary key, with fuzzy name matching as a secondary signal. Each entity maintains a canonical name alongside all known aliases and variant spellings.

Source attribution

Transactional rows (donations, lobbying filings, contracts, votes) link to the filing or record they were drawn from. Relationships without such a link carry an explicit editorial-inference tag and cite the reporting they rest on. When data is enriched from multiple sources, each enrichment carries its own citation. A small share of older seed rows still lack a URL. They are being re-sourced or retired, and are flagged where shown.

Rate limiting and backoff

Ingestion pipelines implement exponential backoff and retry logic for rate-limited APIs. The FEC API allows 1,000 requests per hour. Regulations.gov allows 1,000 per hour per key. SEC EDGAR requires a declared User-Agent and limits to 10 requests per second. Pipelines track daily API usage budgets and pause automatically when approaching limits.

API key management

All API keys are stored as environment variables, never in source code. In production, keys are managed through Vercel environment variables with restricted access. Service role keys that grant write access to the database are never exposed to the browser.

Attribution and terms of service

Each data source has its own attribution requirements. FEC data must be attributed to the Federal Election Commission. OpenSanctions data is CC-BY-SA licensed. OpenCorporates requires attribution to OpenCorporates. ProPublica Nonprofit Explorer data must credit ProPublica. The tracker complies with each source's terms of service, including rate limits, fair-use policies, and redistribution terms.

Open Source

The QPQ Tracker is built on public records and open-source tools. The codebase, ingestion pipelines, and database schema are maintained by Anti-Corruption Action. Researchers and journalists who want to review or replicate the pipelines can request access through the contact address below.

Contact

For questions, corrections, or partnership inquiries, contact Anti-Corruption Action at info@anticorruptionaction.org.

Anti-Corruption Action (formerly The Dekleptocracy Project), a 501(c)(3) nonprofit, EIN 85-3315551.