---
category: [Administration & Integrations, Platform and Product Extensions, Platform and Product Extensions/Integration, Administration & Integrations/Custom Integrations & Apps, Platform and Product Extensions/Workday Extend]
keyword: [Extend, Workday AI Gateway, AI Gateway]
nav: wcp_docs
parent_url: /wcp_docs/
title: Skill Extract REST APIs
layout: subsection
---

## <a id="section_20"></a>Overview

The Skill Extract REST APIs enable you to:

-   Identify and extract relevant skills from a body of text such as a resume or job description.

    The Skill Extract API provides access to the extracted skills used in the majority of machine learning skills features in Workday. These features range from skill suggestions (for workers, job requisitions, candidates, and others) to matching and suggestions across Workday applications such as Career Hub, Learning, and Recruiting.

-   Ignore irrelevant (or boilerplate) sections of input text when extracting skills.
-   Disambiguate skills based on the context around them.
-   Retrieve metadata about the extracted skills. The verbose response includes the attribution of skills based on the source location and text of the extracted skills.


Given a body of text, the Skill Extract APIs return a list of skills that are directly and indirectly mentioned in the input text. The response is a list containing the:

-   Names and descriptions of Skills Cloud canonicals or tenanted skills.
-   Relevance scores that reflect how relevant the skill is to the overall context of the input text.


Sample use cases:

-   As a people manager, you want to understand what skills an internal candidate has so you can assess whether they have the needed skills for the team.

    You can use the Skill Extract API to pass in their job description and work experience from their worker profile, and get a list of ranked skills. The results can help you assess whether they have the skills needed for your team.

    You can also use the Extract Verbose Skills API to understand exactly which phrase in the worker profile led to the extracted skills.

-   As a worker, you want to understand the skill requirements for a new flexible position or job posting.

    You can use the Skill Extract API to pass in the job description and get a list of skills mentioned in the text. The results can help you identify which skills you need to demonstrate and which skill you might need to learn.

    You can also use the Extract Verbose Skills API to understand exactly which phrase on the worker profile led to the extracted skills.



## <a id="section_urls"></a>URLs

Skill Extract API:

```
https://api.workday.com/ml/skills-cloud/{version}/extract
```

Skill Extract Verbose API:

```
https://api.workday.com/ml/skills-cloud/{version}/extract-verbose
```

<b>Note:</b> The Extract Verbose Skills API is available starting with the v2 version.

For regional URL base paths, see [Reference: Workday Extend API Gateways and Authorization Base URLs](/wcp_docs/dlh1653340161856.html).

## <a id="section_extractingSkills"></a>Extracting Skills

To extract skill information from unstructured text, call this endpoint:

```
POST {baseURL}/extract
```

In the request body, specify:

-   `text` - A string containing skills to extract. Maximum length is 10,000 characters.


The default is the English language and `en_US` locale for both the input text and output skills. If the input text needs to use a different locale, specify the `input_locale` request field. If the output skills need to use a different output locale, specify the `output_locale` request field. For valid locale code values, see [Reference: Skills Cloud Locales](/wcp_docs/GUID-b3c75508-018f-4cce-9d4d-9718cf5dfc69-enHYPHENus.html).

The `extract` endpoint identifies and extracts Skills Cloud ontology skills from the input text, and returns a list of skill objects and their relevance scores. The response contains the canonical names of the skills identified from the input text. Relevance scores are a measure of how relevant the skill is to the overall context of the input text. A relevance score isn't a measure of probability.

To get the relevance score for each extracted skill, set the `include_relevance_score` request field to true, which is the default. The relevance score is a measure of how relevant a skill is to the input context, ranging from zero to 1. A score of 1 indicates the highest relevance. Use scores only to compare the relative relevance of the results within a given API response. The API doesn't calibrate scores; don't use the scores for thresholding or comparison across APIs as they might change over time and across models. Furthermore, the effective range of the scores might vary. Example: the range of low to high relevance results could be 0.4 to 0.9 depending on the model.

The number of results has no maximum, but the results are based on the input text having a limit of 10,000 characters.

This sample request extracts skills from a given job requirement:

```
POST https://api.workday.com/ml/skills-cloud/v4/extract
```

Sample request body:

```
{"text": "Candidate knows how to code in various programming languages. Also knows data science and python"}
```

Sample response:

