FEC Campaign Finance | 3 Modes, Official API, No Key avatar

FEC Campaign Finance | 3 Modes, Official API, No Key

Pricing

from $1.80 / 1,000 result scrapeds

Go to Apify Store
FEC Campaign Finance | 3 Modes, Official API, No Key

FEC Campaign Finance | 3 Modes, Official API, No Key

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

1

Total users

1

Monthly active users

15 hours ago

Last modified

Categories

Share

FEC Campaign Finance: 3 Modes, Official API, No Key

Pay only for results delivered. Browse all Actors.

💰 From $1.80 / 1,000 results.

Pull US federal campaign finance data from the official OpenFEC API as clean, flat JSON. Three modes from one input: search candidates, search committees, or pull itemized individual contributions (Schedule A).

This is an official government API, not a scraping target. No login, and no API key needed for small runs, a free key from api.data.gov only raises the rate limit.

Why use this FEC scraper

  • Three modes, one actor. mode switches between candidates, committees and itemized contributions without changing anything else.
  • Flattened output. OpenFEC returns deeply nested pagination envelopes; every row here is flat and ready for a spreadsheet, a database or an embedding pipeline.
  • Official source. Data comes from the FEC itself, so it is citable for journalism and research.
  • Every row carries _mode, so mixed datasets stay separable.

Search federal candidates by name

{
"mode": "candidates",
"query": "Warren",
"maxResults": 25
}

Returns candidate ID, party, office, state, district, incumbent-or-challenger status and election years.

Search political committees and PACs

{
"mode": "committees",
"query": "Environment",
"maxResults": 50
}

Returns committee ID, type, party, state and treasurer name.

Pull itemized individual contributions to a committee

This is the mode most reporting is built on. Contributions are itemized, one row each.

{
"mode": "contributions",
"committeeId": "C00401224",
"maxResults": 200
}

Returns contributor name, employer, occupation and state, plus amount, date and the recipient committee.

Use a free api.data.gov key for larger pulls

Optional. Without a key you share a lower rate limit; with one, large contribution pulls are far more reliable.

{
"mode": "contributions",
"committeeId": "C00401224",
"apiKey": "your_free_api_data_gov_key",
"maxResults": 1000
}

What data does the FEC scraper return

Candidate mode, _mode, candidate_id, name, party, office, state, district, incumbent_challenge, election_years, scraped_at.

Committee mode, _mode, committee_id, name, committee_type, party, state, treasurer_name, scraped_at.

Contribution mode, _mode, contributor_name, contributor_employer, contributor_occupation, contributor_state, amount, date, recipient_committee, scraped_at.

How the FEC scraper works

The actor calls the FEC's own OpenFEC endpoints, /candidates/search/, /committees/ and /schedules/schedule_a/, pages through the results, normalises each record to a flat shape and writes one dataset row per result.

OpenFEC rate limits aggressively and occasionally returns 429 or 5xx under load. The actor retries those with backoff rather than failing the run, and a run that ultimately returns nothing writes a diagnostic record and is not charged.

Because the source is an official API rather than a rendered page, there is no anti-bot surface, no proxy requirement and nothing that breaks when a website is redesigned.

What people build with FEC data

Campaign finance journalism, itemized contributions by employer and occupation are how most "who funds this candidate" stories get written.

Compliance and diligence, screening a donor or executive against federal contribution records.

Political research and RAG, flat, citable rows are straightforward to embed and query with an LLM.

Donor and employer network analysis, contributor_employer and contributor_occupation across a committee reveal the industries behind a campaign.

FEC scraper FAQ

Do I need an API key? Not for small runs. A free key from api.data.gov raises the rate limit and is worth setting for large contribution pulls.

Where does the data come from? The Federal Election Commission's own OpenFEC API. Nothing is scraped from a rendered page.

How do I find a committee ID? Run committees mode first and search by name; the committee_id it returns is what contributions mode takes.

How current is it? As current as the FEC's own filings. Committees file on statutory schedules, so recent activity appears after the relevant filing deadline.

Can I get contributions by contributor name rather than by committee? This actor's contribution mode is keyed on committeeId, which is how Schedule A is organised. To go the other way, pull a committee's contributions and filter on contributor_name downstream.

Is this only federal, or does it cover state races too? Federal only. The FEC's jurisdiction is federal candidates and committees; state and local filings live with individual state agencies.

Are corporate donations included? Schedule A covers itemized individual contributions. Direct corporate contributions to federal candidates are prohibited, so what you see in contributor_employer is the employer of an individual donor, not a corporate gift.

Can I use it inside an AI agent? Yes. It is exposed as an MCP tool, and flat citable rows make it well suited to research and RAG pipelines.

What does it cost? Pay per result delivered, see the Pricing tab for the current rate. A run that returns no results is not charged.

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.

Last verified: 2026-08