Register for a free API key at api.open.fec.gov/developers/; include it as the api_key query parameter on every request.
To find candidates, call GET https://api.open.fec.gov/v1/candidates/ with parameters such as cycle=2026, office=H or office=S, and party to filter by election cycle, office, and party affiliation.
To retrieve financial totals for a candidate, call GET https://api.open.fec.gov/v1/candidates/{candidate_id}/totals/ which returns raised, spent, and cash-on-hand figures aggregated by cycle.
To search individual contributions (Schedule A), call GET https://api.open.fec.gov/v1/schedules/schedule_a/ with filters such as contributor_name, recipient_committee_id, or two_year_transaction_period=2026.
Paginate using the per_page parameter (max 100) and the last_index value from each response to retrieve subsequent pages; the API uses cursor-based pagination for schedule endpoints.
Data is updated nightly; for real-time filing data use the raw filing endpoints or subscribe to FEC RSS feeds, as the processed API endpoints may lag by up to 24 hours.
Known gotchas
The two_year_transaction_period parameter for Schedule A covers a 2-year election cycle (e.g., 2026 covers January 2025 through December 2026) — filtering by cycle year alone will return more data than a single calendar year.
Schedule A and Schedule B endpoints use cursor-based pagination with last_index rather than page-number pagination; using page numbers on these endpoints returns an error or inconsistent results.
The DEMO_KEY public API key is subject to very low rate limits; register for a personal API key before building any production or high-volume query workflow.
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp