---
title: "Parse a resume"
method: POST
path: "/candidates/cv/parse"
tags: ["candidates"]
---

# Parse a resume

`POST /candidates/cv/parse`

## Request

- Base URL: `https://api.smartrecruiters.com`
- URL: `https://api.smartrecruiters.com/candidates/cv/parse`
- Auth: one of:
  - API key in header `x-smarttoken`
  - OAuth 2
    - Authorization code: `https://www.smartrecruiters.com/identity/oauth/allow`
    - Token URL: `https://api.smartrecruiters.com/identity/oauth/token` scopes: `candidates_parse_resume`

Parse a resume

## Request body `multipart/form-data`

- object
  - `file` string, binary: The resume file to parse.

## Response `200`

Parsed candidate data.

- ParsedCandidateDetails
  - `firstName` string
  - `lastName` string
  - `email` string
  - `phoneNumber` string
  - `location` CandidateLocation
    - `country` string
    - `countryCode` string
    - `regionCode` string
    - `region` string
    - `city` string
    - `lat` number, float
    - `lng` number, float
  - `web` WebProfile
    - `skype` string
    - `linkedin` string
    - `facebook` string
    - `twitter` string
    - `website` string
  - `education` Education[]
    - `institution` string
    - `degree` string
    - `major` string
    - `current` boolean
    - `location` string
    - `startDate` string, when: date in YYYY, YYYY-MM or YYYY-MM-dd format, ex. "2016", "2016-11", "2016-11-29"
    - `endDate` string, when: date in YYYY, YYYY-MM or YYYY-MM-dd format, ex. "2016", "2016-11", "2016-11-29"
    - `description` string
  - `experience` Experience[]
    - `title` string
    - `company` string
    - `current` boolean
    - `startDate` string, when: date in YYYY, YYYY-MM or YYYY-MM-dd format, ex. "2016", "2016-11", "2016-11-29"
    - `endDate` string, when: date in YYYY, YYYY-MM or YYYY-MM-dd format, ex. "2016", "2016-11", "2016-11-29"
    - `location` string
    - `description` string

## Other responses

- `400`: with codes * **UNPARSABLE_RESUME** when provided resume cannot be parsed, e.g. an image * **INCOMPLETE_RESUME** when provided resume does not contain all required information to parse a candidate.
- `401`: Access denied.
- `403`: with code **PERMISSION_DENIED** when you are not permitted to parse resume
- `429`: Too many requests. Please try again later.

---

[API](https://skmtc.dev/smartrecruiters/apis/candidates-api.md) - [All operations](https://skmtc.dev/smartrecruiters/apis/candidates-api/llms.txt) - [OpenAPI document](https://skmtc.dev/smartrecruiters/apis/candidates-api/revisions/8fde9b33d46d?raw)
