Skip to main content
All providers

FEC

Public recordsUS

api.open.fec.gov

US federal campaign finance: candidates, committees, filings and the money behind them.

Runs on your machine under the source's own terms

The crw MCP on your computer calls FEC directly, with a free key of your own. Calls cost no credits and the data does not pass through fastCRW. Install it once for Claude Code, Cursor, Codex, Windsurf, Gemini CLI or OpenCode, with your fastCRW API key in place of the placeholder:

Capabilities (25)

fec/candidateFree, runs locally

Returns one candidate’s current record: name, party, office, state, district, incumbency, candidate status, first and last file dates, every cycle they were active and their mailing address.

candidate_id
fec/candidate-committeesFree, runs locally

Returns every committee associated with one candidate — principal campaign committees, authorized committees, joint fundraising and leadership PACs — with committee id, name, designation, type, treasurer, filing frequency and active cycles.

candidate_idcycle?designation?committee_type?election_year?per_page?page?sort?
fec/candidate-name-searchFree, runs locally

Returns up to 20 candidate name/id pairs matching a partial name string — a tiny payload meant for typeahead rather than full search.

q
fec/candidatesFree, runs locally

Searches every candidate who has ever filed with the FEC and returns their candidate id, name, party, office, state, district, election years, incumbent/challenger status and active cycles.

q?candidate_id?name?cycle?election_year?office?state?party?district?candidate_status?incumbent_challenge?is_active_candidate?has_raised_funds?federal_funds_flag?year?min_first_file_date?max_first_file_date?per_page?page?sort?
fec/candidates-totalsFree, runs locally

Returns one aggregated financial summary row per candidate — receipts, disbursements, cash on hand, debts, individual versus PAC money and party affiliation — across all candidates matching the filters.

cycle?election_full?office?state?party?district?is_active_candidate?has_raised_funds?incumbent_challenge?min_receipts?max_receipts?min_disbursements?max_disbursements?federal_funds_flag?per_page?page?sort?
fec/candidate-totalsFree, runs locally

Returns one candidate’s aggregated finances per election cycle: total receipts and disbursements, cash on hand at the start and close, debts owed, individual and PAC contributions, transfers, loans, refunds and the coverage dates behind them.

candidate_idcycle?election_full?full_election?per_page?page?sort?
fec/committeeFree, runs locally

Returns one committee’s record: name, type, designation, organization type, treasurer, street address, party, filing frequency, candidate ids it supports and every cycle it has been active.

committee_id
fec/committee-reportsFree, runs locally

Returns the individual periodic financial reports a committee filed — one row per report with its coverage dates, report type, amended flag, beginning and ending cash, period and cycle-to-date totals and links to the filing PDF and CSV.

committee_idcycle?year?report_type?is_amended?beginning_image_number?min_receipt_date?max_receipt_date?per_page?page?sort?
fec/committeesFree, runs locally

Searches every committee registered with the FEC — campaign committees, PACs, super PACs, party committees — returning committee id, name, type, designation, organization type, treasurer, state, party, filing frequency and active cycles.

q?committee_id?candidate_id?cycle?year?state?party?committee_type?designation?organization_type?treasurer_name?filing_frequency?min_first_file_date?max_first_file_date?per_page?page?sort?
fec/committee-totalsFree, runs locally

Returns one committee’s aggregated finances per cycle: receipts, disbursements, cash on hand, debts, individual itemized and unitemized contributions, PAC and party money, independent expenditures, operating expenditures, transfers and refunds.

committee_idcycle?full_election?designation?committee_type?per_page?page?sort?
fec/election-datesFree, runs locally

Returns scheduled federal elections with their date, type (primary, general, runoff, special, convention), state, district, office and the associated election year and notes.

election_state?election_district?office_sought?election_party?election_type_id?election_year?min_election_date?max_election_date?min_primary_general_date?max_primary_general_date?per_page?page?sort?
fec/electionsFree, runs locally

Returns one row per candidate in a specific race — office, state, district and cycle — with total receipts and disbursements, cash on hand, party, incumbency and the principal committee ids.

cycleofficestate?district?election_full?per_page?page?sort?
fec/elections-searchFree, runs locally

Returns the races the FEC holds data for — cycle, office, state, district and the incumbent’s id and name — so you can discover valid office/state/district/cycle combinations.

q?cycle?office?state?district?incumbent_id?per_page?page?sort?
fec/filingsFree, runs locally

Searches every document filed with the FEC — reports, statements of candidacy and organization, notices and 24/48-hour reports — returning form type, coverage and receipt dates, amendment chain, total receipts and disbursements and direct PDF and CSV links.

