FEC Campaign Finance Contributions Scraper
Pricing
Pay per event
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
Actor stats
0
Bookmarked
7
Total users
2
Monthly active users
3 days ago
Last modified
Categories
Share

💰 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 Audience | Use Cases |
|---|---|
| Investigative Journalists | Campaign finance investigation |
| Political Researchers | Donation pattern analysis |
| Compliance Professionals | Contribution monitoring |
| Transparency Advocates | Public accountability reporting |
| Political Campaigns | Donor research, competitive analysis |
| Academic Researchers | Political 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
| Field | Type | Required | Description |
|---|---|---|---|
| apiKey | string | No | FEC OpenFEC API key. Default: DEMO_KEY (rate-limited). Get a free key from api.open.fec.gov. |
| maxItems | integer | No | Maximum contributions to collect. Free users: limited to 10. Paid users: up to 1,000,000. |
| contributorName | string | No | Filter by contributor name (partial match supported). |
| committeeId | string | No | FEC committee ID (e.g., C00034157). |
| contributorCity | string | No | Filter by contributor city. |
| contributorState | string | No | Filter by 2-letter state code (e.g., CA, NY). |
| contributorZip | string | No | Filter by contributor ZIP code. |
| contributorEmployer | string | No | Filter by employer name (partial match). |
| contributorOccupation | string | No | Filter by occupation (partial match). |
| minDate | string | No | Minimum receipt date (YYYY-MM-DD). |
| maxDate | string | No | Maximum receipt date (YYYY-MM-DD). |
| minAmount | number | No | Minimum contribution amount in USD. |
| maxAmount | number | No | Maximum contribution amount in USD. |
| twoYearTransactionPeriod | integer | No | Two-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
| Emoji | Field | Type | Description |
|---|---|---|---|
| 💵 | contributionAmount | number | Contribution amount in USD |
| 📅 | contributionDate | string | Date contribution was received |
| 🆔 | transactionId | string | Unique transaction identifier |
| 👤 | contributorName | string | Full contributor name |
| 👤 | contributorFirstName | string | Contributor first name |
| 👤 | contributorLastName | string | Contributor last name |
| 📍 | contributorAddress | string | Contributor street address |
| 🏙️ | contributorCity | string | Contributor city |
| 🗺️ | contributorState | string | Contributor state code |
| 📮 | contributorZip | string | Contributor ZIP code |
| 🏢 | contributorEmployer | string | Contributor employer |
| 💼 | contributorOccupation | string | Contributor occupation |
| 📊 | aggregateAmount | number | Year-to-date aggregate total |
| 🏛️ | committeeId | string | FEC committee ID |
| 🏛️ | committeeName | string | Committee name |
| 🏛️ | committeeType | string | Committee type |
| 🎭 | committeeParty | string | Committee party affiliation |
| 👤 | treasurerName | string | Committee treasurer |
| 🏛️ | committeeCity | string | Committee city |
| 🏛️ | committeeState | string | Committee state |
| 📋 | filingForm | string | Filing form type |
| 📄 | reportType | string | Report type |
| 📅 | reportYear | number | Report year |
| 📋 | scheduleType | string | Schedule type |
| 🗳️ | electionType | string | Election type |
| 📅 | twoYearPeriod | number | Two-year transaction period |
| 📄 | pdfUrl | string | Link to original FEC filing PDF |
| 🔗 | contributionUrl | string | FEC contribution detail URL |
| 🔢 | fileNumber | number | FEC file number |
| 🔢 | imageNumber | string | FEC image number |
| 📝 | receiptType | string | Receipt type description |
| 📝 | lineNumber | string | Filing line number |
| 🔄 | amendmentIndicator | string | Amendment indicator |
| 📅 | scrapedAt | string | Data collection timestamp |
| ❌ | error | string | Error message if extraction failed |
📦 Sample records
✨ Why choose this Actor
| Feature | Details |
|---|---|
| 📊 50+ data fields | Contribution amounts, contributor details, committee info, filing links |
| 🔍 13 filter options | Name, committee, city, state, ZIP, employer, occupation, dates, amounts |
| 📄 PDF filing links | Direct links to original FEC filing documents for verification |
| 💵 Amount range filtering | Target specific contribution size ranges |
| 📅 Date range filtering | Focus on specific election cycles or time periods |
| 🏛️ Full committee data | Name, type, party, treasurer, location, and filing status |
| 📁 Multiple export formats | JSON, 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
| Feature | This Actor | Manual FEC Search | Generic Scrapers |
|---|---|---|---|
| 50+ structured fields | ✅ | Partial | ❌ |
| 13 filter combinations | ✅ | Limited | ❌ |
| PDF filing document links | ✅ | ✅ (one at a time) | ❌ |
| Export to CSV/JSON/Excel | ✅ | CSV only | Partial |
| Scales to 1M+ records | ✅ | ❌ | ❌ |
| No coding required | ✅ | N/A | ❌ |
| Scheduled runs | ✅ | ❌ | Partial |
Purpose-built for FEC campaign finance data, with every contribution field mapped and direct links to original filing documents.
🚀 How to use
- Create a free Apify account - Sign up here (includes free credits)
- Open the FEC Campaign Finance Contributions Scraper - Navigate to the Actor page and click "Start"
- Set your filters - Enter contributor name, committee ID, state, date range, or amount range
- Choose your limit - Set maxItems (free users: up to 10)
- 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
|
Political Research
|
|
Compliance & Legal
|
Academic & Policy Research
|
🔌 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 ApifyClientclient = 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
🔗 Recommended Actors
| Actor | Description |
|---|---|
| 🏛️ USASpending Scraper | Extract federal government spending data from USASpending.gov |
| 📄 SEC Forms Scraper | Scrape SEC filings and financial disclosures |
| 📋 SEC Form D Scraper | Extract private placement and fundraising filings from the SEC |
| 🏢 GuideStar Scraper | Collect nonprofit organization data and financials |
| 🏗️ NYC Building Permits Scraper | Extract 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.