FEC Campaign Finance Intelligence MCP avatar

FEC Campaign Finance Intelligence MCP

Pricing

$3.00 / 1,000 result item returneds

Go to Apify Store
FEC Campaign Finance Intelligence MCP

FEC Campaign Finance Intelligence MCP

Follow the money in US politics — FEC campaign finance data via MCP.

Pricing

$3.00 / 1,000 result item returneds

Rating

0.0

(0)

Developer

Andrew Avina

Andrew Avina

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

4 days ago

Last modified

Share

fec-intelligence-mcp

Follow the money in US politics — FEC campaign finance data via MCP.

Apify Actor Data Source Category MCP Ready No API Key


What Is This?

The Federal Election Commission (FEC) collects and publishes every campaign contribution, disbursement, and fundraising report filed by candidates, PACs, and political parties in US federal elections. This data is public — but the FEC API is complex, rate-limited, and requires understanding of committee IDs, election cycles, form types, and filing schedules before you can extract useful information.

This actor wraps the FEC Open Data API into four clean, focused MCP tools: search candidates, search PACs and committees, retrieve candidate fundraising totals, and search individual contribution records. In MCP server mode, an AI assistant like Claude can answer "Who are the top donors to Senate Democrats from the finance sector in 2024?" by chaining search_committees, search_contributions, and summarizing — without you writing a single line of code.

Works with DEMO_KEY (no registration required) for moderate usage. Set your own free API key from api.data.gov in the FEC_API_KEY environment variable for higher rate limits.


Who Uses This

Political Journalists and Investigative Reporters You're covering the 2026 midterms and need to know which super PACs are spending on behalf of a specific Senate candidate. Search committees filtered by state, then pull contribution totals. Find the employers of maximum donors to understand industry alignment. Build a complete follow-the-money narrative without a political intelligence subscription.

Opposition Research Consultants You need to screen a candidate's donor base for controversial contributors, identify conflicts of interest in fundraising patterns, or compare a challenger's fundraising trajectory against incumbents at the same point in the campaign cycle. This actor gives you structured data fast.

Compliance Lawyers at Law Firms and Corporations PACs, bundlers, and corporate donors all have reporting obligations. Verify that your client's contributions are reflected accurately in FEC records. Audit whether disclosed donor lists match actual FEC filings. Cross-reference your employees against FEC contribution records to identify potential earmarking violations.

Political Scientists and Researchers You're studying money in politics — donation patterns, incumbency advantage in fundraising, PAC strategy across election cycles, or small-donor versus large-donor splits. This actor gives you machine-readable FEC data without scraping the FEC website or building your own API client.

Fintech and Financial Intelligence Platforms Enhanced due diligence for politically exposed persons (PEPs) often requires knowing whether a subject has made political contributions. Search contributions by name and employer to identify PEP-adjacent donation activity for KYC workflows.

Nonprofits and Good-Government Organizations Track PAC spending on specific races. Monitor dark money groups. Analyze whether reported spending matches independent expenditure disclosures. Publish transparency reports with structured data from the FEC's official filings.


Key Features

FeatureDetail
Data sourceFEC Open Data API v1 — official federal election finance data
CandidatesSearch by name, state, office, party, election cycle
CommitteesSearch PACs, super PACs, party committees, principal committees
Fundraising totalsTotal receipts, disbursements, cash on hand per candidate per cycle
ContributionsSchedule A — individual donor name, employer, amount, date, recipient
Election cycles1980–2026 (all available FEC data)
Rate limitsDEMO_KEY: 1,000/hr; own key: 120 req/min
429 handlingAutomatic retry with exponential backoff
MCP server modeLive tool-use in Claude Desktop, Claude Code, any MCP client
Batch modeOne-shot runs with dataset output
No key requiredDEMO_KEY works for research and moderate usage

Quick Start

Batch Mode — Search Candidates

Input:

{
"mode": "candidates",
"query": "Warren",
"office": "senate",
"party": "DEM",
"cycle": 2024,
"limit": 5
}

Output:

