Microproduct data guideintermediate

FEC Campaign Finance Data

Federal candidate and committee receipts, disbursements, and filings for building campaign-finance monitors that stay inside FEC use limits.

At a glance

Difficulty
Intermediate — some data preparation helps
Size
Medium · ≤1 GB
Formats
JSON, CSV
Access
API or Download
API key
Required
Provider
Federal Election Commission
Updates
Daily

From source to product signal

Test a product idea in four steps

The OpenFEC API exposes candidate and committee financial totals from FEC reports. Start with active House candidate totals for one cycle, sorted by receipts. Do not build products from individual contributor lists; FEC law prohibits selling or using that information to solicit donations or for commercial purposes.

1

Check the setup

  • Python 3.10 or newer
  • A notebook environment such as Jupyter or Google Colab
  • A free api.data.gov key saved in the DATA_GOV_API_KEY environment variable
2

Access the data

  1. 1.Register for a free api.data.gov key and save it in the DATA_GOV_API_KEY environment variable.
  2. 2.Read the FEC sale-or-use restriction before choosing any contributor endpoint.
  3. 3.Request a bounded page of candidate totals for one office and cycle.
Open official source
3

Run the Python example

Install the packages, then run the notebook cell.

python -m pip install pandas requests

import os
import pandas as pd
import requests

response = requests.get(
    "https://api.open.fec.gov/v1/candidates/totals/",
    params={
        "api_key": os.environ["DATA_GOV_API_KEY"],
        "cycle": 2024,
        "office": "H",
        "is_active_candidate": "true",
        "sort": "-receipts",
        "per_page": 20,
    },
    timeout=30,
)
response.raise_for_status()
totals = pd.DataFrame(response.json()["results"])
totals["retrieved_at_utc"] = pd.Timestamp.now(tz="UTC")
print(totals[["name", "party_full", "state", "receipts", "disbursements"]].head(20))
4

Test a useful signal

Rank House candidates by reported receipts

Identify which active House candidates reported the largest receipts in one election cycle.

  1. 01Confirm the totals endpoint returned committee-level receipts and disbursements, not contributor names.
  2. 02Rank the bounded page by receipts and compare disbursements for the same candidates.
  3. 03State that individual contributor information from FEC reports cannot be sold or used to solicit donations or for commercial purposes.

Dataset details

Federal Election Commission is a government source. Last verified 2026-08-14. Temporal coverage: federal election cycles with nightly processed updates.

Theme

Government & Policy

Domains

ElectionsCampaign FinancePublic Policy

Data types

TabularTime SeriesTransaction Data

Tasks

Legislative MonitoringTrend AnalysisMarket Monitoring

Geography

United States

Formats

JSONCSV

Provider

Federal Election Commission

Data terms

FEC API terms and sale-or-use restriction on contributor information