FEC Campaign Finance Crawler - Candidates, PACs & Contributions avatar

FEC Campaign Finance Crawler - Candidates, PACs & Contributions

Pricing

Pay per event

Go to Apify Store
FEC Campaign Finance Crawler - Candidates, PACs & Contributions

FEC Campaign Finance Crawler - Candidates, PACs & Contributions

Crawl campaign finance data from the FEC. Extract candidates with financial summaries, committees/PACs, and individual contributions. Filter by year, state, party, and office. For political researchers, journalists, and compliance teams.

Pricing

Pay per event

Rating

0.0

(0)

Developer

BowTiedRaccoon

BowTiedRaccoon

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 days ago

Last modified

Categories

Share

Crawl campaign finance data from the Federal Election Commission (FEC) API. Extract candidates with financial summaries, committees and PACs, and individual contributions. Filter by election year, state, party, and office. Exports structured JSON for political researchers, journalists, and compliance teams.

What Does the FEC Campaign Finance Crawler Do?

The FEC Campaign Finance Crawler queries the official FEC API to extract structured campaign finance records from the Federal Election Commission's public database. The FEC tracks all federal campaign finance activity in the United States, including candidate fundraising, committee (PAC) registrations, and individual political contributions. The crawler operates in three modes, each targeting a different FEC dataset.

FEC Campaign Finance Crawler Features

  • Extracts candidate financial summaries including total receipts, disbursements, cash on hand, individual contributions, and debts owed from the /candidates/totals/ endpoint
  • Extracts committee and PAC data including committee type, designation, treasurer, filing frequency, and party affiliation from the /committees/ endpoint
  • Extracts individual contribution records including contributor name, employer, occupation, amount, date, and recipient committee from the /schedules/schedule_a/ endpoint
  • Filters by election year -- specify any federal election cycle (e.g., 2024, 2026)
  • Filters by state -- US state code filtering (e.g., CA, NY, TX)
  • Filters by party -- Democratic, Republican, Libertarian, Green, or Independent
  • Filters by office -- President, Senate, or House (candidates mode)
  • Filters by name -- search candidates, committees, or contributors by name
  • Filters by minimum amount -- set a dollar threshold for contributions
  • Handles pagination automatically -- page-based for candidates and committees, index-based cursors for contributions
  • No proxy required -- the FEC API is a public government service with no bot detection

FEC Campaign Finance Crawler Output Fields

Candidates Mode

FieldTypeDescription
candidate_idstringFEC candidate ID (e.g., P80000722)
candidate_namestringCandidate full name
partystringParty abbreviation (DEM, REP, LIB, etc.)
party_fullstringFull party name
office_fullstringOffice sought (President, Senate, House)
statestringState code
districtstringCongressional district number (House only)
election_yearnumberElection cycle year
incumbent_challengestringIncumbent/Challenger/Open seat status
candidate_statusstringCandidate status code
total_receiptsnumberTotal receipts for the cycle
total_disbursementsnumberTotal disbursements for the cycle
cash_on_handnumberCash on hand at end of reporting period
total_individual_contributionsnumberTotal itemized individual contributions
debts_owednumberDebts owed by committee
coverage_end_datestringEnd date of latest financial reporting period
has_raised_fundsbooleanWhether the candidate has raised any funds

Committees Mode

FieldTypeDescription
committee_idstringFEC committee ID (e.g., C00684373)
committee_namestringCommittee name
committee_typestringCommittee type (Presidential, House, Senate, PAC, etc.)
designationstringCommittee designation (Principal, Authorized, Joint, etc.)
partystringParty abbreviation
party_fullstringFull party name
statestringState code
treasurer_namestringCommittee treasurer name
filing_frequencystringFiling frequency (Monthly, Quarterly, etc.)
organization_typestringOrganization type (Corporation, Labor, Trade, etc.)
first_file_datestringDate of first filing

Contributions Mode

FieldTypeDescription
contributor_namestringIndividual contributor full name
contributor_employerstringContributor employer
contributor_occupationstringContributor occupation
contributor_citystringContributor city
contributor_statestringContributor state code
contributor_zipstringContributor ZIP code
contribution_amountnumberContribution amount in USD
contribution_datestringDate of contribution
receipt_typestringReceipt type description
recipient_committee_idstringCommittee receiving the contribution
recipient_committee_namestringName of committee receiving the contribution
two_year_periodnumberTwo-year transaction period
fec_urlstringURL to the original FEC filing document

