FEC Campaign Finance Scraper
Pricing
from $1.80 / 1,000 result scrapeds
FEC Campaign Finance Scraper
Scrape US federal campaign finance from the official OpenFEC API as clean JSON — search candidates & committees, or pull itemized Schedule A contributions for a committee. No login, no browser needed. Works in Claude, ChatGPT & any MCP agent.
Pricing
from $1.80 / 1,000 result scrapeds
Rating
0.0
(0)
Developer
The Mine Works
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
18 hours ago
Last modified
Categories
Share
FEC Campaign Finance Scraper — Candidates, Committees & Itemized Contributions
Scrape US federal campaign finance straight from the official OpenFEC API as clean, structured JSON. No login, no browser — pure HTTP against the same public data source that powers fec.gov itself.
✅ Official FEC data | ✅ No proxy needed | ✅ Candidates, committees & itemized donations | ✅ MCP-ready for AI agents
Built for political journalism, opposition research, campaign compliance, donor and PAC research, and any RAG/agent pipeline that needs a live feed of who's raising and spending money in US federal elections.
Reliability posture: empty searches and failed runs are never charged. You only pay for a result actually delivered.
What it does — three modes
| Mode | What you get | You provide |
|---|---|---|
candidates | Federal candidates matching a name — ID, party, office, state, district, incumbent/challenger status, election years | query |
committees | Political committees / PACs matching a name — ID, type, party, state, treasurer | query |
contributions | Itemized individual contributions (Schedule A) for one committee — contributor name, employer, occupation, state, amount, date | committeeId |
🔑 Bring your own free API key (optional for small tests)
apiKey defaults to FEC's public DEMO_KEY, which works for quick tests but is heavily rate-limited. For any real volume, get a free key in seconds:
- Go to https://api.data.gov/signup/.
- Fill in name + email, submit.
- Copy the key from the confirmation page/email and paste it into the
apiKeyfield.
The key is marked secret — this actor never stores or shares it.
🧾 Input configuration
{"mode": "candidates","query": "Warren","maxResults": 25}
Itemized contributions for a specific committee:
{"mode": "contributions","committeeId": "C00401224","maxResults": 50,"apiKey": "YOUR_FREE_API_DATA_GOV_KEY"}
| Input | Description |
|---|---|
mode | Required. candidates, committees, or contributions. |
query | Name to search — for candidates or committees modes. |
committeeId | FEC committee ID (e.g. C00401224) — required for contributions mode. Find it via committees mode first. |
apiKey | Your free api.data.gov key. Defaults to DEMO_KEY for small tests. |
maxResults | Rows to return (1–100). Default 25. |
📤 Output format (one row per result)
Candidate:
{"_mode": "candidate","candidate_id": "S8MA00017","name": "WARREN, ELIZABETH","party": "Democratic Party","office": "Senate","state": "MA","incumbent_challenge": "Incumbent","election_years": [2012, 2018, 2024],"scraped_at": "2026-07-31T12:00:00.000Z"}
Committee:
{"_mode": "committee","committee_id": "C00401224","name": "ACTBLUE","committee_type": "Independent Expenditure-Only Committee (Super PAC)","party": "","state": "MA","treasurer_name": "SMITH, JOHN","scraped_at": "2026-07-31T12:00:00.000Z"}
Contribution:
{"_mode": "contribution","contributor_name": "SMITH, JANE","contributor_employer": "SELF","contributor_occupation": "ATTORNEY","contributor_state": "CA","amount": 250.0,"date": "2024-03-11","recipient_committee": "ACTBLUE","scraped_at": "2026-07-31T12:00:00.000Z"}
💼 Common use cases
Political journalism and opposition research — pull a candidate's full committee network and itemized donor list in one call, instead of clicking through fec.gov page by page.
Donor and PAC research — search committees by name, then drill into Schedule A itemized contributions to see who's actually funding them.
Campaign finance compliance monitoring — watch a committee's contribution feed on a schedule to flag large or unusual donations early.
Academic and data-journalism research — build datasets of candidate, committee, and contribution data for election-finance studies without hand-scraping fec.gov.
AI research agents — give a political-research copilot live FEC data via MCP so it can answer "who funds this candidate?" or "what committees is this donor giving to?"
🚀 Getting started
- Pick a
mode. - For
candidates/committees, setqueryto the name you're searching. - For
contributions, setcommitteeId(find it via acommitteessearch first). - Optionally add your free
apiKeyfor higher rate limits, setmaxResults, then click Start. - Download the dataset as JSON, CSV, or Excel, or pull it via API or MCP.
Run on a schedule
Apify Console → this Actor → Schedules → Add schedule → pick a cadence (e.g. daily) → Save. It reruns with the same input automatically — useful for watching a committee's contribution feed over an election cycle.
FAQ
Do I need an API key? No — DEMO_KEY works for small tests. For real volume, get a free api.data.gov key (see above); it removes DEMO_KEY's tight rate limit.
How much does it cost? You pay per result actually delivered (tiered — cheaper the more you run). Empty searches and failed runs cost nothing.
Is this official data? Yes — served straight from the official OpenFEC API (api.open.fec.gov), the Federal Election Commission's own public data source.
Can I look up a specific committee's donors directly? Yes — use committees mode to find the committee's ID, then contributions mode with that committeeId.
How current is the data? OpenFEC reflects FEC filings as they're processed — the same source and freshness as fec.gov itself.
Use in Claude, ChatGPT & any MCP agent
https://mcp.apify.com/?tools=themineworks/fec-campaign-finance
Or call it programmatically:
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });const run = await client.actor('themineworks/fec-campaign-finance').call({mode: 'candidates',query: 'Warren',maxResults: 25,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Data source: Federal Election Commission via api.open.fec.gov. Public-domain US government data. This is an independent tool and is not affiliated with or endorsed by the FEC.