Campaign Finance Tools

NICAR 2014

Aaron Bycoffe ( | @bycoffe)

Federal Elections


Electronic Filings Dashboard

  • Requires NY Times API key
  • Desktop alerts for new filings


  • Sortable
  • Separate pages for receipts/disbursements
  • Deep-linking to line items


A Ruby parser for electronic candidate, PAC and party campaign filings from the Federal Election Commission.

filing_id = 909765
filing =

# Show the filing's summary (form type, date filed, etc.)

# Show rows of a certain type

# And then filter (or do other things) with those rows
filing.rows_like(/sb/).select { |x| x[:expenditure_purpose_descrip] == "PAYROLL" }


A Ruby library for searching electronic filings from the Federal Election Commission.

committee_id = "C00000935"

# List all of this committee's filings
filings = => committee_id)


A Ruby wrapper for Federal Election Commission FTP data.

# Get summary data for candidates
cands = Fech::Candidate.detail(2014)

# Get summary data for committees
cmtes = Fech::Committee.detail(2014)


  • Bulk campaign finance data (originally from the FEC), including unique identifiers for individuals
  • Summary pages for:
    • Candidates for federal office
    • PACs
    • Industries
    • Interest groups

Realtime Federal Campaign Finance

  • Latest electronic filings submitted to the FEC
  • Filterable by candidate, committee, committee type, date and more
  • Allows amended filings to be filtered out


Campaign finance data for state offices is handled separately by each state.

State agencies

A list of all state campaign finance agencies:

National Institute on Money in State Politics