fec API for agents (unofficial) — JSON over curl | clify
FEC.gov campaign finance data (via the public OpenFEC API at api.open.fec.gov/v1). The CLI covers candidate and committee lookups, fundraising and spending totals, itemized receipts and disbursements, outside spending, filings, elections, calendars and advisory opinions.
Host: fec.gov. Call these verified read commands with plain curl; no install, key, or account. Use the public JSON API with plain curl. No install, key, account, or browser is needed. Example: curl 'https://clify-dev.netlify.app/sites.json'. Start with /search?q=weather, then call /abc/COMMAND. Responses are one JSON object. The hosted MCP and GitHub repo are also available.
Commands
search-candidate-names
Autocomplete or search candidates by name and get their FEC candidate IDs Params: q*, api_key
curl 'https://clify-dev.netlify.app/fec/search-candidate-names?q=Ossoff'
search-committee-names
Autocomplete or search committees (campaigns, PACs, parties) by name and get their FEC committee IDs Params: q*, api_key
curl 'https://clify-dev.netlify.app/fec/search-committee-names?q=Ossoff'
list-candidate-totals
Rank candidates by money raised, spent, or cash on hand for an election year, optionally filtered by office or state (raising/spending 'by the numbers') Params: election_year*, office, state, sort, is_active_candidate, election_full, per_page, page, api_key
curl 'https://clify-dev.netlify.app/fec/list-candidate-totals?election_year=2026&office=S'
get-candidate-totals-aggregates
Get total receipts, disbursements and cash on hand summed across all candidates for an office, optionally broken down by party Params: election_year*, office, aggregate_by, is_active_candidate, election_full, api_key
curl 'https://clify-dev.netlify.app/fec/get-candidate-totals-aggregates?election_year=2026&office=S'
get-candidate-totals
Get a candidate's detailed financial totals (receipts, contributions, loans, spending, cash on hand) for an election Params: candidate_id*, cycle, election_full, api_key
curl 'https://clify-dev.netlify.app/fec/get-candidate-totals?cycle=2026'
get-candidate-committees
List a candidate's principal and authorized campaign committees for a cycle, with committee IDs, treasurer and address Params: candidate_id*, cycle*, election_full, api_key
curl 'https://clify-dev.netlify.app/fec/get-candidate-committees'
list-election-candidates
List the candidates in a specific race (President, a state's Senate seat, or a House district) with their receipts, spending and cash on hand Params: office*, cycle*, state, district, election_full, sort, per_page, page, api_key
curl 'https://clify-dev.netlify.app/fec/list-election-candidates?office=senate&cycle=2026&state=GA'
search-elections
Find the federal races (office, state, district) for a cycle by state or ZIP code Params: cycle*, state, zip, district, api_key
curl 'https://clify-dev.netlify.app/fec/search-elections?cycle=2026&state=GA&zip=90210'
list-election-dates
List upcoming (or past) federal election dates by state, office and election type Params: min_election_date, max_election_date, election_state, per_page, page, api_key
curl 'https://clify-dev.netlify.app/fec/list-election-dates?min_election_date=2026-10-18'
list-calendar-dates
List FEC calendar events (reporting deadlines, IE periods, elections, meetings) in a date range Params: min_start_date*, max_start_date*, calendar_category_id, api_key
curl 'https://clify-dev.netlify.app/fec/list-calendar-dates?min_start_date=2026-10-01&max_start_date=2026-11-01'
list-contributions-by-state
Break down a candidate's itemized individual contributions by contributor state (total and count per state) Params: candidate_id*, cycle*, election_full, per_page, page, api_key
curl 'https://clify-dev.netlify.app/fec/list-contributions-by-state?candidate_id=S8GA00180&cycle=2026'
get-contributions-by-state-total
Get a candidate's total itemized individual contributions summed across all states Params: candidate_id*, cycle*, office, election_full, api_key
curl 'https://clify-dev.netlify.app/fec/get-contributions-by-state-total?candidate_id=S6TX00479&cycle=2026&office=S'
list-contributions-by-size
Break down a candidate's individual contributions by contribution size bucket (0 = unitemized under $200, 200, 500, 1000, 2000) Params: candidate_id*, cycle*, election_full, per_page, api_key
curl 'https://clify-dev.netlify.app/fec/list-contributions-by-size?candidate_id=S8GA00180&cycle=2026'
get-advisory-opinion
Get an FEC advisory opinion's documents (date, title, PDF link) by AO number Params: ao_no*
curl 'https://clify-dev.netlify.app/fec/get-advisory-opinion'