Skills Use Cases - Structure
Lightcast Skills APIs help you extract, standardize, and analyze skill data across structured and unstructured inputs. They allow you to convert raw or ambiguous skill information into standardized skills from the Lightcast taxonomy, enabling consistent data, better matching, and more reliable analytics.
Use Cases
Skill Classification
Skill data is often inconsistent or ambiguous, especially when sourced from user input or external systems. The Skill Classification API maps raw skill terms, optionally enriched with descriptions to standardized skills in the Lightcast taxonomy.
When a request is submitted, each term is evaluated and matched against the taxonomy, returning one or more possible matches ranked by confidence. This allows you to resolve ambiguity (for example, distinguishing between different meanings of “Framing”) and consistently represent skills using canonical IDs.
See the Skills Classification API Reference for full request parameters and response details.
When to Use
- You have structured or semi-structured skill inputs
- You need to standardize skills before storing or matching
- You want to resolve ambiguous terms using context
Endpoint
curl --request POST \
--url https://classification.emsicloud.com/classifications/2025.10/skills/classify \
--header 'Authorization: Bearer <ACCESS_TOKEN>' \
--header 'Content-Type: application/json' \
--data '{ "skills": [ { "name": "Docker", "description": "A type of container for software" }, { "name": "Framing", "description": "Constructing the frame of a house" }, { "name": "Framing", "description": "Putting pictures in a frame" } ], "limit": 2, "fields": [ "id", "name", "levelName", "level", "parentId" ] }'🔗 Try this endpoint in real-time
Sample Request
Sample Response
{
"data": [
{
"term": "Docker",
"count": 2,
"results": [
{
"confidence": 1,
"concept": {
"id": "KSY4WFI1S164RQUBSPCC",
"levelName": "Skill",
"name": "Docker (Software)",
"parentId": "476",
"level": 2
}
},
{
"confidence": 0.7516252398490906,
"concept": {
"id": "KS6J3XWZEB5IQYXJE27M",
"levelName": "Skill",
"name": "Docker Container",
"parentId": "476",
"level": 2
}
}
]
},
{
"term": "Framing",
"count": 2,
"results": [
{
"confidence": 0.7239595055580139,
"concept": {
"id": "KS124376BRZDJ0CZ79VT",
"levelName": "Skill",
"name": "Framing (Construction)",
"parentId": "140",
"level": 2
}
},
{
"confidence": 0.7095146179199219,
"concept": {
"id": "ES43860FADFFC025A09D",
"levelName": "Skill",
"name": "Framing And Trim",
"parentId": "131",
"level": 2
}
}
]
},
{
"term": "Framing",
"count": 2,
"results": [
{
"confidence": 0.7729793787002563,
"concept": {
"id": "KS127TX62KW7J6C5SJK2",
"levelName": "Skill",
"name": "Picture Framing",
"parentId": "539",
"level": 2
}
},
{
"confidence": 0.6218518614768982,
"concept": {
"id": "ES43860FADFFC025A09D",
"levelName": "Skill",
"name": "Framing And Trim",
"parentId": "131",
"level": 2
}
}
]
}
],
"warnings": []
}Additional Resources
- Skills Classification API Reference
- Skills Extraction API
- Skills Taxonomy Overview
Extract Skills from Course or Learning Content
Description
Course descriptions, syllabi, and other learning materials often contain valuable information about the skills students will gain. However, these skills are typically embedded within unstructured text and can be difficult to identify and standardize at scale.
The Skills Extraction API analyzes text content and automatically identifies relevant skills from the Lightcast Skills Taxonomy. When a request is submitted, the API scans the provided text, detects skill-related terms, and returns the corresponding standardized skills along with confidence scores and metadata.
Different versions of the extraction model are optimized for different content types such as job postings, resumes, or learning materials. For course descriptions and curriculum content, we recommend using the /classifications/2026.3/skills/extract endpoint.
See the Skills Extraction API Reference for full request parameters and response schema.
When to Use
- You want to extract skills from course descriptions or syllabi
- You need to analyze skill coverage across educational programs
- You want to automatically generate structured skill data from learning content
- You are mapping curriculum content to workforce skills
Endpoint
curl --request POST \
--url https://classification.emsicloud.com/classifications/2025.12/skills/extract \
--header 'Authorization: Bearer <ACCESS_TOKEN>' \
--header 'Content-Type: application/json' \
--data '{ "text": "... Great candidates also have\n\n Experience with a particular JS MV* framework (we happen to use React)\n Experience working with databases\n Experience with AWS\n Familiarity with microservice architecture\n Familiarity with modern CSS practices, e.g. LESS, SASS, CSS-in-JS ...", "confidenceThreshold": 0.6, "trace": true, "inputLocale": "en-US", "outputLocale": "en-US" }'Sample Request
{
"text": "... Great candidates also have\n\n Experience with a particular JS MV* framework (we happen to use React)\n Experience working with databases\n Experience with AWS\n Familiarity with microservice architecture\n Familiarity with modern CSS practices, e.g. LESS, SASS, CSS-in-JS ...",
"confidenceThreshold": 0.6,
"trace": true,
"inputLocale": "en-US",
"outputLocale": "en-US"
}Example Response
{
"data": {
"concepts": [
{
"confidence": 1,
"concept": {
"id": "KSZX7YZWNR5IDR1I2VMZ",
"name": "Microservices",
"levelName": "skill",
"parentId": "474",
"level": 2,
"skillType": "Specialized Skill",
"isSoftware": false,
"isLanguage": false,
"wikipediaExtract": "Microservice architecture – a variant of the service-oriented architecture (SOA) structural style – arranges an application as a collection of loosely coupled services. In a microservices architecture, services are fine-grained and the protocols are lightweight."
}
},
{
"confidence": 1,
"concept": {
"id": "ES5A281A8917181656AD",
"name": "LESS",
"levelName": "skill",
"parentId": "491",
"level": 2,
"skillType": "Specialized Skill",
"isSoftware": true,
"isLanguage": false,
"wikipediaExtract": "Less is a dynamic preprocessor style sheet language that can be compiled into Cascading Style Sheets (CSS) and run on the client side or server side.\nDesigned by Alexis Sellier, Less is influenced by Sass and has influenced the newer \"SCSS\" syntax of Sass, which adapted its CSS-like block formatting syntax. Less is an open source. Its first version was written in Ruby; however, in the later versions, use of Ruby has been deprecated and replaced by JavaScript. The indented syntax of Less is a nested metalanguage, as valid CSS is valid Less code with the same semantics. Less provides the following mechanisms: variables, nesting, mixins, operators and functions; the main difference between Less and other CSS precompilers is that Less allows real-time compilation via less.js by the browser."
}
},
{
"confidence": 1,
"concept": {
"id": "ESFEFEFDBA0B3BC39881",
"name": "SASS",
"levelName": "skill",
"parentId": "471",
"level": 2,
"skillType": "Specialized Skill",
"isSoftware": true,
"isLanguage": false,
"wikipediaExtract": "Sass is a preprocessor scripting language that is interpreted or compiled into Cascading Style Sheets (CSS). SassScript is the scripting language itself."
}
},
{
"confidence": 0.9999996423721313,
"concept": {
"id": "KSDJCA4E89LB98JAZ7LZ",
"name": "React.js (Javascript Library)",
"levelName": "skill",
"parentId": "438",
"level": 2,
"skillType": "Specialized Skill",
"isSoftware": true,
"isLanguage": false,
"wikipediaExtract": "React is an open-source, front end, JavaScript library for building user interfaces or UI components. It is maintained by Facebook and a community of individual developers and companies.\nReact can be used as a base in the development of single-page or mobile applications. However, React is only concerned with state management and rendering that state to the DOM, so creating React applications usually requires the use of additional libraries for routing, as well as certain client-side functionality."
}
},
{
"confidence": 0.9999019503593445,
"concept": {
"id": "KS121F45VPV8C9W3QFYH",
"name": "Cascading Style Sheets (CSS)",
"levelName": "skill",
"parentId": "491",
"level": 2,
"skillType": "Specialized Skill",
"isSoftware": true,
"isLanguage": false,
"wikipediaExtract": "Cascading Style Sheets (CSS) is a style sheet language used for describing the presentation of a document written in a markup language such as HTML. CSS is a cornerstone technology of the World Wide Web, alongside HTML and JavaScript."
}
},
{
"confidence": 0.9994209408760071,
"concept": {
"id": "KS1200771D9CR9LB4MWW",
"name": "JavaScript (Programming Language)",
"levelName": "skill",
"parentId": "471",
"level": 2,
"skillType": "Specialized Skill",
"isSoftware": true,
"isLanguage": false,
"wikipediaExtract": "JavaScript, often abbreviated as JS, is a programming language that conforms to the ECMAScript specification. JavaScript is high-level, often just-in-time compiled, and multi-paradigm. It has curly-bracket syntax, dynamic typing, prototype-based object-orientation, and first-class functions."
}
},
{
"confidence": 0.9805825352668762,
"concept": {
"id": "KS120FG6YP8PQYYNQY9B",
"name": "Amazon Web Services",
"levelName": "skill",
"parentId": "494",
"level": 2,
"skillType": "Specialized Skill",
"isSoftware": true,
"isLanguage": false,
"wikipediaExtract": "Amazon Web Services (AWS) is a subsidiary of Amazon providing on-demand cloud computing platforms and APIs to individuals, companies, and governments, on a metered pay-as-you-go basis. These cloud computing web services provide a variety of basic abstract technical infrastructure and distributed computing building blocks and tools. One of these services is Amazon Elastic Compute Cloud (EC2), which allows users to have at their disposal a virtual cluster of computers, available all the time, through the Internet. AWS's version of virtual computers emulates most of the attributes of a real computer, including hardware central processing units (CPUs) and graphics processing units (GPUs) for processing; local/RAM memory; hard-disk/SSD storage; a choice of operating systems; networking; and pre-loaded application software such as web servers, databases, and customer relationship management (CRM)."
}
}
],
"trace": [
{
"classificationData": {
"contextForms": [
{
"sourceEnd": 232,
"sourceStart": 229,
"value": "CSS"
},
{
"sourceEnd": 264,
"sourceStart": 261,
"value": "CSS"
}
],
"concepts": [
{
"id": "KS1200771D9CR9LB4MWW",
"confidence": 0.9994209408760071
}
]
},
"surfaceForm": {
"sourceEnd": 64,
"sourceStart": 62,
"value": "JS"
}
},
{
"classificationData": {
"contextForms": [
{
"sourceEnd": 64,
"sourceStart": 62,
"value": "JS"
},
{
"sourceEnd": 78,
"sourceStart": 69,
"value": "framework"
},
{
"sourceEnd": 159,
"sourceStart": 156,
"value": "AWS"
},
{
"sourceEnd": 232,
"sourceStart": 229,
"value": "CSS"
},
{
"sourceEnd": 264,
"sourceStart": 261,
"value": "CSS"
},
{
"sourceEnd": 270,
"sourceStart": 268,
"value": "JS"
}
],
"concepts": [
{
"id": "KSDJCA4E89LB98JAZ7LZ",
"confidence": 0.9999996423721313
}
]
},
"surfaceForm": {
"sourceEnd": 102,
"sourceStart": 97,
"value": "React"
}
},
{
"classificationData": {
"contextForms": [
{
"sourceEnd": 138,
"sourceStart": 129,
"value": "databases"
},
{
"sourceEnd": 203,
"sourceStart": 191,
"value": "architecture"
}
],
"concepts": [
{
"id": "KS120FG6YP8PQYYNQY9B",
"confidence": 0.9805825352668762
}
]
},
"surfaceForm": {
"sourceEnd": 159,
"sourceStart": 156,
"value": "AWS"
}
},
{
"classificationData": {
"contextForms": [],
"concepts": [
{
"id": "KSZX7YZWNR5IDR1I2VMZ",
"confidence": 1
}
]
},
"surfaceForm": {
"sourceEnd": 190,
"sourceStart": 178,
"value": "microservice"
}
},
{
"classificationData": {
"contextForms": [
{
"sourceEnd": 64,
"sourceStart": 62,
"value": "JS"
},
{
"sourceEnd": 102,
"sourceStart": 97,
"value": "React"
},
{
"sourceEnd": 270,
"sourceStart": 268,
"value": "JS"
}
],
"concepts": [
{
"id": "KS121F45VPV8C9W3QFYH",
"confidence": 0.9999019503593445
}
]
},
"surfaceForm": {
"sourceEnd": 232,
"sourceStart": 229,
"value": "CSS"
}
},
{
"classificationData": {
"contextForms": [],
"concepts": [
{
"id": "ES5A281A8917181656AD",
"confidence": 1
},
{
"id": "ESFEFEFDBA0B3BC39881",
"confidence": 1
}
]
},
"surfaceForm": {
"sourceEnd": 259,
"sourceStart": 249,
"value": "LESS, SASS"
}
},
{
"classificationData": {
"contextForms": [
{
"sourceEnd": 64,
"sourceStart": 62,
"value": "JS"
},
{
"sourceEnd": 102,
"sourceStart": 97,
"value": "React"
},
{
"sourceEnd": 270,
"sourceStart": 268,
"value": "JS"
}
],
"concepts": [
{
"id": "KS121F45VPV8C9W3QFYH",
"confidence": 0.9999019503593445
}
]
},
"surfaceForm": {
"sourceEnd": 264,
"sourceStart": 261,
"value": "CSS"
}
},
{
"classificationData": {
"contextForms": [
{
"sourceEnd": 232,
"sourceStart": 229,
"value": "CSS"
},
{
"sourceEnd": 264,
"sourceStart": 261,
"value": "CSS"
}
],
"concepts": [
{
"id": "KS1200771D9CR9LB4MWW",
"confidence": 0.9994209408760071
}
]
},
"surfaceForm": {
"sourceEnd": 270,
"sourceStart": 268,
"value": "JS"
}
}
]
},
"warnings": []
}Additional Resources
Updated about 3 hours ago
