Overview
The FEC (Federal Election Commission) API lets you explore campaign finance data from US federal elections, including donations, candidate financials, and committee information. You need a free API key from api.data.gov to get started. This API is great for journalists, researchers, and civic tech developers who want to follow the money in US politics.
Beginner Tip
Register for a free API key at api.data.gov/signup and you'll be approved instantly. The interactive documentation at api.open.fec.gov/developers lets you try every endpoint in your browser before writing any code.
Available Data
The kind of data this API exposes, based on its documentation. We could not call the endpoint to confirm the exact field names.
Example Response
Illustrative shape only — we were not able to call this endpoint (it requires credentials or exposes no public sample URL), so the fields below show the kind of data this API returns rather than a recorded response.
{
"name": "Japan",
"capital": "Tokyo",
"population": 125800000,
"region": "Asia",
"languages": [
"Japanese"
],
"flag": "https://flagcdn.com/jp.svg",
"currencies": [
{
"code": "JPY",
"name": "Japanese yen"
}
]
} Field Reference
results Array of candidate or financial record objects matching the query name Full name of the candidate office Federal office sought: P for President, S for Senate, H for House party Political party abbreviation (e.g., DEM, REP) total_receipts Total campaign contributions received in dollars pagination Object containing count, page, pages, and per_page for navigating large result sets Implementation Example
Calls a real endpoint of this API. Replace any placeholder credentials with your own key.
const url = "https://api.open.fec.gov/v1/candidates/?api_key=YOUR_API_KEY&election_year=2024&office=P&per_page=5";
// Replace headers or query params with the values required by this API.
const response = await fetch(url, {
headers: {
"X-API-Key": "YOUR_API_KEY"
}
});
if (!response.ok) throw new Error(`Request failed: ${response.status}`);
const data = await response.json();
console.log(data); What Can You Build?
Note: These code examples are AI-generated and unverified. Always refer to the official API documentation for accurate usage.
Common Errors & Troubleshooting
Generated guidance based on this API's documentation, not observed by us. Treat it as a starting point and check against the provider's own error reference.
Metadata Score Breakdown
Estimated from metadata — endpoint not independently tested
Metadata estimate · endpoint not independently tested
Technical Specifications
Related Tags
Similar APIs
View All →City, Nantes Open Data
City, Nantes Open Data gives developers access to datasets published by Nantes Métropole in France, covering transport, environment, and urban planning.
Code.gov
Code.gov is the U.S.
Data.gov
⭐ Beginner's PickData.gov is the central repository for open data published by U.S.
Deutscher Bundestag DIP
Deutscher Bundestag DIP (Dokumentations- und Informationssystem) provides read access to official German Bundestag data including parliamentary activities, printed materials, persons, and procedures.
Interpol Red Notices
⭐ Beginner's PickThe Interpol Red Notices API provides free access to Interpol's public database of Red Notices, which are international requests to locate and arrest wanted persons.