FEC Campaign Finance Crawler - Candidates, PACs & Contributions
Pricing
Pay per event
FEC Campaign Finance Crawler - Candidates, PACs & Contributions
Crawl campaign finance data from the FEC. Extract candidates with financial summaries, committees/PACs, and individual contributions. Filter by year, state, party, and office. For political researchers, journalists, and compliance teams.
Pricing
Pay per event
Rating
0.0
(0)
Developer
BowTiedRaccoon
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
6 days ago
Last modified
Share
Crawl campaign finance data from the Federal Election Commission (FEC) API. Extract candidates with financial summaries, committees and PACs, and individual contributions. Filter by election year, state, party, and office. Exports structured JSON for political researchers, journalists, and compliance teams.
What Does the FEC Campaign Finance Crawler Do?
The FEC Campaign Finance Crawler queries the official FEC API to extract structured campaign finance records from the Federal Election Commission's public database. The FEC tracks all federal campaign finance activity in the United States, including candidate fundraising, committee (PAC) registrations, and individual political contributions. The crawler operates in three modes, each targeting a different FEC dataset.
FEC Campaign Finance Crawler Features
- Extracts candidate financial summaries including total receipts, disbursements, cash on hand, individual contributions, and debts owed from the
/candidates/totals/endpoint - Extracts committee and PAC data including committee type, designation, treasurer, filing frequency, and party affiliation from the
/committees/endpoint - Extracts individual contribution records including contributor name, employer, occupation, amount, date, and recipient committee from the
/schedules/schedule_a/endpoint - Filters by election year -- specify any federal election cycle (e.g., 2024, 2026)
- Filters by state -- US state code filtering (e.g., CA, NY, TX)
- Filters by party -- Democratic, Republican, Libertarian, Green, or Independent
- Filters by office -- President, Senate, or House (candidates mode)
- Filters by name -- search candidates, committees, or contributors by name
- Filters by minimum amount -- set a dollar threshold for contributions
- Handles pagination automatically -- page-based for candidates and committees, index-based cursors for contributions
- No proxy required -- the FEC API is a public government service with no bot detection
FEC Campaign Finance Crawler Output Fields
Candidates Mode
| Field | Type | Description |
|---|---|---|
candidate_id | string | FEC candidate ID (e.g., P80000722) |
candidate_name | string | Candidate full name |
party | string | Party abbreviation (DEM, REP, LIB, etc.) |
party_full | string | Full party name |
office_full | string | Office sought (President, Senate, House) |
state | string | State code |
district | string | Congressional district number (House only) |
election_year | number | Election cycle year |
incumbent_challenge | string | Incumbent/Challenger/Open seat status |
candidate_status | string | Candidate status code |
total_receipts | number | Total receipts for the cycle |
total_disbursements | number | Total disbursements for the cycle |
cash_on_hand | number | Cash on hand at end of reporting period |
total_individual_contributions | number | Total itemized individual contributions |
debts_owed | number | Debts owed by committee |
coverage_end_date | string | End date of latest financial reporting period |
has_raised_funds | boolean | Whether the candidate has raised any funds |
Committees Mode
| Field | Type | Description |
|---|---|---|
committee_id | string | FEC committee ID (e.g., C00684373) |
committee_name | string | Committee name |
committee_type | string | Committee type (Presidential, House, Senate, PAC, etc.) |
designation | string | Committee designation (Principal, Authorized, Joint, etc.) |
party | string | Party abbreviation |
party_full | string | Full party name |
state | string | State code |
treasurer_name | string | Committee treasurer name |
filing_frequency | string | Filing frequency (Monthly, Quarterly, etc.) |
organization_type | string | Organization type (Corporation, Labor, Trade, etc.) |
first_file_date | string | Date of first filing |
Contributions Mode
| Field | Type | Description |
|---|---|---|
contributor_name | string | Individual contributor full name |
contributor_employer | string | Contributor employer |
contributor_occupation | string | Contributor occupation |
contributor_city | string | Contributor city |
contributor_state | string | Contributor state code |
contributor_zip | string | Contributor ZIP code |
contribution_amount | number | Contribution amount in USD |
contribution_date | string | Date of contribution |
receipt_type | string | Receipt type description |
recipient_committee_id | string | Committee receiving the contribution |
recipient_committee_name | string | Name of committee receiving the contribution |
two_year_period | number | Two-year transaction period |
fec_url | string | URL to the original FEC filing document |
Who Uses FEC Campaign Finance Data?
- Political researchers: Track candidate fundraising totals, compare financial positions across races, and analyze PAC spending patterns
- Journalists: Investigate individual contribution records, identify top donors by employer or occupation, and follow the money in federal elections
- Compliance teams: Monitor committee filings, verify contribution limits, and audit donor activity across election cycles
- Campaign strategists: Benchmark fundraising against opponents, analyze donor demographics by state and occupation, and identify contribution trends
- Advocacy organizations: Track PAC and committee activity, monitor corporate political spending, and research donor networks
- Academic researchers: Study campaign finance trends, model election spending patterns, and analyze the relationship between fundraising and electoral outcomes
How to Use the FEC Campaign Finance Crawler
Input Parameters
| Parameter | Required | Default | Description |
|---|---|---|---|
mode | No | candidates | Crawl mode: candidates, committees, or contributions |
electionYear | No | 2026 | Election cycle year (even years: 2024, 2026, etc.) |
state | No | All | US state code (e.g., CA, NY, TX) |
party | No | All | Party filter: DEM, REP, LIB, GRE, IND |
office | No | All | Office filter (candidates mode): P (President), S (Senate), H (House) |
searchName | No | (none) | Search by candidate, committee, or contributor name |
minAmount | No | 0 | Minimum contribution amount (contributions mode) |
maxItems | No | 100 | Maximum records to return |
fecApiKey | No | DEMO_KEY | Your FEC API key (free at https://api.data.gov/signup/) |
Example Configurations
Get 2024 presidential candidates sorted by fundraising:
{"mode": "candidates","electionYear": 2024,"office": "P","maxItems": 50}
Get Democratic Senate committees in California:
{"mode": "committees","electionYear": 2024,"party": "DEM","state": "CA","maxItems": 50}
Search individual contributions by name:
{"mode": "contributions","searchName": "Smith","state": "NY","electionYear": 2024,"minAmount": 5000,"maxItems": 50}
Sample Output
Candidate Record
{"mode": "candidates","candidate_id": "P80000722","candidate_name": "TRUMP, DONALD J.","party": "REP","party_full": "Republican Party","office_full": "President","state": "US","district": "","election_year": 2024,"incumbent_challenge": "Incumbent","candidate_status": "C","total_receipts": 388537817.23,"total_disbursements": 341872942.56,"cash_on_hand": 46664874.67,"total_individual_contributions": 198723456.78,"debts_owed": 0,"coverage_end_date": "2024-09-30","has_raised_funds": true}
Contribution Record
{"mode": "contributions","contributor_name": "SMITH, JOHN","contributor_employer": "ACME CORP","contributor_occupation": "ENGINEER","contributor_city": "NEW YORK","contributor_state": "NY","contributor_zip": "10001","contribution_amount": 5600,"contribution_date": "2024-03-15","receipt_type": "15E","recipient_committee_id": "C00580100","recipient_committee_name": "HARRIS FOR PRESIDENT","two_year_period": 2024,"fec_url": "https://docquery.fec.gov/cgi-bin/fecimg/?202410159723456789"}
FEC Campaign Finance Data FAQ
How do I get campaign finance data from the FEC? Use the FEC Campaign Finance Crawler to query the official FEC API. Select a mode (candidates, committees, or contributions), apply filters for year, state, and party, and the crawler returns structured JSON records with financial data.
Do I need an API key? A free API key from https://api.data.gov/signup/ is strongly recommended. Without one, the crawler falls back to the DEMO_KEY, which is shared across all users and heavily rate-limited. With your own key, the crawler processes approximately 900 requests per hour.
How many records are in the FEC database? The FEC tracks approximately 5,000 candidates per election cycle, 88,000+ registered committees, and over 200 million individual contribution records across all cycles. New data is added daily during active filing periods.
What is the contributions mode filter requirement?
Contributions mode requires either a searchName or state filter. The FEC API does not allow unrestricted queries across the full 200M+ contribution dataset.
Does this crawler require proxies? No. The FEC API is a public US government service. No proxies, CAPTCHA solving, or special headers are required.
How long does a typical run take? With a personal API key, 100 candidates return in under a minute (single API call). Larger extractions at 900 requests/hour: 5,000 candidates take approximately 3 minutes, and 1,000 contributions take approximately 40 seconds.
How is the data paginated?
Candidates and committees use standard page-based pagination (100 results per page). Contributions use index-based cursor pagination, which the crawler handles automatically using last_index values from the FEC API.
Need a Custom Feature?
If you need additional filters, custom data transformations, or integration with your political research pipeline, file an issue or get in touch.