Overview

Introduction

The Resume Classification API provides resume parsing and classification capabilities with locale-detection support. It parses resumes into structured data and supports multiple input formats depending on access level. The classified resume data returned by this API is produced by the Lightcast Resume Parser and can include parsed entities such as skills, work experience, education, and other candidate information.

Supported formats for resume parsing depend on scope/access level. Trial scope (lightcast_open) supports PDF and TXT only. Enterprise scopes (parse_api, classification_api) support additional formats such as DOC, DOCX, ODT, WPD. Requests that upload files use multipart/form-data.

Note: By default, clients are allowed a maximum of 10 requests per second. Contact us if you require adjustments.

API Endpoint

There are multiple endpoints within this category. Refer to individual API docs under the Resume Classification section.

Request Headers

(*) Indicates the action is required

All requests must include the following headers:

Header KeyValueDescription
*AuthorizationBearer <ACCESS_TOKEN>OAuth bearer token obtained from the Authentication API. Required for all authenticated requests.
Content-Typeapplication/json or multipart/form-dataapplication/json for JSON requests; multipart/form-data when uploading files.

Authentication

All endpoints require an OAuth 2.0 Bearer Token. Tokens are granted through the Authentication API at https://auth.emsicloud.com/connect/token and are valid for 1 hour.

For the Resume Classification API you may request a token with one of these scopes depending on access:

Scope nameDescriptionAccess
lightcast_openTrial: allows PDF and TXT documents for resume parsing.https://lens.emsiservices.com/resume/parse
parse_apiEnterprise: allows all supported document types for resume parsing.https://lens.emsiservices.com/resume/parse
classification_apiEnterprise + classification: all document types plus Lightcast taxonomy classification support.https://lens.emsiservices.com/resume/parse and https://lens.emsiservices.com/resume/classify

Sample Request

curl --request POST \
  --url https://auth.emsicloud.com/connect/token \
  --header 'Content-Type: application/x-www-form-urlencoded' \
  --data client_id=CLIENT_ID \
  --data client_secret=CLIENT_SECRET \
  --data grant_type=client_credentials \
  --data scope=lightcast_open

Request Parameters

ParameterTypeDescription
client_idstringThe client ID provided by Lightcast.
client_secretstringThe client secret associated with your client ID.
grant_typestringMust be set to client_credentials.
scopestringOne of: lightcast_open, parse_api, classification_api.

Sample Response

{
  "access_token": "<ACCESS_TOKEN>",
  "expires_in": 3600,
  "token_type": "Bearer"
}

Note that the Tokens expire after 3600 seconds. To maintain uninterrupted access, refresh the token before it expires. To know more about this, refer to the Authentication guide.

Response Parameters

ParameterTypeDescription
access_tokenstringThe token used to authorize API requests.
expires_inintegerNumber of seconds before the token expires.
token_typestringIndicates the type of token. (Always Bearer)

Status Code Summary

CodeMeaningDescription
200OKRequest was successful.
400Bad RequestThe request was unacceptable, often due to missing a required parameter.
401UnauthorizedAuthentication error.
404Not FoundResource not found.