Open documentation ↗Overview
This application programming interface (API) allows you to explore the way candidates and committees fund their campaigns. The Federal Election Commission (FEC) API is a RESTful web service supporting full-text and field-specific searches on FEC data. [Bulk downloads](https://www.fec.gov/data/advanced/?tab=bulk-data) are available on the current site. Information is tied to the underlying forms by file ID and image ID. Data is updated nightly. There are a lot of data, and a good place to start is to use search to find interesting candidates and committees. Then, you can use their IDs to find report or line item details with the other endpoints. If you are interested in individual donors, check out contributor information in the `/schedule_a/` endpoints. <b class="body" id="getting_started_head">Getting started with the openFEC API</b><br> If you would like to use the FEC's API programmatically, you can sign up for your own API key using our form. Alternatively, you can still try out our API without an API key by using the web interface and using DEMO_KEY. Note that when you use the openFEC API you are subject to the [Terms of Service](https://github.com/fecgov/FEC/blob/master/TERMS-OF-SERVICE.md) and [Acceptable Use policy](https://github.com/fecgov/FEC/blob/master/ACCEPTABLE-USE-POLICY.md). Signing up for an API key will enable you to place up to 1,000 calls an hour. Each call is limited to 100 results per page. You can email questions, comments or a request to get a key for 7,200 calls an hour (120 calls per minute) to <a href="mailto:[email protected]">[email protected]</a>. You can also ask questions and discuss the data in a community led [group](https://groups.google.com/forum/#!forum/fec-data). The model definitions and schema are available at [/swagger](/swagger/). This is useful for making wrappers and exploring the data. A few restrictions limit the way you can use FEC data. For example, you can’t use contributor lists for commercial purposes or to solicit donations. [Learn more here](https://www.fec.gov/updates/sale-or-use-contributor-information/). [Inspect our source code](https://github.com/fecgov/openFEC). We welcome issues and pull requests! <p><br></p> <h2 class="title" id="signup_head">Sign up for an API key</h2> <div id="apidatagov_signup">Loading signup form...</div>
OpenFEC is an open data API from fec.gov. Requests are authenticated with an API key. It is served over HTTPS. Its OpenAPI description documents 91 endpoints.
At a glance
- Authentication
- API key
- HTTPS
- Yes
- CORS
- Unknown
- Category
- Open Data
- Version
- 1.0
- Endpoints
- 91
- OpenAPI
- Specification ↗
- Spec updated
- 2023-03-06
Endpoints
| Method | Path | What it does |
|---|---|---|
| GET | /audit-case/ | — |
| GET | /audit-category/ | — |
| GET | /audit-primary-category/ | — |
| GET | /calendar-dates/ | — |
| GET | /calendar-dates/export/ | — |
| GET | /candidate/{candidate_id}/ | — |
| GET | /candidate/{candidate_id}/committees/ | — |
| GET | /candidate/{candidate_id}/committees/history/ | — |
| GET | /candidate/{candidate_id}/committees/history/{cycle}/ | — |
| GET | /candidate/{candidate_id}/filings/ | — |
| GET | /candidate/{candidate_id}/history/ | — |
| GET | /candidate/{candidate_id}/history/{cycle}/ | — |
| GET | /candidate/{candidate_id}/totals/ | — |
| GET | /candidates/ | — |
| GET | /candidates/search/ | — |
| GET | /candidates/totals/ | — |
| GET | /candidates/totals/aggregates/ | Candidate total receipts and disbursements aggregated by `aggregate_by`. |
| GET | /candidates/totals/by_office/ | Aggregated candidate receipts and disbursements grouped by office by cycle. |
| GET | /candidates/totals/by_office/by_party/ | Aggregated candidate receipts and disbursements grouped by office by party by cycle. |
| GET | /committee/{committee_id}/ | — |
| GET | /committee/{committee_id}/candidates/ | — |
| GET | /committee/{committee_id}/candidates/history/ | — |
| GET | /committee/{committee_id}/candidates/history/{cycle}/ | — |
| GET | /committee/{committee_id}/filings/ | — |
| GET | /committee/{committee_id}/history/ | — |
| GET | /committee/{committee_id}/history/{cycle}/ | — |
| GET | /committee/{committee_id}/reports/ | — |
| GET | /committee/{committee_id}/totals/ | — |
| GET | /committees/ | — |
| GET | /communication_costs/ | — |
| GET | /communication_costs/aggregates/ | Communication cost aggregated by candidate ID and committee ID. |
| GET | /communication_costs/by_candidate/ | Communication cost aggregated by candidate ID and committee ID. |
| GET | /communication_costs/totals/by_candidate/ | — |
| GET | /efile/filings/ | Basic information about electronic files coming into the FEC, posted as they are received. |
| GET | /efile/reports/house-senate/ | — |
| GET | /efile/reports/pac-party/ | — |
| GET | /efile/reports/presidential/ | — |
| GET | /election-dates/ | — |
| GET | /electioneering/ | — |
| GET | /electioneering/aggregates/ | Electioneering communications costs aggregates |
| GET | /electioneering/by_candidate/ | Electioneering costs aggregated by candidate |
| GET | /electioneering/totals/by_candidate/ | — |
| GET | /elections/ | — |
| GET | /elections/search/ | — |
| GET | /elections/summary/ | — |
| GET | /filings/ | — |
| GET | /legal/search/ | — |
| GET | /names/audit_candidates/ | — |
| GET | /names/audit_committees/ | — |
| GET | /names/candidates/ | — |
| GET | /names/committees/ | — |
| GET | /operations-log/ | — |
| GET | /presidential/contributions/by_candidate/ | — |
| GET | /presidential/contributions/by_size/ | — |
| GET | /presidential/contributions/by_state/ | — |
| GET | /presidential/coverage_end_date/ | — |
| GET | /presidential/financial_summary/ | — |
| GET | /rad-analyst/ | — |
| GET | /reporting-dates/ | — |
| GET | /reports/{entity_type}/ | — |
| GET | /schedules/schedule_a/ | — |
| GET | /schedules/schedule_a/by_employer/ | — |
| GET | /schedules/schedule_a/by_occupation/ | — |
| GET | /schedules/schedule_a/by_size/ | — |
| GET | /schedules/schedule_a/by_size/by_candidate/ | — |
| GET | /schedules/schedule_a/by_state/ | — |
| GET | /schedules/schedule_a/by_state/by_candidate/ | — |
| GET | /schedules/schedule_a/by_state/by_candidate/totals/ | — |
| GET | /schedules/schedule_a/by_state/totals/ | — |
| GET | /schedules/schedule_a/by_zip/ | — |
| GET | /schedules/schedule_a/efile/ | — |
| GET | /schedules/schedule_a/{sub_id}/ | — |
| GET | /schedules/schedule_b/ | — |
| GET | /schedules/schedule_b/by_purpose/ | — |
| GET | /schedules/schedule_b/by_recipient/ | — |
| GET | /schedules/schedule_b/by_recipient_id/ | — |
| GET | /schedules/schedule_b/efile/ | — |
| GET | /schedules/schedule_b/{sub_id}/ | — |
| GET | /schedules/schedule_c/ | — |
| GET | /schedules/schedule_c/{sub_id}/ | — |
| GET | /schedules/schedule_d/ | — |
| GET | /schedules/schedule_d/{sub_id}/ | — |
| GET | /schedules/schedule_e/ | — |
| GET | /schedules/schedule_e/by_candidate/ | — |
| GET | /schedules/schedule_e/efile/ | — |
| GET | /schedules/schedule_e/totals/by_candidate/ | — |
| GET | /schedules/schedule_f/ | — |
| GET | /schedules/schedule_f/{sub_id}/ | — |
| GET | /state-election-office/ | — |
| GET | /totals/by_entity/ | — |
| GET | /totals/{entity_type}/ | — |
Questions
Does the OpenFEC API need an API key?
Yes. The OpenFEC API uses API key authentication; the documentation explains how to get credentials.
Does the OpenFEC API support HTTPS?
Yes, the OpenFEC API is served over HTTPS.
How many endpoints does the OpenFEC API have?
Its OpenAPI description lists 91 endpoints in version 1.0. All of them are shown on this page.
What are alternatives to the OpenFEC API?
Other Open Data APIs include Search Services, Wayback API, Wikipedia, Nasdaq Data Link, University of Oslo.
Similar open data APIs
Compare alternatives →Search Services
Open DataAPI for Internet Archive's Search-related services
Wayback API
Open DataAPI for Internet Archive's Wayback Machine
Wikipedia
Open DataMediawiki Encyclopedia
Nasdaq Data Link
Open DataThe source for financial, economic, and alternative datasets, serving investment professionals.
University of Oslo
Open DataCourses, lecture videos, detailed information for courses etc. for the University of Oslo (Norway)
Data API
Open DataServes the Clever Data API
Listed from APIs.guru (CC0).