FEC Campaign Finance Data Scraper
Pricing
from $3.00 / 1,000 results
FEC Campaign Finance Data Scraper
Scrape US campaign finance data from the Federal Election Commission (FEC) - candidates, committees, contributions, and expenditures. Replaces OpenSecrets (API discontinued April 2025). Free official FEC API, no registration required.
Pricing
from $3.00 / 1,000 results
Rating
0.0
(0)
Developer
Crawler Bros
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Extract US campaign finance data from the Federal Election Commission (FEC) — the official source for candidate filings, committee disclosures, contribution receipts, and expenditure data. This actor replaces OpenSecrets (API discontinued April 2025) and uses the free official FEC public REST API.
What You Get
- Candidates — name, party, office, state, election years, incumbent status, and FEC profile URL
- Committees — PACs, party committees, Super PACs with treasurer, type, designation, and filing info
- Receipts — individual and PAC contributions with contributor info, amounts, dates, and election type
- Disbursements — campaign expenditures with recipient, amount, date, and description
- Candidate Totals — aggregated financial summaries: total raised, total spent, cash on hand per candidate
Data Source
All data is sourced from the official FEC REST API (api.open.fec.gov/v1) maintained by the Federal Election Commission. The API is free to use without registration using the built-in DEMO_KEY (30 requests/hour). Register a free key at api.data.gov for higher rate limits.
Input
| Field | Type | Description |
|---|---|---|
mode | Select | What to fetch: searchCandidates, searchCommittees, receipts, disbursements, candidateTotals |
office | Select | Filter by office: P (President), S (Senate), H (House) |
electionYear | Select | Filter by election cycle: 2016–2024 |
party | Select | Filter by party: DEM, REP, IND, LIB, GRN |
state | Select | Filter by 2-letter US state abbreviation |
contributorState | Select | Filter receipts by contributor's state (mode=receipts only) |
committeeType | Select | Filter committees by type — PAC, Super PAC, Party, etc. |
apiKey | Text | FEC API key — uses DEMO_KEY by default (30 req/hr). Register at api.data.gov for higher limits. |
maxItems | Integer | Maximum records to return (1–2000, default 50) |
Modes
searchCandidates — Search and list candidates
Returns candidates filtered by office, year, party, and state.
{"mode": "searchCandidates","office": "P","electionYear": "2024","maxItems": 50}
searchCommittees — Search political committees
Returns PACs, party committees, Super PACs, and candidate campaign committees.
{"mode": "searchCommittees","committeeType": "U","state": "CA","maxItems": 50}
receipts — Get campaign contribution receipts
Returns individual contributions and PAC receipts with contributor details.
{"mode": "receipts","electionYear": "2024","contributorState": "TX","maxItems": 100}
disbursements — Get campaign expenditures
Returns money spent by campaigns with recipient details and descriptions.
{"mode": "disbursements","electionYear": "2024","maxItems": 100}
candidateTotals — Get campaign finance summaries
Returns aggregated financial totals per candidate including money raised, spent, and cash on hand.
{"mode": "candidateTotals","office": "P","electionYear": "2024","maxItems": 50}
Output Fields
Candidates
| Field | Description |
|---|---|
name | Candidate's full name |
candidateId | FEC candidate ID (e.g., P80001571) |
party | Party code (DEM, REP, IND, etc.) |
partyFull | Full party name |
office | Office sought (P/S/H) |
officeFull | Full office name |
state | State abbreviation |
district | Congressional district (House candidates) |
electionYears | List of election years active |
incumbentChallenge | I (Incumbent), C (Challenger), O (Open Seat) |
incumbentChallengeFull | Full incumbent/challenger designation |
candidateStatus | C (statutory), N (non-statutory), P (pending) |
firstFileDate | Date of first FEC filing |
url | FEC candidate profile URL |
Committees
| Field | Description |
|---|---|
name | Committee name |
committeeId | FEC committee ID (e.g., C00703975) |
committeeType | Single-letter type code |
committeeTypeFull | Full committee type description |
party | Party affiliation |
state | State of registration |
city | City of registration |
zipCode | ZIP code |
treasurerName | Committee treasurer |
filingFrequency | Filing frequency (M=Monthly, Q=Quarterly, etc.) |
designation | Committee designation code |
designationFull | Full designation description |
url | FEC committee profile URL |
Receipts (Contributions)
| Field | Description |
|---|---|
contributorName | Full contributor name |
contributorFirstName | First name |
contributorLastName | Last name |
contributorCity | City |
contributorState | State |
contributorZip | ZIP code |
contributorEmployer | Employer name |
contributorOccupation | Occupation |
contributionReceiptAmount | Dollar amount |
contributionReceiptDate | Date (YYYY-MM-DD) |
recipientName | Receiving committee name |
recipientCommitteeId | FEC committee ID of recipient |
fecElectionTypeDesc | Election type (PRIMARY, GENERAL, etc.) |
reportYear | Report year |
transactionId | FEC transaction ID |
url | Recipient committee FEC URL |
Disbursements (Expenditures)
| Field | Description |
|---|---|
recipientName | Who received the payment |
recipientCity | Recipient city |
recipientState | Recipient state |
disbursementAmount | Dollar amount |
disbursementDate | Date (YYYY-MM-DD) |
disbursementDescription | Purpose description |
spenderName | Spending committee name |
spenderCommitteeId | FEC committee ID of spender |
transactionId | FEC transaction ID |
url | Spender committee FEC URL |
Candidate Totals
| Field | Description |
|---|---|
name | Candidate name |
candidateId | FEC candidate ID |
party | Party code |
office | Office sought |
electionYear | Election cycle year |
totalReceipts | Total money raised |
totalDisbursements | Total money spent |
cashOnHandEndPeriod | Cash on hand at end of period |
individualItemizedContributions | Total individual contributions |
incumbentChallenge | Incumbent/Challenger/Open |
url | FEC candidate profile URL |
Example Output Record (Candidate Total)
{"name": "BIDEN, JOSEPH R JR","candidateId": "P80001571","party": "DEM","partyFull": "DEMOCRATIC PARTY","office": "P","officeFull": "President","state": "US","electionYear": 2024,"totalReceipts": 123456789.50,"totalDisbursements": 98765432.10,"cashOnHandEndPeriod": 24691357.40,"incumbentChallenge": "I","incumbentChallengeFull": "Incumbent","url": "https://www.fec.gov/data/candidate/P80001571/","recordType": "candidateTotals","scrapedAt": "2025-05-25T10:30:00+00:00"}
Use Cases
- Political research — Track campaign finance activity across elections and candidates
- Journalism — Investigate donor networks, PAC spending, and campaign war chests
- Compliance monitoring — Track competitor or allied committee spending
- Academic research — Analyze fundraising patterns, party spending, and donor geography
- Civic tech — Build donor lookup tools or campaign finance dashboards
- Lobbying intelligence — Monitor industry PAC contributions to key legislators
Rate Limits
The default DEMO_KEY allows 30 requests per hour. For higher throughput:
- Register a free API key at api.data.gov
- Enter your key in the
apiKeyfield - The actor automatically slows requests when using
DEMO_KEYto stay within limits
FAQ
Q: Is registration required?
No. The DEMO_KEY works out of the box with no signup required.
Q: How current is the data? FEC data is updated as committees submit filings. Major committees file monthly or quarterly; others file around election deadlines.
Q: What do committee type codes mean?
P— Presidential campaign committeeH— House campaign committeeS— Senate campaign committeeQ— Qualified PACU— Super PAC (Independent Expenditure-Only)X/Y— Party committees (non-qualified / qualified)
Q: What are incumbent challenge codes?
I— IncumbentC— ChallengerO— Open seat (no incumbent running)
Q: Can I filter receipts by contributor? Currently you can filter by contributor state. Additional filters may be added in future versions.
Q: What years of data are available? The FEC API includes data back to the 1970s. Election years available: 2016, 2018, 2020, 2022, 2024.