KeyVex
Campaign finance & influence

Independent Expenditures

Returns FEC Schedule E independent expenditures — money spent BY a super PAC (or IE-only PAC) uncoordinatedly FOR or AGAINST a federal candidate. Hallmark vehicle for political ad spending since Citizens United (2010).

EndpointGET /v1/fec-independent-expenditures
SourceFEC Schedule E
Authx-api-key — a free key works

What it returns

One record per result. Fields (from a live response):

Filters

sub_idFEC sub_id (globally unique row ID). Direct doc lookup.
committee_idFEC committee that spent the money (typically a super PAC).
candidate_idTarget candidate being supported or opposed.
support_oppose'S' = filter to ads supporting the target; 'O' = filter to ads opposing. Omit for both.
payee_nameCase-insensitive substring on the payee_name (ad agency, media buyer, vendor). Client-side filter.
descriptionCase-insensitive substring on disbursement_description (free-text purpose of the spend, e.g., 'tv ad', 'mailer', 'digital advertising'). Client-side…
candidate_officeOffice of the target candidate: H/S/P.
candidate_office_state2-letter state code of the target candidate (e.g., 'PA', 'TX').
min_amountInclusive lower bound on expenditure_amount in dollars.
max_amountInclusive upper bound on expenditure_amount.
sinceInclusive lower bound on expenditure_date (YYYY-MM-DD).
untilInclusive upper bound on expenditure_date (YYYY-MM-DD).
cycleElection cycle (2-year transaction period), e.g. 2026/2024/2022. INCOMPLETE — the FEC leaves this field (two_year_transaction_period) null on many…
exclude_memosWhen true (DEFAULT), filters out rows flagged memoed_subtotal=true — FEC's aggregate / receipt-account duplicates that double-count the same dollars…
sort_bySort key. Default: expenditure_date.
sort_orderDefault: desc.
limitMax records. Default 50, max 500.

Example request

curl "https://api.keyvex.com/v1/fec-independent-expenditures?limit=1" \
  -H "x-api-key: YOUR_KEY"

Response

{
  "results": [
    {
      "payee_zip": "12207",
      "candidate_office_district": "12",
      "expenditure_amount": 35000,
      "source_url": "https://www.fec.gov/data/independent-expenditures/?committee_id=C00946830",
      "candidate_id": "H6NY12214",
      "date_corrected": false,
      "file_number": 1986306,
      "committee_name": "YOU CAN PUSH BACK",
      "two_year_transaction_period": null,
      "image_number": "202606229874230677",
      "memoed_subtotal": false,
      "payee_city": "NEW YORK",
      "payee_state": "NY",
      "support_oppose_indicator": "S",
      "candidate_name": "BORES, ALEXANDER",
      "candidate_office_state": "NY",
      "category_code_full": "Advertising Expenses ",
      "committee_type": "O",
      "filing_form": "F24",
      "transaction_id": "WFT20265221314-1",
      "committee_designation": "U",
      "category_code": "004",
      "dissemination_date": "2026-06-22",
      "expenditure_date_source": null,
      "sub_id": "4062220261522096140",
      "amendment_indicator": "N",
      "date_correction_basis": null,
      "report_type": "24",
      "disbursement_description": "",
      "expenditure_date": "2026-06-22",
      "candidate_office": "H",
      "scraped_at": "2026-06-23T11:45:32.099Z",
      "candidate_party": "DEM",
      "payee_name": "WEIRD LLC",
      "report_year": null,
      "election_type": "P2026",
      "committee_id": "C00946830"
    }
  ],
  "count": 1,
  "has_more": true
}

Example questions you can answer

Related datasets

Query Independent Expenditures from your AI

Hand any AI your key + the OpenAPI spec and it can pull this dataset directly. Free key = full data, 60 requests/day.

Get a free key OpenAPI spec → REST docs →
← All 60+ datasets