[
{
"candidate_id": "S2MA00170",
"name": "WARREN, ELIZABETH",
"party": "Democratic Party",
"party_code": "DEM",
"office": "Senate",
"state": "MA",
"district": null,
"election_years": [2012, 2018, 2024],
"principal_committees": ["ELIZABETH WARREN FOR SENATE"],
"incumbent_challenge": "Incumbent",
"source": "fec_open_data"
}
]

Batch Mode — Candidate Fundraising Totals

Input:

{
"mode": "totals",
"candidateId": "S2MA00170",
"cycle": 2024
}

Output:

[
{
"candidate_id": "S2MA00170",
"cycle": 2024,
"total_receipts": 24750000.00,
"total_disbursements": 18200000.00,
"cash_on_hand_end": 6550000.00,
"individual_contributions": 21800000.00,
"pac_contributions": 1200000.00,
"party_contributions": 850000.00,
"total_loans": 0,
"source": "fec_open_data"
}
]

Batch Mode — Individual Contributions

Input:

{
"mode": "contributions",
"contributorEmployer": "Goldman Sachs",
"minAmount": 2000,
"cycle": 2024,
"limit": 20
}

Output:

[
{
"contributor_name": "BLANKFEIN, LLOYD",
"contributor_employer": "GOLDMAN SACHS",
"contributor_occupation": "CEO",
"contributor_city": "NEW YORK",
"contributor_state": "NY",
"contribution_amount": 3300.00,
"contribution_date": "2024-03-15",
"recipient_committee_id": "C00575795",
"recipient_committee_name": "COMMITTEE TO ELECT...",
"cycle": 2024,
"source": "fec_open_data"
}
]

MCP Server Mode

Claude Desktop (claude_desktop_config.json):

{
"mcpServers": {
"fec-finance": {
"command": "npx",
"args": [
"apify-actor-mcp",
"--actor-id", "your-username/fec-intelligence-mcp",
"--token", "apify_api_YOURTOKEN"
],
"env": {
"FEC_API_KEY": "your_fec_api_key_here"
}
}
}
}

Then ask Claude: "Who are the top 10 Senate candidates by fundraising in the 2024 cycle?" or "What companies' employees donated the most to Republican House candidates in Florida?"


MCP Tools Exposed

search_candidates

Search FEC candidate records by name, state, office, party, and election cycle.

Arguments:

FieldTypeRequiredDescription
querystringNoCandidate name keyword
statestringNoTwo-letter state code
officestringNopresident, senate, or house
partystringNoDEM, REP, IND, LIB, GRE
cycleintegerNoElection cycle year (default 2024)
limitintegerNoMax results (default 20)

Returns: candidate_id, name, party, office, state, district, election_years, principal_committees


search_committees

Search PACs, super PACs, party committees, and principal committees.

Arguments:

FieldTypeRequiredDescription
querystringNoCommittee name keyword
committee_typestringNoType code: S=Super PAC, N=PAC, Y=State party
statestringNoState filter
cycleintegerNoElection cycle year
limitintegerNoMax results

Returns: committee_id, name, committee_type, designation, party, state, treasurer_name


get_candidate_totals

Get fundraising and spending totals for a specific candidate.

Arguments:

FieldTypeRequiredDescription
candidate_idstringYesFEC candidate ID (from search_candidates)
cycleintegerNoElection cycle year

Returns: total_receipts, total_disbursements, cash_on_hand_end, individual_contributions, pac_contributions, total_loans


search_contributions

Search individual contribution records (Schedule A filings).

Arguments:

FieldTypeRequiredDescription
contributor_namestringNoDonor name (partial match)
contributor_employerstringNoDonor employer (partial match)
min_amountnumberNoMinimum contribution amount USD
max_amountnumberNoMaximum contribution amount USD
cycleintegerNoTransaction cycle year
limitintegerNoMax results

Returns: contributor_name, employer, occupation, city, state, contribution_amount, contribution_date, recipient committee


Input Schema

