---
title: "Search through parsed resumes"
method: POST
path: "/v3/resume_search"
tags: ["Search & Match"]
---

# Search through parsed resumes

`POST /v3/resume_search`

Searches through parsed resumes. Users have 3 options to create a search:<br /><br /> 1.	Match to a job description - a parsed job description is used to find candidates that suit it<br /> 2.	Match to a resume - a parsed resume is used to find other candidates that have similar attributes<br /> 3.	Search using custom criteria<br /><br /> Users should only populate 1 of jobDescription, resume or the custom criteria.

## Query parameters

- `offset` integer
- `limit` integer

## Request body

- ResumeSearchParameters
  - `indices` string[], required
  - `jobDescription` string — A random string that uniquely identify the resource.
  - `resume` string — A random string that uniquely identify the resource.
  - `jobTitles` string[]
  - `jobTitlesCurrentOnly` boolean — Search only through the canditate's current job
  - `jobTitlesRequired` boolean
  - `jobTitlesWeight` number
  - `yearsExperienceMin` integer, nullable — Minimum years of total work experience
  - `yearsExperienceMax` integer, nullable — Maximum years of total work experience
  - `yearsExperienceRequired` boolean
  - `yearsExperienceWeight` number
  - `locations` ResumeSearchParametersLocation[] — Search by location name or by coordinates
    - `name` string
    - `coordinates` object, nullable
      - `latitude` number, nullable
      - `longitude` number, nullable
    - `distance` integer
    - `unit` 'km' | 'mi'
  - `locationsWeight` number
  - `locationsRequired` boolean
  - `skills` ResumeSearchParametersSkill[]
    - `name` string
    - `required` boolean
  - `skillsWeight` number
  - `languages` ResumeSearchParametersSkill[]
    - `name` string
    - `required` boolean
  - `languagesWeight` number
  - `institutions` string[]
  - `institutionsRequired` boolean
  - `degrees` string[]
  - `degreesRequired` boolean
  - `highestDegreeTypes` EducationLevel[]
  - `highestDegreeTypesRequired` boolean
  - `isCurrentStudent` boolean — Search for student canditates
  - `isCurrentStudentRequired` boolean
  - `isRecentGraduate` boolean — Search for canditates that graduated less than a year ago
  - `isRecentGraduateRequired` boolean
  - `educationWeight` number
  - `searchExpression` string, nullable — Search through resumes' raw text
  - `searchExpressionRequired` boolean
  - `searchExpressionWeight` number
  - `socCodes` integer[]
  - `socCodesWeight` number
  - `socCodesRequired` boolean
  - `managementLevel` 'None' | 'Low' | 'Mid' | 'Upper', nullable
  - `managementLevelRequired` boolean
  - `managementLevelWeight` number
  - `customData` ResumeSearchParametersCustomData[]
    - `filterType` 'equals' | 'range', required — Data points of "text" type support only "equals" filterType, others support both "equals" and "range"
    - `dataPoint` string, nullable — The data point's slug, used for portal v2 (deprecated)
    - `field` string, nullable — The field's slug
    - `query` object, required — "equals" searches require the "value" key inside the query, and "range" searches require at least one of "gte" (greater than or equal) and "lte" (less than or equal)
    - `required` boolean
    - `weight` number

## Response `201`

Will return matching documents

