FEC Campaign Finance Scraper - Donors, PACs & Lobbying
Pricing
from $0.55 / 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 $0.55 / 1,000 contribution / donor records
Rating
0.0
(0)
Developer
Scrape Sage
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
0
Monthly active users
6 days ago
Last modified
Categories
Share
FEC Campaign Finance Scraper — Donors, PACs, Candidates & Lobbying
Disclaimer: This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by the U.S. Federal Election Commission (FEC) or any government body. All trademarks mentioned are the property of their respective owners. "FEC" is referenced only to describe the public data source this Actor collects from.
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.gov (formerly 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.gov/filings/public/filing/140ae80b-4066-49ae-9acc-d428cc4bd65a/print/"}
How much does it cost to scrape FEC?
This Actor uses Apify's pay-per-event pricing: you are charged only for the results it delivers, with no monthly rental and no start fee. The events it can charge are:
- Contribution / donor record
- Candidate record
- Committee / PAC record (treasurer, email, phone, address)
- Disbursement record
- Independent expenditure record
- Filing record
- Lobbying filing record
The current price of each event is shown on the Pricing tab of this page. Set a maximum total charge on the run if you want a hard cap on spend, and use the input limits to control how much the Actor fetches.
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.
Agent-ready: autonomous payments (x402 & Skyfire)
This actor is agent-ready — AI agents can discover it, run it, and pay for it autonomously, with no Apify account and no human in the loop. It uses pay-per-event pricing and limited permissions, so it qualifies for Apify's agentic-payment standards:
- x402 — an open, HTTP-native payment protocol. Agents pay per run in USDC on the Base network directly through the Apify MCP server — no account, no API key.
- Skyfire — agent-to-service payments for fully autonomous AI-agent workflows.
Building an AI agent, MCP tool, or autonomous data pipeline? This scraper is ready to plug in and pay as it goes.
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 (moved from lda.senate.gov in August 2026). 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.
Data & lawful use
The source is an official public register, published so that anyone can consult it. Records can name individuals (individual contributors, candidates and committee officers), so the output may contain personal data even though it is public. If you are in the EU or UK you are the data controller for what you do with it: have a lawful basis, honour access and deletion requests, and respect the register's own reuse conditions, which can restrict marketing or commercial use. US FEC contributor information, for example, may not be sold or used to solicit contributions or for commercial purposes.
Under Apify's Standard Actor Contract, which governs your use of this Actor, you are the controller of any personal data in your input and output and scrapesage acts only as your processor: that data is processed solely to run your job, written only to your own Apify storage, never used for any other purpose and never shared onward. If you need help with a data-subject request that involves this Actor's output, open an issue on the Issues tab.
Disclaimer
This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by the U.S. Federal Election Commission (FEC) or any government body. All trademarks mentioned are the property of their respective owners.
"FEC" is referenced only in a descriptive, nominative sense - to identify the public data source this Actor collects from. This Actor is not an official product or service of the U.S. Federal Election Commission (FEC) and is not authorised or certified by it. It collects only publicly available records; you are responsible for ensuring your use of that data complies with applicable laws, regulations and the source's own terms of use or reuse conditions.
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.