---
title: "Extract skills from document"
method: POST
path: "/versions/{version}/extract"
tags: ["Extract"]
---

# Extract skills from document

`POST /versions/{version}/extract`

## Request

- Base URL: `https://api.lightcast.io/skills`
- URL: `https://api.lightcast.io/skills/versions/{version}/extract`
- Auth: OAuth 2
  - Client credentials
  - Token URL: `https://auth.emsicloud.com/connect/token` scopes: `emsi_open`

Returns a list of skills found in a document.

Supported document types and their expected Content-Type:
  * JSON – `application/json` **Document must be UTF-8 encoded.**
  * Plain text – `text/plain`
  * PDF – `application/pdf`
  * Word (docx) – `application/vnd.openxmlformats-officedocument.wordprocessingml.document`

Request document size is limited to 10MB, text parsed from the document is limited to 50KB.

Note that this endpoint has a free tier monthly quota of 50 requests. [Contact us](https://skills.emsidata.com/contact) if you'd like this increased or made unlimited. Responses from this endpoint will include two headers, `RateLimit-Remaining` and `RateLimit-Reset`, which indicate how many requests you have remaining in your current quota period and when that quota will reset, respectively.

## Path parameters

- `version` string, required

## Query parameters

- `language` string
- `confidenceThreshold` number

## Request body

- object
  - `text` string, required
  - `confidenceThreshold` number

## Response `200`

OK

- object
  - `attributions` object[], required
    - `name` string, required
    - `text` string, required
  - `data` object[], required
    - `confidence` number, required
    - `skill` object, required
      - `type` object, required
        - `id` string, required
        - `name` string, required
      - `id` string, required
      - `name` string, required
      - `tags` object[], required
        - `key` string, required
        - `value` string, required
      - `infoUrl` string, required
      - `description` string, nullable
      - `descriptionSource` string, nullable

## Other responses

- `400`: Bad Request
- `404`: Not Found
- `413`: Payload Too Large
- `415`: Unsupported Media Type

---

[API](https://skmtc.dev/lightcast/apis/skills-api.md) - [All operations](https://skmtc.dev/lightcast/apis/skills-api/llms.txt) - [OpenAPI document](https://skmtc.dev/lightcast/apis/skills-api/revisions/5bbc01016f97?raw)
