> ## Documentation Index
> Fetch the complete documentation index at: https://developers.cutshort.io/llms.txt
> Use this file to discover all available pages before exploring further.

# GET /candidates/{id} — Look Up a Candidate by ID

> Retrieve a candidate's summary record by their Cutshort ID. Returns name, location, skills, quality score, and availability status.

Retrieve a specific candidate's summary record using their Cutshort ID. Use this endpoint to fetch fresh data after a search, or to verify candidate details before sending an invite.

## Endpoint

```http theme={null}
GET https://api.cutshort.io/v1/candidates/{id}
```

## Path Parameters

<ParamField path="id" type="string" required>
  The candidate's unique Cutshort ID (e.g., `cand_8f3kL9mN`).
</ParamField>

## Example Request

<CodeGroup>
  ```bash cURL theme={null}
  curl -X GET 'https://api.cutshort.io/v1/candidates/cand_8f3kL9mN' \
    -H 'Authorization: Bearer YOUR_API_KEY'
  ```

  ```python Python theme={null}
  import requests

  response = requests.get(
      "https://api.cutshort.io/v1/candidates/cand_8f3kL9mN",
      headers={"Authorization": "Bearer YOUR_API_KEY"}
  )
  data = response.json()
  ```
</CodeGroup>

## Response

Returns `200 OK` with the candidate's summary record.

```json theme={null}
{
  "id": "cand_8f3kL9mN",
  "name": "Priya Menon",
  "headline": "Senior Python Engineer",
  "location": "Bengaluru",
  "experience_years": 5,
  "skills": ["Python", "FastAPI", "PostgreSQL", "Docker"],
  "quality_score": 82,
  "availability": "active",
  "salary_expectation_min": 2000000,
  "salary_expectation_max": 2800000,
  "profile_url": "https://cutshort.io/candidate/priya-menon"
}
```

### Response Fields

<ResponseField name="id" type="string">
  Unique Cutshort candidate ID.
</ResponseField>

<ResponseField name="name" type="string">
  The candidate's full name.
</ResponseField>

<ResponseField name="headline" type="string">
  The candidate's professional headline or current role.
</ResponseField>

<ResponseField name="location" type="string">
  The candidate's current city or preferred work location.
</ResponseField>

<ResponseField name="experience_years" type="integer">
  Total years of professional experience.
</ResponseField>

<ResponseField name="skills" type="array">
  List of skill names associated with the candidate's profile.
</ResponseField>

<ResponseField name="quality_score" type="integer">
  AI-generated quality score from 0 to 100.
</ResponseField>

<ResponseField name="availability" type="string">
  The candidate's current job-search status. One of `active`, `open`, or `not_looking`.
</ResponseField>

<ResponseField name="salary_expectation_min" type="integer">
  Minimum expected annual salary in INR.
</ResponseField>

<ResponseField name="salary_expectation_max" type="integer">
  Maximum expected annual salary in INR.
</ResponseField>

<ResponseField name="profile_url" type="string">
  Direct URL to the candidate's full Cutshort profile.
</ResponseField>

## Error Response

If no candidate exists for the given ID, the API returns `404 Not Found`.

```json theme={null}
{
  "error": {
    "code": "not_found",
    "message": "Candidate not found."
  }
}
```