FieldTypeDefaultDescription
modestring"candidates"Query type: candidates, committees, totals, contributions
querystring""Name or keyword search
statestring""State filter (two-letter code)
officestring""Office filter: president, senate, house
partystring""Party code: DEM, REP, IND, etc.
cycleinteger2024Election cycle year
candidateIdstring""FEC candidate ID (for totals mode)
contributorNamestring""Donor name (for contributions mode)
contributorEmployerstring""Donor employer (for contributions mode)
minAmountinteger0Minimum contribution amount USD
maxAmountinteger0Maximum contribution amount USD
limitinteger20Max results (max 200)
serveMcpbooleanfalseStart MCP server instead of batch run

Use Case Recipes

Recipe 1: Competitive Race Fundraising Comparison

Compare fundraising between candidates in a competitive Senate race:

Step 1: Search candidates by state and office:

{"mode": "candidates", "state": "OH", "office": "senate", "cycle": 2024}

Step 2: Get totals for each candidate_id returned:

{"mode": "totals", "candidateId": "S0OH00234", "cycle": 2024}

Outcome: Side-by-side fundraising comparison, cash-on-hand advantage, spending burn rate.


Recipe 2: Industry Donor Analysis

Find contributions from finance industry employees to a specific party:

{
"mode": "contributions",
"contributorEmployer": "BlackRock",
"minAmount": 2000,
"cycle": 2024,
"limit": 100
}

Repeat for JPMorgan, Citadel, KKR — combine datasets to map finance industry political alignment.


Recipe 3: Super PAC Landscape for a Race

Find all super PACs active in a specific state:

{
"mode": "committees",
"committee_type": "O",
"state": "PA",
"cycle": 2024,
"limit": 50
}

O = Independent expenditure only committee (classic Super PAC structure).


Recipe 4: Donor PEP Screening

For a donor named in an investment pitch: screen their political activity for reputational risk:

{
"mode": "contributions",
"contributorName": "Smith John",
"cycle": 2024,
"limit": 50
}

Cross-reference contribution amounts against legally allowed limits to flag potential violations.


Recipe 5: Historical Fundraising Trend

Compare the same candidate's fundraising across multiple cycles:

{"mode": "totals", "candidateId": "S2MA00170", "cycle": 2024}
{"mode": "totals", "candidateId": "S2MA00170", "cycle": 2018}
{"mode": "totals", "candidateId": "S2MA00170", "cycle": 2012}

Shows growth trajectory, small-donor versus PAC ratio changes, and spending efficiency over time.


Connecting to Claude Desktop / Claude Code

macOS Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json):

{
"mcpServers": {
"fec-finance": {
"command": "npx",
"args": [
"apify-actor-mcp",
"--actor-id", "your-username/fec-intelligence-mcp",
"--token", "apify_api_YOURTOKEN"
],
"env": {
"FEC_API_KEY": "your_key_from_api.data.gov"
}
}
}
}

Claude Code (project .claude/settings.json):

{
"mcpServers": {
"fec-finance": {
"command": "npx",
"args": ["apify-actor-mcp", "--actor-id", "your-username/fec-intelligence-mcp", "--token", "apify_api_YOURTOKEN"]
}
}
}

Direct HTTP (for custom MCP clients):

  • GET http://<run-url>:4321/mcp/tools — list available tools
  • POST http://<run-url>:4321/mcp/call{"name": "search_candidates", "arguments": {"query": "Biden", "cycle": 2024}}

API Key Setup

The actor works without any configuration using the DEMO_KEY rate limit (1,000 requests/hour per IP). For production use:

  1. Sign up at api.data.gov/signup/ — free, instant
  2. Set the FEC_API_KEY environment variable in the actor's configuration
  3. Your key allows 120 requests/minute — enough for heavy research workloads

Data Source and Notes

  • Source: FEC Open Data API v1 — https://api.open.fec.gov/v1/
  • Coverage: All federal candidate filings from 1980 to present
  • Update frequency: FEC data updates in near-real-time as reports are filed
  • Contribution limits (2024): Individual to candidate = $3,300/election; to national party = $41,300/year; Super PACs = unlimited
  • DEMO_KEY limits: 1,000 req/hr per IP, 10,000 req/day — suitable for research and testing
  • Rate limit handling: The actor automatically retries on HTTP 429 with exponential backoff

Pricing

VolumePrice
First 1,000 results$0.40
1,001 – 50,000 results$0.30/1k
MCP server (per session-hour)Metered by result count

Support