> ## 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.

# Candidates: Cutshort's Verified Tech Talent Profiles

> Understand how Cutshort represents candidates, what data is available, and how the AI quality scoring system surfaces the best-fit engineers.

In Cutshort, a candidate is a verified tech professional whose profile is enriched with validated skills, work history, education, salary expectations, and quality signals. The Cutshort API exposes this data so you can search, filter, and retrieve candidate profiles programmatically.

## Candidate data model

Every candidate object returned by the API contains the following fields:

<ResponseField name="id" type="string" required>
  Unique identifier for the candidate.
</ResponseField>

<ResponseField name="name" type="string" required>
  Candidate's full name.
</ResponseField>

<ResponseField name="headline" type="string">
  Professional headline summarising the candidate's current role and expertise.
</ResponseField>

<ResponseField name="location" type="string">
  Current city or region in India where the candidate is based.
</ResponseField>

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

<ResponseField name="skills" type="array of strings">
  Validated skill tags associated with the candidate's profile (e.g., `Python`, `React`, `AWS`).
</ResponseField>

<ResponseField name="quality_score" type="number">
  AI-computed quality score ranging from **0 to 100**, based on the candidate's accomplishments and career trajectory. Higher scores indicate stronger overall profiles.
</ResponseField>

<ResponseField name="current_company" type="string">
  Current or most recent employer.
</ResponseField>

<ResponseField name="current_role" type="string">
  Current or most recent job title.
</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="availability" type="string">
  Current job-search status. One of `active`, `open`, or `not_looking`.
</ResponseField>

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

***

## Quality scoring

Cutshort's **Quality Grader** uses AI to assign every candidate a score from 0 to 100. Unlike simple keyword matching, the Quality Grader evaluates five dimensions:

* **Company pedigree** — the calibre of organisations the candidate has worked at
* **Career trajectory** — the pace and direction of growth across roles
* **Role complexity** — the scope and impact of past responsibilities
* **Accomplishments** — quantifiable achievements stated in the profile
* **Skill depth** — breadth and specialisation across the validated skill set

This means a candidate with fewer years of experience but a strong trajectory at a well-regarded company can outscore a more tenured candidate with a flat career arc.

<Tip>
  Filter your candidate searches with `quality_score_min=70` to immediately surface high-signal candidates — those whose profiles indicate consistent career growth and meaningful accomplishments.
</Tip>

***

## Skill validation

Cutshort runs a skill-assessment program covering **30+ technical skills**, including Python, Java, React, Node.js, AWS, and DevOps tooling. When a candidate completes an assessment, the corresponding skill is marked as verified in the skill object:

```json theme={null}
{
  "skill": "Python",
  "verified": true
}
```

Verified skills give you a stronger signal that the candidate can demonstrate hands-on proficiency — not just list the technology on a résumé.

<Note>
  Skills not yet in the validation program still appear on candidate profiles but without the `verified: true` flag. You can still filter and search on unverified skills; they simply haven't been assessed yet.
</Note>

***

## Availability signals

Every candidate profile carries one of three availability states that indicate how actively they are looking for new roles:

| State         | Meaning                                                        |
| ------------- | -------------------------------------------------------------- |
| `active`      | Actively job-seeking and likely to respond quickly to outreach |
| `open`        | Open to the right opportunity but not urgently looking         |
| `not_looking` | Not currently seeking a new role                               |

<Tip>
  Target `active` and `open` candidates for faster response rates. Candidates in the `not_looking` state are less likely to engage with unsolicited invites and may slow down your sourcing cycle.
</Tip>

***

## Privacy and access

<Note>
  Full contact details — including email address and phone number — are only returned after one of the following conditions is met:

  * The candidate has **accepted an invite** from your organisation, or
  * Your organisation has **sufficient plan credits** to unlock the profile.

  The search and profile endpoints return public profile data by default. Plan your API usage and credit allocation accordingly before attempting to retrieve contact information at scale.
</Note>
