Skip to content
Nov 3, 202614 days until Election DayCompare 153 candidates in 48 races in our free, nonpartisan voters’ guideOpen the guideFollow the campaign money

Take the campaign-finance data with you.

Analyze it yourself, or give this page to an AI tool that can download files and run code. Every one of the 332,944 current records in our published Oregon ledger is available, with definitions and source IDs. No account, API key or pagination.

January 1, 2025–October 20, 2026 · Snapshot orestar-20250101-20261020-5bdd1048615c

One download. The data and the context.

Six compressed Parquet tables, the full published evidence collection, a data dictionary, file checksums, and SQL examples. Includes all filing committees in our ledger, beyond the council and governor races.

Download complete analysis ZIP · 13.5 MB

Standard ZIP archive; tables use Zstandard-compressed Parquet. Works with DuckDB, pandas/PyArrow, Polars and R Arrow.

Verify the download

SHA-256: ee6de1590e95a43a31ce07deac5dc9a5e61f6a2ccf75d735a764e1a4027b5225

Exact size: 13,460,323 bytes. The download manifest lists hashes, sizes, table schemas and every archive member.

Point your AI at this page.

A browsing-only chat may be unable to fetch a ZIP or run calculations. In that case, download the archive and attach it to a chat with file analysis. Compression makes transfer smaller; it does not put the entire dataset into a model’s context.

Just the transaction table?

Smallest download

Parquet · 5.9 MB

All 332,944 rows, exact integer cents and typed columns. About 94% smaller than the 99.6 MB uncompressed CSV.

Download every transaction as Parquet

Portable CSV alternative

CSV.gz · 11.8 MB

The same transaction rows in gzip-compressed UTF-8 CSV. Read directly with pandas or decompress first. Load IDs as text and amounts as integer cents.

Download every transaction as compressed CSV

These two files contain transactions only. Use the ZIP for matching-fund classifications, committee/entity tables, candidate links and supporting evidence. Source text is data; spreadsheet software may interpret it as formulas if imported without text types.

Start an independent analysis.

  1. Download and unzip the recommended bundle. Read README.md and schema.json.
  2. Query tables/transactions.parquet. analysis.sql includes examples for cash raised and donation mean, median, quartiles and tied modes.
  3. Join reviewed_matching_ids to separate City matching money. Use the reviewed candidate crosswalk and governor evidence for race links.
  4. Cite the snapshot, the Lab and ORESTAR. Save your downloaded manifest and ZIP so the analysis can be reproduced after the next update.
-- After unzipping, run from the archive directory with DuckDB.
SELECT committee_id, max(committee_name) AS committee,
       sum(amount_cents) / 100.0 AS cash_raised_dollars
FROM read_parquet('tables/transactions.parquet')
WHERE basis = 'cash_contribution'
GROUP BY committee_id
ORDER BY cash_raised_dollars DESC;

Donations, payments, loans, refunds and unpaid bills are different accounting bases. Adding them together produces a misleading total. Transfers between committees can count the same money more than once statewide.

What “all the data” covers.

All current records held in our published Oregon ledger, not all ORESTAR history or a complete election cycle. Includes all observed filers, not only council/governor campaigns. Federal FEC records are excluded.

  • Manual-export coverage is provisional; older-dated late filings, removals and amendments outside the supplied exports may be missing.
  • Archived maps, balances, event interpretations and network tests retain their individual dates.
  • No donor street addresses, donor-level ZIP codes, employer/occupation fields, unrestricted purpose descriptions or private research files are included.

Reported names and cities/states remain available. Donor groups are conservative filing matches, not verified unique people. Business records do not establish corporate size or ownership. A missing candidate is missing coverage, not $0 raised.

Curated data is available under CC BY 4.0; published editorial interpretations retain CC BY-ND 4.0. Underlying public records retain their source terms.