FEC Campaign Finance Contributions Scraper avatar

FEC Campaign Finance Contributions Scraper

Pricing

Pay per event

Go to Apify Store
FEC Campaign Finance Contributions Scraper

FEC Campaign Finance Contributions Scraper

Extract comprehensive campaign finance contribution data from the Federal Election Commission (FEC) OpenFEC API. Retrieves contributor details (name, address, employer, occupation), committee information, contribution amounts, receipt dates, transaction IDs, and links to source PDFs.

Pricing

Pay per event

Rating

0.0

(0)

Developer

ParseForge

ParseForge

Maintained by Community

Actor stats

0

Bookmarked

7

Total users

2

Monthly active users

3 days ago

Last modified

Share

ParseForge Banner

💰 FEC Campaign Finance Contributions Scraper

🚀 Extract campaign finance contribution data from the FEC in seconds. Filter by contributor name, committee, city, state, employer, date, or amount. No coding, no complex setup required.

🕒 Last updated: 2026-04-16 · 📊 50+ fields · 🔄 Runs on Apify cloud or locally · 📁 Export: JSON, CSV, Excel

The FEC Campaign Finance Contributions Scraper extracts detailed political contribution data from the Federal Election Commission's OpenFEC API. Each record includes 50+ structured fields covering contribution amounts, dates, contributor details (name, address, employer, occupation), committee information (name, type, party, treasurer), election details, and links to original filing documents. Whether you need 10 records for a quick lookup or millions of contributions for large-scale political research, this tool handles it automatically.

Built for journalists investigating campaign finance, researchers analyzing donation patterns, political analysts tracking fundraising trends, compliance professionals monitoring contributions, and transparency advocates building public accountability tools. The scraper supports filtering by contributor name, committee ID, city, state, ZIP code, employer, occupation, date range, and amount range. Each record links back to the original FEC filing PDF for verification.

Target AudienceUse Cases
Investigative JournalistsCampaign finance investigation
Political ResearchersDonation pattern analysis
Compliance ProfessionalsContribution monitoring
Transparency AdvocatesPublic accountability reporting
Political CampaignsDonor research, competitive analysis
Academic ResearchersPolitical science studies

📋 What the FEC Campaign Finance Contributions Scraper does

  • 💵 Extracts contribution amounts and dates for tracking donation patterns, aggregate totals, and fundraising timelines
  • 👤 Collects contributor details including full name, address, city, state, ZIP code, employer, and occupation for donor profiling
  • 🏛️ Gathers committee information with committee ID, name, type, party affiliation, treasurer, and filing status
  • 📄 Links to original filings with PDF document URLs, filing form numbers, and image references for verification
  • 🗳️ Captures election details including election type, two-year transaction period, and candidate information when available
  • 📊 Tracks aggregate data with year-to-date contribution totals and amendment history for compliance monitoring

The scraper queries the FEC OpenFEC API with your specified filters, handles pagination automatically, and processes results efficiently. You can combine multiple filters for precise targeting, such as contributions from a specific employer in a specific state during a specific time period.

💡 Why it matters: The FEC database contains hundreds of millions of contribution records. Manually searching, downloading, and organizing this data is time-consuming. This scraper delivers structured, filterable data ready for analysis in minutes.


🎬 Full Demo

🚧 Coming soon...


⚙️ Input

FieldTypeRequiredDescription
apiKeystringNoFEC OpenFEC API key. Default: DEMO_KEY (rate-limited). Get a free key from api.open.fec.gov.
maxItemsintegerNoMaximum contributions to collect. Free users: limited to 10. Paid users: up to 1,000,000.
contributorNamestringNoFilter by contributor name (partial match supported).
committeeIdstringNoFEC committee ID (e.g., C00034157).
contributorCitystringNoFilter by contributor city.
contributorStatestringNoFilter by 2-letter state code (e.g., CA, NY).
contributorZipstringNoFilter by contributor ZIP code.
contributorEmployerstringNoFilter by employer name (partial match).
contributorOccupationstringNoFilter by occupation (partial match).
minDatestringNoMinimum receipt date (YYYY-MM-DD).
maxDatestringNoMaximum receipt date (YYYY-MM-DD).
minAmountnumberNoMinimum contribution amount in USD.
maxAmountnumberNoMaximum contribution amount in USD.
twoYearTransactionPeriodintegerNoTwo-year period (e.g., 2024 for 2023-2024 cycle).

Example 1: Search by contributor name

{
"contributorName": "Smith",
"contributorState": "CA",
"maxItems": 100
}

Example 2: Large contributions in a date range

{
"minAmount": 1000,
"maxAmount": 5000,
"minDate": "2024-01-01",
"maxDate": "2024-12-31",
"twoYearTransactionPeriod": 2024,
"maxItems": 500
}

⚠️ Good to Know: The default DEMO_KEY works but has lower rate limits. For faster processing, get a free API key from the FEC at api.open.fec.gov. Multiple filters can be combined for precise targeting. Free users are automatically limited to 10 items per run.


📊 Output

🧾 Schema

