| mode | No | Query mode. "itemized" returns individual expenditure records (keyset pagination). "by_candidate" returns aggregated totals per candidate by committee (page-based). | itemized |
| page | No | Page number (1-indexed) for by_candidate mode. Explicit page is rejected in itemized mode, which paginates with cursor. Defaults to 1 for by_candidate. | |
| sort | No | Sort field. A "-" prefix sorts descending: use "-expenditure_amount" for the largest outside spending first, since the ascending form leads with the most negative rows (corrections and voided entries). Itemized only; OpenFEC sorts by "-expenditure_date" when omitted. | |
| cycle | No | Two-year election cycle (e.g., 2024). Even years only. Itemized mode defaults to the current cycle when omitted — Schedule E spans all history and an unscoped scan times out upstream. Pass an explicit cycle to search an earlier period. | |
| cursor | No | Opaque pagination cursor from a previous response of this tool. Itemized mode only (keyset pagination). Valid only for an otherwise-identical call — changing any other argument, including sort, rejects the cursor; omit it to start over. | |
| max_date | No | Latest expenditure date (YYYY-MM-DD). Itemized only. | |
| min_date | No | Earliest expenditure date (YYYY-MM-DD). Itemized only. | |
| per_page | No | Results per page. | |
| is_notice | No | Only 24/48-hour notice filings (near-election spending). Itemized only. | |
| max_amount | No | Maximum expenditure amount in dollars. Itemized only. | |
| min_amount | No | Minimum expenditure amount in dollars. Itemized only. | |
| payee_name | No | Full-text payee name search. Itemized only. | |
| most_recent | No | Only the most recent version of amended filings. Itemized only — by_candidate rejects it. Defaults to true in itemized mode when omitted; pass false to see superseded versions of amended filings. | |
| candidate_id | No | Targeted candidate ID (e.g., P00003392). Get IDs from openfec_search_candidates results. | |
| committee_id | No | Spending committee ID (e.g., C00703975). Get IDs from openfec_search_committees results. | |
| support_oppose | No | S = support, O = oppose. Filter by whether the expenditure supports or opposes the candidate. | |
| candidate_party | No | Three-letter party code of the targeted candidate (e.g., DEM, REP). Itemized only — by_candidate rejects it, since the aggregate endpoint has no party filter. | |
| candidate_office | No | Office of the targeted candidate: H=House, S=Senate, P=President. In by_candidate mode this scopes a whole race: P stands alone, S also needs candidate_office_state, H also needs candidate_office_state and candidate_office_district. | |
| candidate_office_state | No | Two-letter state code of the targeted race. Required alongside candidate_office=H or candidate_office=S in by_candidate mode; leave it off for candidate_office=P, whose aggregate rows carry no state and match nothing when one is supplied. | |
| candidate_office_district | No | Two-digit House district of the targeted race (e.g., "09"). Required alongside candidate_office=H and candidate_office_state in by_candidate mode; Senate and presidential rows carry no district and match nothing when one is supplied. | |