---
title: "Parse Resume Text"
method: POST
path: "/api/candidates/parse-resume"
tags: ["candidates"]
---

# Parse Resume Text

`POST /api/candidates/parse-resume`

## Request

- Base URL: `https://api.thebetterhire.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.thebetterhire.ai/api/candidates/parse-resume`
- Auth: none declared

Parse resume text and extract structured data using LLM.

Rate-limited (untrusted text → per-call LLM cost). The actual parsing
lives in `_parse_resume_impl` so the file-upload path can reuse it
without going through the HTTP rate limiter.

## Request body

- ParseResumeTextRequest
  - `resume_text` string, required
  - `extract_contact` boolean

## Response `200`

Successful Response

- ParsedResume
  - `full_name` string, nullable
  - `email` string, email, nullable
  - `phone` string, nullable
  - `location` string, nullable
  - `linkedin` string, nullable
  - `github` string, nullable
  - `portfolio` string, nullable
  - `summary` string, nullable
  - `work_experience` WorkExperience[]
    - `company` string, nullable
    - `title` string, nullable
    - `start_date` string, nullable
    - `end_date` string, nullable
    - `duration_months` integer, nullable
    - `description` string, nullable
    - `key_achievements` string[]
    - `technologies` string[]
  - `total_years_experience` number, nullable
  - `education` Education[]
    - `institution` string, nullable
    - `degree` string, nullable
    - `field_of_study` string, nullable
    - `start_date` string, nullable
    - `end_date` string, nullable
    - `gpa` string, nullable
    - `honors` string[]
  - `technical_skills` string[]
  - `soft_skills` string[]
  - `languages` string[]
  - `certifications` Certification[]
    - `name` string, required
    - `issuer` string, nullable
    - `issue_date` string, nullable
    - `expiry_date` string, nullable
    - `credential_id` string, nullable
  - `number_of_companies` integer
  - `average_tenure_months` number, nullable
  - `promotions_count` integer
  - `career_progression` string
  - `parsed_at` string
  - `parser_version` string

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/thebetterhire/apis/interanalysis-b2b-api.md) · [All operations](https://skmtc.dev/thebetterhire/apis/interanalysis-b2b-api/llms.txt) · [OpenAPI document](https://skmtc.dev/thebetterhire/apis/interanalysis-b2b-api/revisions/c8ad03e900ea?raw)
