---
title: "GET /v1/candidate/{candidate_id}/"
method: GET
path: "/v1/candidate/{candidate_id}/"
tags: ["candidate"]
---

# GET /v1/candidate/{candidate_id}/

`GET /v1/candidate/{candidate_id}/`

## Request

- Base URL: `https://api.open.fec.gov` (the document declares no server; this is the origin it was published from)
- URL: `https://api.open.fec.gov/v1/candidate/{candidate_id}/`
- Auth: API key in header `X-Api-Key` and API key in query parameter `api_key` and API key in query parameter `api_key`
- TypeScript: <https://skmtc.dev/fec/apis/openfec/docs/v1/candidate/:candidate_id/get.ts> (a function with typed inputs; its response is checked against the schema)

This endpoint is useful for finding detailed information about a particular candidate. Use the
`candidate_id` to find the most recent information about that candidate.

## Path parameters

- `candidate_id` string, required

## Query parameters

- `page` integer
- `per_page` integer
- `cycle` integer[]
- `election_year` integer[]
- `office` string[]
- `state` string[]
- `party` string[]
- `year` string
- `district` string[]
- `candidate_status` string[]
- `incumbent_challenge` string[]
- `federal_funds_flag` boolean
- `has_raised_funds` boolean
- `name` string[]
- `sort` string
- `sort_hide_null` boolean
- `sort_null_only` boolean
- `sort_nulls_last` boolean
- `api_key` string

## Response `default`

Default response

- CandidateDetailPage
  - `pagination` OffsetInfo
    - `count` integer
    - `is_count_exact` boolean
    - `page` integer
    - `pages` integer
    - `per_page` integer
  - `results` CandidateDetail[]
    - `active_through` integer, nullable: Last year a candidate was active. This field is specific to the candidate_id so if the same person runs for another office, there may be a different record for them.
    - `address_city` string, nullable: City of candidate's address, as reported on their Form 2.
    - `address_state` string, nullable: State of candidate's address, as reported on their Form 2.
    - `address_street_1` string, nullable: Street of candidate's address, as reported on their Form 2.
    - `address_street_2` string, nullable: Additional street information of candidate's address, as reported on their Form 2.
    - `address_zip` string, nullable: Zip code of candidate's address, as reported on their Form 2.
    - `candidate_first_name` string, nullable: First name of candidate running for office
    - `candidate_id` string, nullable: A unique identifier assigned to each candidate registered with the FEC. If a person runs for several offices, that person will have separate candidate IDs for each office. First character indicates office - [P]residential, [H]ouse, [S]enate]. Second character is the last digit of the two-year period the ID was created. Third and fourth is the candidate state. Presidential IDs don't have state. Fifth and sixth is the district when the candidate first ran. This does not change if the candidate/member's district changes during re-districting. Presidential IDs don't have districts. The rest is sequence.
    - `candidate_inactive` boolean, nullable: True indicates that a candidate is inactive.
    - `candidate_last_name` string, nullable: Candidate last name
    - `candidate_middle_name` string, nullable: Middle name of candidate running for office
    - `candidate_prefix` string, nullable: Name prefix of candidate running for office
    - `candidate_status` string, nullable: One-letter code explaining if the candidate is: - C present candidate - F future candidate - N not yet a candidate - P prior candidate
    - `candidate_suffix` string, nullable: Name suffix of candidate running for office
    - `cycles` integer[], nullable: Two-year election cycle in which a candidate runs for office. Calculated from Form 2. The cycle begins with an odd year and is named for its ending, even year. This cycle follows the traditional house election cycle and subdivides the presidential and Senate elections into comparable two-year blocks. To retrieve data for the entire four years of a presidential term or six years of a senatorial term, you will need the `election_full` flag.
    - `district` string, nullable: Two-digit US House distirict of the office the candidate is running for. Presidential, Senate and House at-large candidates will have District 00.
    - `district_number` integer, nullable: Two-digit US House distirict of the office the candidate is running for. Presidential, Senate and House at-large candidates will have District 00.
    - `election_districts` string[], nullable: Two-digit US House distirict of the office the candidate is running for. Presidential, Senate and House at-large candidates will have District 00.
    - `election_years` integer[], nullable: Years in which a candidate ran for office.
    - `federal_funds_flag` boolean
    - `first_file_date` string, date, nullable: The day the FEC received the candidate's first filing. This is a F2 candidate registration.
    - `flags` unknown
    - `has_raised_funds` boolean
    - `incumbent_challenge` string, nullable: One-letter code ('I', 'C', 'O') explaining if the candidate is an incumbent, a challenger, or if the seat is open.
    - `incumbent_challenge_full` string, nullable: Explains if the candidate is an incumbent, a challenger, or if the seat is open.
    - `last_f2_date` string, date, nullable: The day the FEC received the candidate's most recent Form 2
    - `last_file_date` string, date, nullable: The day the FEC received the candidate's most recent filing
    - `load_date` string, date-time, nullable: Date the information was loaded into the FEC systems. This can be affected by reseting systems and other factors, refer to receipt_date for the day that the FEC received the paper or electronic document. Keep in mind that paper filings take more time to process and there can be a lag between load_date and receipt_date. This field can be helpful to identify paper records that have been processed recently.
    - `name` string, nullable: Name of candidate running for office
    - `office` string, nullable: Federal office candidate runs for: H, S or P
    - `office_full` string, nullable: Federal office candidate runs for: House, Senate or presidential
    - `party` string, nullable: Three-letter code for the party affiliated with a candidate or committee. For example, DEM for Democratic Party and REP for Republican Party.
    - `party_full` string, nullable: Party affiliated with a candidate or committee
    - `state` string, nullable: US state or territory where a candidate runs for office

---

[API](https://skmtc.dev/fec/apis/openfec.md) - [All operations](https://skmtc.dev/fec/apis/openfec/llms.txt) - [OpenAPI document](https://skmtc.dev/fec/apis/openfec/revisions/d2eb3171e225?raw)