candidate_id?committee_id?cycle?form_type?report_type?report_year?primary_general_indicator?amendment_indicator?document_type?state?district?office?party?filer_type?file_number?request_type?min_receipt_date?max_receipt_date?is_amended?most_recent?per_page?page?sort?
fec/legal-searchFree, runs locally

Full-text search across the FEC’s legal corpus — closed enforcement matters (MURs), advisory opinions, administrative fines, regulations and statutes — returning document text excerpts, case numbers, dates, respondents, commission votes and document links.

qtype?from_hit?case_no?case_respondents?case_min_open_date?case_max_open_date?case_min_close_date?case_max_close_date?ao_no?ao_requestor?ao_min_issue_date?ao_max_issue_date?mur_type?ao_category?ao_status?sort?
fec/presidential-contributions-by-stateFree, runs locally

Returns, for each presidential candidate in an election year, the total individual contributions and contributor count from each state.

election_yearcandidate_id?contributor_state?page?per_page?sort?
fec/schedule-aFree, runs locally

Returns individual itemized contributions — donor name, employer, occupation, city, state and ZIP, amount, date, receipt type, the recipient committee and the filing the line came from.

two_year_transaction_periodcommittee_id?contributor_name?contributor_city?contributor_state?contributor_zip?contributor_employer?contributor_occupation?contributor_type?is_individual?min_amount?max_amount?min_date?max_date?recipient_committee_type?recipient_committee_designation?recipient_committee_org_type?line_number?image_number?last_index?last_contribution_receipt_date?per_page?sort?
fec/schedule-a-by-employerFree, runs locally

Returns one row per reported employer with the total dollars and contribution count a committee received from that employer’s staff in a cycle.

cyclecommittee_id?employer?per_page?page?sort?
fec/schedule-a-by-sizeFree, runs locally

Returns a committee’s receipts bucketed into the FEC size bands — under $200, $200-499, $500-999, $1000-1999 and $2000+ — with the dollar total and line count in each.

cyclecommittee_id?size?per_page?page?sort?
fec/schedule-a-by-stateFree, runs locally

Returns one row per donor state with the total dollars and contribution count a committee received from it in a cycle.

cyclecommittee_id?candidate_id?state?per_page?page?sort?
fec/schedule-bFree, runs locally

Returns itemized spending lines — recipient name and address, amount, date, disbursement purpose and description, the paying committee and the filing the line came from.

two_year_transaction_periodcommittee_id?recipient_name?recipient_city?recipient_state?recipient_committee_id?disbursement_purpose_category?disbursement_description?min_amount?max_amount?min_date?max_date?line_number?image_number?last_index?last_disbursement_date?per_page?sort?
fec/schedule-b-by-purposeFree, runs locally

Returns a committee’s spending grouped into the FEC purpose categories — advertising, fundraising, salary, travel, polling, administrative and the rest — with the dollar total and line count in each.

cyclecommittee_id?purpose?per_page?page?sort?
fec/schedule-eFree, runs locally

Returns independent expenditure lines — the outside money spent for or against a candidate by super PACs and other non-coordinated spenders — with the spending committee, payee, amount, date, support/oppose indicator, the targeted candidate and the office involved.

cyclecandidate_id?committee_id?support_oppose_indicator?candidate_office?candidate_office_state?candidate_office_district?candidate_party?payee_name?min_amount?max_amount?min_date?max_date?min_dissemination_date?max_dissemination_date?is_notice?filing_form?last_index?last_expenditure_date?per_page?sort?
fec/schedule-e-by-candidateFree, runs locally

Returns one row per spending committee with the total independent expenditures it made supporting and opposing a given candidate in a cycle.

candidate_idcyclesupport_oppose?election_full?office?state?district?per_page?page?sort?
fec/totals-by-entityFree, runs locally

Returns aggregate federal fundraising and spending for a cycle grouped by entity type — presidential, house, senate, PAC, party and super PAC — with cumulative receipts, disbursements, independent expenditures and transfers.

cycleentity_type?per_page?page?sort?

Licence

Don’t use campaign finance information disclosed on fec.gov or through openFEC, the FEC's API, for commercial purposes including, but not limited to training data for large language models, machine learning models or artificial intelligence models, including generative artificial intelligence models.

https://github.com/fecgov/FEC/blob/master/ACCEPTABLE-USE-POLICY.md

Attribution

Display this wherever you show the data. It arrives on every response as provenance.attributionText.

Source: Federal Election Commission