Who Uses FEC Campaign Finance Data?

  • Political researchers: Track candidate fundraising totals, compare financial positions across races, and analyze PAC spending patterns
  • Journalists: Investigate individual contribution records, identify top donors by employer or occupation, and follow the money in federal elections
  • Compliance teams: Monitor committee filings, verify contribution limits, and audit donor activity across election cycles
  • Campaign strategists: Benchmark fundraising against opponents, analyze donor demographics by state and occupation, and identify contribution trends
  • Advocacy organizations: Track PAC and committee activity, monitor corporate political spending, and research donor networks
  • Academic researchers: Study campaign finance trends, model election spending patterns, and analyze the relationship between fundraising and electoral outcomes

How to Use the FEC Campaign Finance Crawler

Input Parameters

ParameterRequiredDefaultDescription
modeNocandidatesCrawl mode: candidates, committees, or contributions
electionYearNo2026Election cycle year (even years: 2024, 2026, etc.)
stateNoAllUS state code (e.g., CA, NY, TX)
partyNoAllParty filter: DEM, REP, LIB, GRE, IND
officeNoAllOffice filter (candidates mode): P (President), S (Senate), H (House)
searchNameNo(none)Search by candidate, committee, or contributor name
minAmountNo0Minimum contribution amount (contributions mode)
maxItemsNo100Maximum records to return
fecApiKeyNoDEMO_KEYYour FEC API key (free at https://api.data.gov/signup/)

Example Configurations

Get 2024 presidential candidates sorted by fundraising:

{
"mode": "candidates",
"electionYear": 2024,
"office": "P",
"maxItems": 50
}

Get Democratic Senate committees in California:

{
"mode": "committees",
"electionYear": 2024,
"party": "DEM",
"state": "CA",
"maxItems": 50
}

Search individual contributions by name:

{
"mode": "contributions",
"searchName": "Smith",
"state": "NY",
"electionYear": 2024,
"minAmount": 5000,
"maxItems": 50
}

Sample Output

Candidate Record

{
"mode": "candidates",
"candidate_id": "P80000722",
"candidate_name": "TRUMP, DONALD J.",
"party": "REP",
"party_full": "Republican Party",
"office_full": "President",
"state": "US",
"district": "",
"election_year": 2024,
"incumbent_challenge": "Incumbent",
"candidate_status": "C",
"total_receipts": 388537817.23,
"total_disbursements": 341872942.56,
"cash_on_hand": 46664874.67,
"total_individual_contributions": 198723456.78,
"debts_owed": 0,
"coverage_end_date": "2024-09-30",
"has_raised_funds": true
}

Contribution Record

{
"mode": "contributions",
"contributor_name": "SMITH, JOHN",
"contributor_employer": "ACME CORP",
"contributor_occupation": "ENGINEER",
"contributor_city": "NEW YORK",
"contributor_state": "NY",
"contributor_zip": "10001",
"contribution_amount": 5600,
"contribution_date": "2024-03-15",
"receipt_type": "15E",
"recipient_committee_id": "C00580100",
"recipient_committee_name": "HARRIS FOR PRESIDENT",
"two_year_period": 2024,
"fec_url": "https://docquery.fec.gov/cgi-bin/fecimg/?202410159723456789"
}

FEC Campaign Finance Data FAQ

How do I get campaign finance data from the FEC? Use the FEC Campaign Finance Crawler to query the official FEC API. Select a mode (candidates, committees, or contributions), apply filters for year, state, and party, and the crawler returns structured JSON records with financial data.

Do I need an API key? A free API key from https://api.data.gov/signup/ is strongly recommended. Without one, the crawler falls back to the DEMO_KEY, which is shared across all users and heavily rate-limited. With your own key, the crawler processes approximately 900 requests per hour.

How many records are in the FEC database? The FEC tracks approximately 5,000 candidates per election cycle, 88,000+ registered committees, and over 200 million individual contribution records across all cycles. New data is added daily during active filing periods.

What is the contributions mode filter requirement? Contributions mode requires either a searchName or state filter. The FEC API does not allow unrestricted queries across the full 200M+ contribution dataset.

Does this crawler require proxies? No. The FEC API is a public US government service. No proxies, CAPTCHA solving, or special headers are required.

How long does a typical run take? With a personal API key, 100 candidates return in under a minute (single API call). Larger extractions at 900 requests/hour: 5,000 candidates take approximately 3 minutes, and 1,000 contributions take approximately 40 seconds.

How is the data paginated? Candidates and committees use standard page-based pagination (100 results per page). Contributions use index-based cursor pagination, which the crawler handles automatically using last_index values from the FEC API.

Need a Custom Feature?

If you need additional filters, custom data transformations, or integration with your political research pipeline, file an issue or get in touch.