- ResumeSearch
  - `count` integer — Total number of results
  - `next` string, nullable — URL to request next page of results
  - `previous` string, nullable — URL to request previous page of results
  - `parameters` ResumeSearchParameters
    - `indices` string[], required
    - `jobDescription` string — A random string that uniquely identify the resource.
    - `resume` string — A random string that uniquely identify the resource.
    - `jobTitles` string[]
    - `jobTitlesCurrentOnly` boolean — Search only through the canditate's current job
    - `jobTitlesRequired` boolean
    - `jobTitlesWeight` number
    - `yearsExperienceMin` integer, nullable — Minimum years of total work experience
    - `yearsExperienceMax` integer, nullable — Maximum years of total work experience
    - `yearsExperienceRequired` boolean
    - `yearsExperienceWeight` number
    - `locations` ResumeSearchParametersLocation[] — Search by location name or by coordinates
      - `name` string
      - `coordinates` object, nullable
        - `latitude` number, nullable
        - `longitude` number, nullable
      - `distance` integer
      - `unit` 'km' | 'mi'
    - `locationsWeight` number
    - `locationsRequired` boolean
    - `skills` ResumeSearchParametersSkill[]
      - `name` string
      - `required` boolean
    - `skillsWeight` number
    - `languages` ResumeSearchParametersSkill[]
      - `name` string
      - `required` boolean
    - `languagesWeight` number
    - `institutions` string[]
    - `institutionsRequired` boolean
    - `degrees` string[]
    - `degreesRequired` boolean
    - `highestDegreeTypes` EducationLevel[]
    - `highestDegreeTypesRequired` boolean
    - `isCurrentStudent` boolean — Search for student canditates
    - `isCurrentStudentRequired` boolean
    - `isRecentGraduate` boolean — Search for canditates that graduated less than a year ago
    - `isRecentGraduateRequired` boolean
    - `educationWeight` number
    - `searchExpression` string, nullable — Search through resumes' raw text
    - `searchExpressionRequired` boolean
    - `searchExpressionWeight` number
    - `socCodes` integer[]
    - `socCodesWeight` number
    - `socCodesRequired` boolean
    - `managementLevel` 'None' | 'Low' | 'Mid' | 'Upper', nullable
    - `managementLevelRequired` boolean
    - `managementLevelWeight` number
    - `customData` ResumeSearchParametersCustomData[]
      - `filterType` 'equals' | 'range', required — Data points of "text" type support only "equals" filterType, others support both "equals" and "range"
      - `dataPoint` string, nullable — The data point's slug, used for portal v2 (deprecated)
      - `field` string, nullable — The field's slug
      - `query` object, required — "equals" searches require the "value" key inside the query, and "range" searches require at least one of "gte" (greater than or equal) and "lte" (less than or equal)
      - `required` boolean
      - `weight` number
  - `results` ResumeSearchResult[]
    - `identifier` string, required — A random string that uniquely identify the resource.
    - `score` number, required
    - `pdf` string, nullable, required
    - `name` string
    - `jobTitle` JobTitleSearchScoreComponent, required
      - `value` string
      - `label` string, required
      - `score` number, nullable
    - `managementLevel` ManagementLevelSearchScoreComponent, required
      - `value` string
      - `label` string, required
      - `score` number, nullable
    - `experience` ExperienceSearchScoreComponent, required
      - `value` string
      - `label` string, required
      - `score` number, nullable
    - `skills` SkillsSearchScoreComponent, required
      - `value` string
      - `label` string, required
      - `score` number, nullable
    - `languages` LanguagesSearchScoreComponent, required
      - `value` string
      - `label` string, required
      - `score` number, nullable
    - `location` LocationSearchScoreComponent, required
      - `value` string
      - `label` string, required
      - `score` number, nullable
    - `education` EducationSearchScoreComponent, required
      - `value` string
      - `label` string, required
      - `score` number, nullable
    - `occupationGroup` OccupationGroupSearchScoreComponent, required
      - `value` string
      - `label` string, required
      - `score` number, nullable
    - `searchExpression` SearchExpressionSearchScoreComponent, required
      - `label` string, required
      - `value` string
      - `score` number, nullable
    - `customData` CustomDataSearchScoreComponent, required

## Other responses

- `400` — Bad request. If it is a validation error will contain a list of each invalid field
- `401` — Authorisation error
- `default` — UnexpectedError

---

[API](https://skmtc.net/affinda/apis/affinda-api-2.md) · [All operations](https://skmtc.net/affinda/apis/affinda-api-2/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/affinda/affinda-api-2/versions/6772e50cb58e/schema)