```
{
"data": [
  {
    "skill": {
      "id": "REMOTE_SKILL-1-119486",
      "name": "Python (Programming Language)",
      "locale": "en_US",
      "category": null,
      "description": {
        "text": "Python is a high-level, interpreted programming language that emphasizes readability with its notable use of significant whitespace. Being knowledgeable in Python may involve understanding its syntax, being able to write clean and efficient code, and having familiarity with Python's standard library as well as popular frameworks and libraries like Django, Flask, and Pandas. A professional skilled in Python can help an organization with tasks such as web and software development, data analysis and visualization, machine learning, and automation of repetitive tasks."
      },
      "is_maintained": false
    },
    "relevance_score": 0.9871
  },
  {
    "skill": {
      "id": "REMOTE_SKILL-1-25068",
      "name": "Programming Languages",
      "locale": "en_US",
      "category": null,
      "description": {
        "text": "Programming languages are the tools used by developers to write instructions for computers to execute specific tasks. Being knowledgeable in programming languages may involve understanding syntax, semantics, and paradigms of one or more languages, as well as knowing how to design, write, test, and debug code. A professional skilled in programming languages can help an organization with tasks such as developing software applications, automating processes, analyzing data, maintaining websites, and creating interactive user interfaces."
      },
      "is_maintained": false
    },
    "relevance_score": 0.9465
  },
  {
    "skill": {
      "id": "REMOTE_SKILL-1-240081",
      "name": "C (Programming Language)",
      "locale": "en_US",
      "category": null,
      "description": {
        "text": "C (Programming Language) is a high-level, general-purpose programming language that provides low-level access to memory and is widely used for system programming. Being knowledgeable in C may involve understanding its syntax, data types, and libraries, as well as being able to write, debug, and optimize C code for various applications. A professional skilled in C can help an organization with tasks such as developing system software, creating embedded systems, and optimizing performance-critical code, among other things."
      },
      "is_maintained": false
    },
    "relevance_score": 0.921
  },
  {
    "skill": {
      "id": "REMOTE_SKILL-1-102919",
      "name": "Data Science",
      "locale": "en_US",
      "category": null,
      "description": {
        "text": "Data Science is an interdisciplinary field that uses scientific methods, processes, algorithms, and systems to extract knowledge and insights from structured and unstructured data. Being knowledgeable in Data Science may involve understanding and applying statistical analysis, machine learning, predictive modeling, data mining, and programming languages like Python or R. A professional skilled in Data Science may help an organization with tasks such as identifying trends and patterns in data, making data-driven decisions, predicting future outcomes, and developing data visualization to communicate complex data in a simple and understandable way."
      },
      "is_maintained": false
    },
    "relevance_score": 0.8614
  }
]
}
```

## <a id="section_extractingSkillsMetadata"></a>Extracting Skills and Metadata

The Skill Extract Verbose API provides the same functionality as the Skill Extract API and also returns additional information about each skill.

This sample request extracts skills and their text source from a given job requirement:

```
POST https://api.workday.com/ml/skills-cloud/v4/extract-verbose
```

Sample request body:

```
{"text": "Candidate knows how to code in various programming languages. Also knows data science and python"}
```

Sample response:

```
{
"data": [
  {
    "skill": {
      "id": "REMOTE_SKILL-1-119486",
      "name": "Python (Programming Language)",
      "locale": "en_US",
      "category": null,
      "description": {
        "text": "Python is a high-level, interpreted programming language that emphasizes readability with its notable use of significant whitespace. Being knowledgeable in Python may involve understanding its syntax, being able to write clean and efficient code, and having familiarity with Python's standard library as well as popular frameworks and libraries like Django, Flask, and Pandas. A professional skilled in Python can help an organization with tasks such as web and software development, data analysis and visualization, machine learning, and automation of repetitive tasks."
      },
      "is_maintained": false
    },
    "relevance_score": 0.9871,
    "positions": [
      {
        "start": 90,
        "end": 96
      },
      {
        "start": 67,
        "end": 96
      }
    ],
    "sources_in_text": [
      "Also knows data science and python",
      "Also knows data science and python"
    ]
  },
  {
    "skill": {
      "id": "REMOTE_SKILL-1-25068",
      "name": "Programming Languages",
      "locale": "en_US",
      "category": null,
      "description": {
        "text": "Programming languages are the tools used by developers to write instructions for computers to execute specific tasks. Being knowledgeable in programming languages may involve understanding syntax, semantics, and paradigms of one or more languages, as well as knowing how to design, write, test, and debug code. A professional skilled in programming languages can help an organization with tasks such as developing software applications, automating processes, analyzing data, maintaining websites, and creating interactive user interfaces."
      },
      "is_maintained": false
    },
    "relevance_score": 0.9465,
    "positions": [
      {
        "start": 31,
        "end": 50
      }
    ],
    "sources_in_text": [
      "Candidate knows how to code in various programming languages ."
    ]
  },
  {
    "skill": {
      "id": "REMOTE_SKILL-1-240081",
      "name": "C (Programming Language)",
      "locale": "en_US",
      "category": null,
      "description": {
        "text": "C (Programming Language) is a high-level, general-purpose programming language that provides low-level access to memory and is widely used for system programming. Being knowledgeable in C may involve understanding its syntax, data types, and libraries, as well as being able to write, debug, and optimize C code for various applications. A professional skilled in C can help an organization with tasks such as developing system software, creating embedded systems, and optimizing performance-critical code, among other things."
      },
      "is_maintained": false
    },
    "relevance_score": 0.921,
    "positions": [
      {
        "start": 10,
        "end": 60
      }
    ],
    "sources_in_text": [
      "Candidate knows how to code in various programming languages ."
    ]
  },
  {
    "skill": {
      "id": "REMOTE_SKILL-1-102919",
      "name": "Data Science",
      "locale": "en_US",
      "category": null,
      "description": {
        "text": "Data Science is an interdisciplinary field that uses scientific methods, processes, algorithms, and systems to extract knowledge and insights from structured and unstructured data. Being knowledgeable in Data Science may involve understanding and applying statistical analysis, machine learning, predictive modeling, data mining, and programming languages like Python or R. A professional skilled in Data Science may help an organization with tasks such as identifying trends and patterns in data, making data-driven decisions, predicting future outcomes, and developing data visualization to communicate complex data in a simple and understandable way."
      },
      "is_maintained": false
    },
    "relevance_score": 0.8614,
    "positions": [
      {
        "start": 73,
        "end": 85
      }
    ],
    "sources_in_text": [
      "Also knows data science and python"
    ]
  }
]
}
```

## <a id="section_limitations"></a>Limitations

The Skill Extract v2 and higher versions support maintained skills, but don't support external or crowdsourced skills.