EmojiFieldTypeDescription
💵contributionAmountnumberContribution amount in USD
📅contributionDatestringDate contribution was received
🆔transactionIdstringUnique transaction identifier
👤contributorNamestringFull contributor name
👤contributorFirstNamestringContributor first name
👤contributorLastNamestringContributor last name
📍contributorAddressstringContributor street address
🏙️contributorCitystringContributor city
🗺️contributorStatestringContributor state code
📮contributorZipstringContributor ZIP code
🏢contributorEmployerstringContributor employer
💼contributorOccupationstringContributor occupation
📊aggregateAmountnumberYear-to-date aggregate total
🏛️committeeIdstringFEC committee ID
🏛️committeeNamestringCommittee name
🏛️committeeTypestringCommittee type
🎭committeePartystringCommittee party affiliation
👤treasurerNamestringCommittee treasurer
🏛️committeeCitystringCommittee city
🏛️committeeStatestringCommittee state
📋filingFormstringFiling form type
📄reportTypestringReport type
📅reportYearnumberReport year
📋scheduleTypestringSchedule type
🗳️electionTypestringElection type
📅twoYearPeriodnumberTwo-year transaction period
📄pdfUrlstringLink to original FEC filing PDF
🔗contributionUrlstringFEC contribution detail URL
🔢fileNumbernumberFEC file number
🔢imageNumberstringFEC image number
📝receiptTypestringReceipt type description
📝lineNumberstringFiling line number
🔄amendmentIndicatorstringAmendment indicator
📅scrapedAtstringData collection timestamp
errorstringError message if extraction failed

📦 Sample records


✨ Why choose this Actor

FeatureDetails
📊 50+ data fieldsContribution amounts, contributor details, committee info, filing links
🔍 13 filter optionsName, committee, city, state, ZIP, employer, occupation, dates, amounts
📄 PDF filing linksDirect links to original FEC filing documents for verification
💵 Amount range filteringTarget specific contribution size ranges
📅 Date range filteringFocus on specific election cycles or time periods
🏛️ Full committee dataName, type, party, treasurer, location, and filing status
📁 Multiple export formatsJSON, CSV, Excel for any workflow

📈 Typical performance: Collects 500+ contribution records per minute. A dataset of 10,000 contributions takes roughly 20 minutes.


📈 How it compares to alternatives

FeatureThis ActorManual FEC SearchGeneric Scrapers
50+ structured fieldsPartial
13 filter combinationsLimited
PDF filing document links✅ (one at a time)
Export to CSV/JSON/ExcelCSV onlyPartial
Scales to 1M+ records
No coding requiredN/A
Scheduled runsPartial

Purpose-built for FEC campaign finance data, with every contribution field mapped and direct links to original filing documents.


🚀 How to use

  1. Create a free Apify account - Sign up here (includes free credits)
  2. Open the FEC Campaign Finance Contributions Scraper - Navigate to the Actor page and click "Start"
  3. Set your filters - Enter contributor name, committee ID, state, date range, or amount range
  4. Choose your limit - Set maxItems (free users: up to 10)
  5. Run and download - Click "Start", wait for completion, then export as JSON, CSV, or Excel

⏱️ First results appear in under 15 seconds. A typical run of 100 contribution records completes in about 30 seconds.


💼 Business use cases

Investigative Journalism

  • Research donor networks and contribution patterns
  • Track large contributions by employer or industry
  • Verify candidate fundraising claims
  • Build databases for transparency reporting

Political Research

  • Analyze donation patterns by geography
  • Study contribution amounts across election cycles
  • Map donor-committee relationships
  • Track fundraising trends over time

Compliance & Legal

  • Monitor contribution limits and aggregate totals
  • Track PAC and committee filing activity
  • Verify donor identity and employment data
  • Build audit trails from filing documents

Academic & Policy Research

  • Study the influence of money in politics
  • Analyze donor demographics by occupation
  • Build datasets for political science studies
  • Track small-dollar vs. large-dollar giving trends

🔌 Automating FEC Campaign Finance Contributions Scraper

Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });
const run = await client.actor("parseforge/fec-campaign-finance-contributions-scraper").call({
contributorName: "Smith",
contributorState: "NY",
minAmount: 500,
maxItems: 200
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Python

from apify_client import ApifyClient
client = ApifyClient("YOUR_API_TOKEN")
run = client.actor("parseforge/fec-campaign-finance-contributions-scraper").call(run_input={
"contributorName": "Smith",
"contributorState": "NY",
"minAmount": 500,
"maxItems": 200
})
items = list(client.dataset(run["defaultDatasetId"]).iterate_items())
print(items)

Schedules: Set up daily or weekly runs with Apify Schedules to track new contributions, monitor specific committees, or build historical datasets across election cycles.


❓ Frequently Asked Questions


🔌 Integrate with any app

  • 🔗 Make (Integromat) - Connect FEC data to analytics dashboards or databases
  • 🔗 Zapier - Trigger alerts when new contributions match your criteria
  • 🔗 Slack - Get notified when large contributions are filed
  • 🔗 Airbyte - Sync contribution data to your data warehouse
  • 🔗 GitHub - Automate campaign finance data pipelines with GitHub Actions
  • 🔗 Google Drive - Export contribution data directly to Google Sheets

ActorDescription
🏛️ USASpending ScraperExtract federal government spending data from USASpending.gov
📄 SEC Forms ScraperScrape SEC filings and financial disclosures
📋 SEC Form D ScraperExtract private placement and fundraising filings from the SEC
🏢 GuideStar ScraperCollect nonprofit organization data and financials
🏗️ NYC Building Permits ScraperExtract building permit data from New York City

💡 Pro Tip: Combine the FEC Contributions Scraper with the USASpending Scraper to analyze the relationship between campaign contributions and federal contract awards.


🆘 Need Help? Open our contact form and we will get back to you within 24 hours. For bug reports, feature requests, or integration help, we are here to assist.


Disclaimer: This Actor is provided as-is, without warranty. It accesses public FEC data through the official OpenFEC API. The authors are not responsible for how the collected data is used. Campaign finance data is public record under federal law. Always verify data accuracy for critical applications.