FEC Campaign Finance Scraper avatar

FEC Campaign Finance Scraper

Pricing

from $1.80 / 1,000 result scrapeds

Go to Apify Store
FEC Campaign Finance Scraper

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

The Mine Works

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

18 hours ago

Last modified

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

ModeWhat you getYou provide
candidatesFederal candidates matching a name — ID, party, office, state, district, incumbent/challenger status, election yearsquery
committeesPolitical committees / PACs matching a name — ID, type, party, state, treasurerquery
contributionsItemized individual contributions (Schedule A) for one committee — contributor name, employer, occupation, state, amount, datecommitteeId

🔑 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:

  1. Go to https://api.data.gov/signup/.
  2. Fill in name + email, submit.
  3. Copy the key from the confirmation page/email and paste it into the apiKey field.

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"
}
InputDescription
modeRequired. candidates, committees, or contributions.
queryName to search — for candidates or committees modes.
committeeIdFEC committee ID (e.g. C00401224) — required for contributions mode. Find it via committees mode first.
apiKeyYour free api.data.gov key. Defaults to DEMO_KEY for small tests.
maxResultsRows 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

  1. Pick a mode.
  2. For candidates/committees, set query to the name you're searching.
  3. For contributions, set committeeId (find it via a committees search first).
  4. Optionally add your free apiKey for higher rate limits, set maxResults, then click Start.
  5. 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.