FEC Campaign Finance Scraper - Donors, PACs & Lobbying
Pricing
from $2.00 / 1,000 contribution / donor records
FEC Campaign Finance Scraper - Donors, PACs & Lobbying
Scrape US federal campaign finance from the FEC: donors (name, employer, occupation, ZIP, amount), PACs, candidates, disbursements, independent expenditures & filings - plus Senate lobbying disclosures. Filter by name, employer, state or committee. Monitor mode. Export JSON, CSV, Excel.
Pricing
from $2.00 / 1,000 contribution / donor records
Rating
0.0
(0)
Developer
Scrape Sage
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
FEC Campaign Finance Scraper — Donors, PACs, Candidates & Lobbying
Extract complete US federal campaign finance data straight from the FEC (OpenFEC) — individual donors (name, employer, occupation, ZIP, amount), PACs & committees (with treasurer, email, phone, website & address), candidates (with financial totals), disbursements, independent expenditures and filings — plus US Senate lobbying disclosures (registrant firms, clients, lobbyists, issues & spending) in the same actor.
No login, no scraping headaches — fast, structured JSON from official government data sources with 99%+ reliability. The lobbying mode works with no API key at all.
Why this campaign finance scraper?
Most FEC scrapers do one thing — dump individual contributions and stop. This actor ships the richest dataset in the category and is the only one that also covers lobbying disclosures and surfaces committee contact details as ready-to-use leads.
| Data | Typical scrapers | This actor |
|---|---|---|
| Individual donors (name, employer, occupation, ZIP, amount, YTD) | ✅ | ✅ |
| Candidates + financial totals (receipts, cash on hand, debts) | partial | ✅ |
| Committees & PACs with treasurer, email, phone, website, address | ❌ | ✅ |
| Disbursements / spending (Schedule B) | ❌ | ✅ |
| Independent expenditures — support/oppose (Schedule E) | ❌ | ✅ |
| Committee filings & financial reports + document links | ❌ | ✅ |
| US Senate lobbying disclosures (firm, client, lobbyists, issues, $) | ❌ | ✅ |
| Lead score (0–100) on every record | ❌ | ✅ |
| Monitor mode — only new records since last run | ❌ | ✅ |
| No start fee | — | ✅ |
Use cases
- Political & donor lead generation — find high-value donors by employer, occupation, location or candidate; reach committees directly via treasurer name, email and phone.
- Compliance, KYC & due diligence — screen people and organizations against FEC contributions, PAC activity and registered federal lobbying.
- Journalism & political research — follow the money: who funds whom, which Super PACs spend for or against a candidate, and who lobbies Congress on which issues.
- Opposition & competitive research — map a candidate's donors, vendors (disbursements) and the independent expenditures supporting or opposing them.
- Lobbying & government-affairs intelligence — track lobbying firms, their clients, named lobbyists and issue areas; spot new registrations.
- Market & trend analysis — aggregate contributions by employer, occupation, state or cycle for the 2024 and 2026 election cycles.
How to use
- Sign up for Apify — the free plan is enough to try this actor.
- For FEC modes, get a free api.data.gov key at api.data.gov/signup (instant, 1,000 requests/hour) and paste it into fecApiKey. The lobbying mode needs no key.
- Pick a mode, set your filters (donor name, employer, committee, candidate, state, cycle…), and click Start.
- Watch results stream into the dataset, then export as JSON, CSV, Excel, XML or RSS — or pull them via the Apify API.
Input
{"mode": "contributions","fecApiKey": "YOUR_FREE_API_DATA_GOV_KEY","contributorEmployer": "Google","contributorOccupation": "Software Engineer","state": "CA","minAmount": 200,"twoYearTransactionPeriod": 2026,"maxResults": 500,"monitorMode": false}
- mode (required) — what to scrape:
contributions— individual donors (Schedule A) — the donor lead-gen mode.candidates— federal candidates, optionally with financial totals.committees— committees & PACs with full contact details (treasurer, email, phone, website, address).disbursements— committee spending (Schedule B).independentExpenditures— Super PAC spending for/against candidates (Schedule E).filings— committee filings & financial reports.lobbying— US Senate LDA lobbying disclosures (no API key needed).
- fecApiKey — free key from api.data.gov/signup. Required for all FEC modes; the default
DEMO_KEYis shared and rate-limited (~40 req/hour) so use your own for real runs. - searchQuery — name to match (candidate name in
candidates, committee/PAC name incommittees). - contributorName / contributorEmployer / contributorOccupation — donor filters (contributions mode).
- committeeId / candidateId — scope contributions, disbursements, independent expenditures or filings to one committee or candidate.
- office / party / state / cycle — candidate filters;
statealso filters committees and donor contributions. - twoYearTransactionPeriod — even-year period for contributions/disbursements (e.g. 2026 covers 2025–2026; defaults to 2026).
- supportOppose — keep only independent expenditures that support or oppose the candidate.
- minAmount / maxAmount / minDate / maxDate — amount and date filters.
- registrantName / clientName / lobbyistName / issueCode / filingYear / filingType — lobbying filters.
- startUrls — paste fec.gov candidate/committee URLs or lda.senate.gov filing URLs to scrape directly.
- includeCandidateTotals (default true) — add receipts, cash on hand and debts to each candidate.
- includeCommitteeDetails (default true) — fetch full committee contact details (the lead data).
- maxResults (default 200) — cap per run.
- monitorMode (default false) — remember records from previous runs and emit only new ones.
Output
Every record carries a type field plus a set of normalized fields (name, amount, date, state, leadScore, url) and the full source-faithful fields for that record type.
A contribution (donor) record:
{"type": "contribution","contributorName": "Schmidt, Keith","contributorType": "individual","contributorEmployer": "Google INC.","contributorOccupation": "Software Engineer","contributorCity": "Chicago","contributorState": "IL","contributorZip": "606475211","contributionReceiptAmount": 50,"contributionReceiptDate": "2024-12-31","contributorAggregateYtd": 600,"recipientCommitteeName": "Democratic Party Of Wisconsin Federal","recipientCommitteeType": "Party - Qualified","isIndividual": true,"leadScore": 45,"url": "https://docquery.fec.gov/cgi-bin/fecimg/?202505129760929412"}
A committee / PAC record (lead data):
{"type": "committee","committeeId": "C00890293","committeeName": "American Environmental Justice PAC, LLC","committeeType": "Super PAC (Independent Expenditure-Only)","treasurerName": "Smith, Robert","email": "americanenvironmentaljustice@gmail.com","phone": "6783275898","addressStreet": "4514 Chamblee Dunwoody Road, Ste 463","addressCity": "Atlanta","state": "GA","leadScore": 80,"url": "https://www.fec.gov/data/committee/C00890293/"}
A lobbying filing record:
{"type": "lobbyingFiling","filingType": "Registration","filingYear": 2024,"registrantName": "Tarplin, Downs & Young, LLC","registrantContactName": "Jennifer B. Young","registrantContactPhone": "+1 202-555-0140","registrantCity": "Washington","registrantState": "DC","clientName": "Amazon.Com Services LLC","clientDescription": "Leading technology company","issueCodes": ["Medicare/Medicaid", "Health Issues"],"lobbyists": [{ "name": "Jane Doe", "coveredPosition": "Legislative Assistant, Rep. Smith" }],"lobbyistCount": 10,"leadScore": 75,"url": "https://lda.senate.gov/filings/public/filing/140ae80b-4066-49ae-9acc-d428cc4bd65a/print/"}
Automate & schedule
Run this actor on autopilot and pull results into your own stack:
- Apify API — start runs, fetch datasets and manage schedules over REST.
- apify-client for JavaScript and apify-client for Python — official SDKs.
- Schedules — run it daily/weekly to track new donors, filings or lobbying activity in a cycle, state or for a specific committee.
- Webhooks — trigger downstream actions (CRM import, Slack alert, compliance flag) the moment a run finishes.
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'MY_APIFY_TOKEN' });const run = await client.actor('scrapesage/fec-campaign-finance-scraper').call({mode: 'committees',searchQuery: 'climate',includeCommitteeDetails: true,maxResults: 300,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(`Got ${items.length} committee leads`);
Integrate with any app
Connect the dataset to 5,000+ apps — no code required:
- Make — multi-step automation scenarios.
- Zapier — push new donor or committee leads straight into your CRM.
- Slack — get notified when a monitored search finds new filings.
- Google Drive / Sheets — auto-export every run to a spreadsheet.
- Airbyte — pipe results into your data warehouse.
- GitHub — trigger runs from commits or releases.
Use with AI assistants (MCP)
The output is clean, LLM-ready JSON. Call this actor from Claude, ChatGPT or any agent framework through the Apify MCP server — ask your assistant to "find the top donors who work at Goldman Sachs this cycle" or "list lobbying firms working for Pfizer" and let it run this scraper.
More scrapers from scrapesage
Build a complete public-records & B2B intelligence stack:
- SAM.gov Scraper — US federal contract opportunities and contacts.
- Google Ads Transparency Scraper — who's advertising what on Google (great alongside political ad data).
- Facebook Ad Library Scraper — political and brand ad intelligence from Meta & Instagram.
- LinkedIn Jobs Scraper — job postings as hiring-intent signals.
- Product Hunt Scraper — launches, makers and leads.
- Eventbrite Scraper — events plus organizer contact leads.
- Bark Listing Scraper — service-provider leads from Bark.
Tips
- Get a free key: FEC modes use api.data.gov (1,000 req/hour, instant).
DEMO_KEYis only for quick trials — it's shared and rate-limited. - Donor leads: combine
contributorEmployerorcontributorOccupationwithstateandminAmountto build targeted, high-value prospect lists. - Committee leads:
committeesmode withincludeCommitteeDetailsreturns treasurer, email, phone and address — ideal for B2B outreach to PACs and campaigns. - Recurring monitoring: turn on
monitorModeand add a Schedule to capture only new contributions, filings or lobbying registrations each day. - Big result sets: contribution data is huge — narrow with employer/occupation/state/date filters and
maxResultsto keep runs fast and focused.
FAQ
Do I need an API key? For FEC modes (contributions, candidates, committees, disbursements, independent expenditures, filings) you need a free api.data.gov key — it takes seconds. The lobbying mode uses the keyless US Senate LDA database and needs nothing.
Where does the data come from? Official US government sources: the FEC's OpenFEC API and the US Senate Lobbying Disclosure Act database. All data is public record.
Which election cycles are covered? All of them. Contributions and disbursements are organized into two-year transaction periods (e.g. 2026, 2024, 2022); candidates and committees go back decades.
Can I export to Google Sheets, CSV or Excel? Yes — one click in the dataset view, or automatically on every run via the Google Drive integration.
Is the contact data for committees real? Yes — committee treasurer names, emails, phones and addresses come straight from the FEC's own committee records (Form 1 filings). The committees mode with includeCommitteeDetails surfaces them.
How do I monitor new filings automatically? Enable monitorMode and create a Schedule. The actor remembers what it has already returned and emits only new records each run — and it doesn't conflict with Apify Schedules.
Is this legal? This actor collects publicly available government data only. You are responsible for using it in compliance with applicable laws (including the FEC's rules that campaign-finance data may not be used to solicit contributions or for commercial purposes) and each source's terms.
A field is null — why? Some records genuinely don't include every field (e.g. a committee with no website, a lobbying filing with no listed phone). Fields are null only when the source doesn't provide the value.
Need help?
Open an issue on the actor's Issues tab, or visit the Apify help center. Feature requests are welcome — this actor is actively maintained.