Table of Contents
- Summary
- Input Data Information
- Sample Return Data
- Return Data Information:
- Current Supported Languages
- Current Default Languages
- Versioning
#Summary
The service is located at https://api.careerbuilder.com/core/parsing/resume. As usual, you will need OAuth core credentials to use this service. (If you do not have these please contact API and Auth to request credentials)
Here is an example input: https://api.careerbuilder.com/core/parsing/resume?document=BASE64EncodedDocument
This service accepts POST Requests
We accept .DOC, .DOCX, .PDF, .RTF, .TXT, .ODT, and .WPS documents given in a BASE64 encoded string (Required)
The corresponding output is to careerbuilder API standards, with the data node holding all resume data.
Input should be provided in the POST request body, and content type should be either JSON or Form Vars (xml is not accepted)
document: We accept .doc, .docx, .pdf, .rtf, .txt, .odt, and .wps documents given in a BASE64 encoded string. Documents may not exceed 17,000 characters in length; those that do will incur an HTTP 413 Request-Entity Too Large error. This character limit includes spaces, but not include tabs or newlines.
All documents that contain Greek as their primary language or are sent with the service=hireability parameter must be 65 characters or more. Any document that does not meet this threshold will return a 400 Bad Request exception.
Note that image files (including scanned resumes) are not supported at this time.
language: ISO 639-1 language code (i.e. en, en-gb, es-419), this is used if a service is not specified to determine the parsing service we wish to use. (optional)
service: The title of the resume parsing service you wish to use (currently available are "textkernel", "hireability", & "daxtra") (Optional) (This field is case sensitive)
output_type: allows you to control the output either json (default) or xml
{
"data":"RESUME-DATA-HERE",
"timing":"TIMING-INFO-HERE",
"forensics":"FORENSIC-DATA-HERE",
"errors":"Error-DATA-HERE"
}
ALL 4xx status codes should not be retried. ALL 5xx status codes should be retried.
- 400 Bad Request: this is returned when the request is syntactically incorrect or malformed in some way
- 409 Conflict: this is returned when a virus is detected in the document
- 413 Entity Too Large: this is returned when the document is longer than the limit of 21,000 characters
- 415 Unsupported Media Type: this is returned when our parsers detect that the document may be an image document
- 500 Internal Server Error: this is returned when an uncaught exception is thrown somewhere within our code. Please let us know if you see 500's
- 502 Bad Gateway: this is returned when one of our parsers or other downstream services has an unexpected problem
- 504 Timeout: this will be returned as a 572 through the routing layer and should be retried after waiting for a minute or two
Data
{
CleanResumeText = String
RawResumeText =String
ResumeHTML = String
HRXML = String
HasManagedOthers = Boolean
FormattedName = String
FirstName = String
MiddleName = String
LastName = String
Affix = String
EmailAddress = String
HomeNumber = String
OfficeNumber = String
MobileNumber = String
FaxNumber = String
PagerNumber = String
Country = String
Zip = String
State =String
City = String
AddressLine1 = String
Nationality = String
Civility = String
DateOfBirth = String
MaritalStatus = String
Hobby = String
Benefits = String
Salary = String
Reference = String
DriversLicense = Boolean
IsCurrentlyEmployed = String
MostRecentEmployer = String
MostRecentJobTitle = String
ExperienceMonths = Int
LastJobMonths = Int
NumberOfJobs = Int
HighestDegreeType = String
Languages = Array.new
ResumeEmployments = Array of Employments
ResumeEducationHistories = Array of Educations
SoftSkill = Array of Soft Skills
CompSkill = Array of Computer-specific skills
}
Employment
{
City = String
State = String
Country = String
Website = String
JobTitle = String
EmployerName = String
StartDate = String
EndDate = String
Description =String
JobType = String
Duration = Int
IsCurrentPosition = Boolean
IsLastItem = Boolean
Experience = String
FullText = String
}
Education
{
SchoolName = String
SchoolType = String
AddressType = String
City = String
State = String
Country = String
DegreeMajor = String
DegreeName = String
DegreeDate = String
DegreeType = String
DegreeComments = String
AttendenceStartDate = String
AttendenceEndDate = String
EducationalMeasureSystem = String
MeasureSystemValue = String
MeasureSystemLowest = String
MeasureSystemHighest = String
Subjects = String
FullText = String
}
CE3 -> no known education history
CE31 -> high school or GED equivalent
CE32 -> associate’s degree
CE321 -> bachelor’s degree
CE3210 -> master’s degree
CE3211 -> doctorate
| Language Code | Language | Daxtra | HireAbility | Textkernel | ||
|---|---|---|---|---|---|---|
| en | English | X | O | X | ||
| nl | Dutch | X | O | X | Supported | |
| fr | French | X | O | X | X | |
| it | Italian | X | O | X | ContactInfo Only | |
| da | Danish | X | O | X | I | |
| pl | Polish | X | O | X | Not Supported | |
| ru | Russian | X | O | X | O | |
| de | German | X | O | X | ||
| ro | Romanian | X | O | X | ||
| cz | Czech | X | O | X | ||
| zh | Chinese (Simplified) | X | O | X | ||
| zh | Chinese (Traditional) | X | O | X | ||
| es | Spanish | X | O | X | ||
| ca | Catalan | X | O | O | ||
| gl | Galician | O | O | O | ||
| eu | Basque | O | O | O | ||
| el | Greek | O | X | O | ||
| hu | Hungarian | X | O | X | ||
| sv | Swedish | X | O | X | ||
| no | Norwegian | X | O | O | ||
| pt | Portuguese | O | O | X | ||
| sk | Slovak | X | O | X | ||
| ja | Japanese | X | O | O |
| Language Code | Language | HireAbility | Daxtra | Textkernel |
|---|---|---|---|---|
| zh | Chinese (Simplified) | X | ||
| zh | Chinese (Traditional) | X | ||
| id | Indonesian | X | ||
| hi | Hindi | X | ||
| pl | Polish | X | ||
| ro | Romanian | X | ||
| it | Italian | X | ||
| da | Danish | X | ||
| hu | Hungarian | X | ||
| sk | Slovak | X | ||
| ja | Japanese | X | ||
| en-gb | English (British) | X | ||
| el | Greek | X | ||
| Other Languages | X |
The data returned is unversioned. The current version is 1.0. We expect that each of our vendors return the same data for repeated calls, however we have not verified this systematically. We will occasionally update our vendors which may change the output. If we believe this change is significant we will communicate about it. However, customers will not be able to specify vendor versions; we will not be running multiple versions of a parser. The language to parser mapping is unversioned. We will update it as we understand each vendor's capabilities more fully. If you need to stay on the same parser, please specify it explicitly.
Our general versioning strategy is available here.