---
title: "Search through parsed job descriptions"
method: POST
path: "/v3/job_description_search"
tags: ["Search & Match"]
---

# Search through parsed job descriptions

`POST /v3/job_description_search`

Searches through parsed job descriptions. You can search with custom criterias or a resume.

## Query parameters

- `offset` integer
- `limit` integer

## Request body

- JobDescriptionSearchParameters, nullable
  - `indices` string[], required
  - `resume` string — A random string that uniquely identify the resource.
  - `jobTitles` string[]
  - `jobTitlesRequired` boolean
  - `jobTitlesWeight` number
  - `totalYearsExperience` number, nullable
  - `yearsExperienceRequired` boolean
  - `yearsExperienceWeight` number
  - `locations` ResumeSearchParametersLocation[]
    - `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
  - `degrees` string[]
  - `degreesRequired` boolean
  - `degreeTypes` EducationLevel[]
  - `degreeTypesRequired` boolean
  - `educationWeight` number
  - `searchExpression` string, nullable
  - `searchExpressionRequired` boolean
  - `searchExpressionWeight` number
  - `socCodes` integer[]
  - `socCodesWeight` number
  - `socCodesRequired` boolean
  - `managementLevel` 'None' | 'Low' | 'Mid' | 'Upper', nullable
  - `managementLevelRequired` boolean
  - `managementLevelWeight` number
  - `customData` SearchParametersCustomData[]
    - `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

- JobDescriptionSearch
  - `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` JobDescriptionSearchParameters, nullable
    - `indices` string[], required
    - `resume` string — A random string that uniquely identify the resource.
    - `jobTitles` string[]
    - `jobTitlesRequired` boolean
    - `jobTitlesWeight` number
    - `totalYearsExperience` number, nullable
    - `yearsExperienceRequired` boolean
    - `yearsExperienceWeight` number
    - `locations` ResumeSearchParametersLocation[]
      - `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
    - `degrees` string[]
    - `degreesRequired` boolean
    - `degreeTypes` EducationLevel[]
    - `degreeTypesRequired` boolean
    - `educationWeight` number
    - `searchExpression` string, nullable
    - `searchExpressionRequired` boolean
    - `searchExpressionWeight` number
    - `socCodes` integer[]
    - `socCodesWeight` number
    - `socCodesRequired` boolean
    - `managementLevel` 'None' | 'Low' | 'Mid' | 'Upper', nullable
    - `managementLevelRequired` boolean
    - `managementLevelWeight` number
    - `customData` SearchParametersCustomData[]
      - `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` JobDescriptionSearchResult[]
    - `identifier` string, required — A random string that uniquely identify the resource.
    - `score` number, required
    - `pdf` string, nullable, required
    - `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
      - `value` string
      - `label` string, required
      - `score` number, nullable
    - `searchExpression` SearchExpressionSearchScoreComponent, required
      - `label` string, required
      - `value` string
      - `score` number, nullable
    - `organizationName` string, nullable, required
    - `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)
