HireLayer logoHireLayer

HireLayer Job Extract · Job Parsing API

Job Parsing API that turns job descriptions into weighted criteria

Send the text of a job ad. HireLayer Job Extract keeps the requirements a CV can actually confirm, then returns each one with a weight, a mandatory flag and a rationale, ready to reuse in candidate matching.

Schedule a demo
Endpoint
POST /api/v1/jobs/extract-criteria
Input
job_text · up to 50,000 chars
Response
matching_criteria[]
Billing
1 credit per job

HireLayer Job Extract

POST /api/v1/jobs/extract-criteria

200 OK
Three requirements in a job description become three criteria with ids, weights from 1 to 3 and a mandatory flag; marketing copy is left out. Values come from the documented API example.

Capabilities

What the Job Parsing API keeps from a job ad

Problems it solves

  • Job ads mix requirements with marketing

    Company story, perks and process details sit next to the handful of requirements that actually matter for screening.

  • Priorities are implicit

    “Required”, “ideally” and “a plus” are read differently by each recruiter, so screening is inconsistent across a team.

  • Criteria get rewritten for every tool

    The same brief is reinterpreted in the ATS, in the matching step and in the client report.

  • 01

    Only CV-evaluable requirements

    The service returns requirements a candidate’s CV can confirm or contradict. It does not score candidates.

  • 02

    A weight from 1 to 3

    Each criterion carries an integer weight, and criteria are returned in descending weight order.

  • 03

    Explicit is_mandatory flag

    Must-haves are separated from preferences, so your product can display and enforce them its own way.

  • 04

    A rationale for each criterion

    A short justification tied to the job text helps a recruiter or hiring manager review the result.

  • 05

    Ids ready for matching

    Criteria ids are generated as crit_1, crit_2… and can be sent unchanged to HireLayer Match.

  • 06

    Strict input contract

    The body accepts job_text only. It is trimmed and validated; unknown top-level fields return HTTP 400.

Under the hood

Anatomy of an extracted criterion

FieldTypeMeaning
idstringcrit_1, crit_2… generated in order. Send it unchanged to HireLayer Match.
labelstringShort name of the requirement, written in French.
weightinteger 1–3Importance of the requirement. The list is sorted by weight.
is_mandatorybooleantrue for a must-have, false for a preference.
rationalestringWhy the criterion was kept, tied to the job text, in French.

Kept as criteria

Requirements a CV can confirm or contradict: skills, tools, languages, experience, qualifications, location.

Not scored

The endpoint does not evaluate candidates. Send the criteria to HireLayer Match to check a CV against them.

Request and response

Parse a job description into criteria

Values below come from the API reference example. Field names and shapes match the live contract.

HireLayer Job Extract docs
RequestPOST /api/v1/jobs/extract-criteria
curl -X POST https://onlineresumeparser.com/api/v1/jobs/extract-criteria \
  -H "Content-Type: application/json" \
  -H "X-API-Key: YOUR_API_KEY" \
  -d '{"job_text":"React required. Fluent English required. Paris-based."}'
Response200 OK · application/json
{
  "matching_criteria": [
    {
      "id": "crit_1",
      "label": "Maîtrise de React",
      "weight": 3,
      "is_mandatory": true,
      "rationale": "React est explicitement requis pour le poste."
    },
    {
      "id": "crit_2",
      "label": "Anglais professionnel",
      "weight": 2,
      "is_mandatory": true,
      "rationale": "Un niveau d'anglais professionnel est explicitement demandé."
    },
    {
      "id": "crit_3",
      "label": "Localisation à Paris",
      "weight": 1,
      "is_mandatory": false,
      "rationale": "Le poste est basé à Paris, sans exigence explicite de résidence."
    }
  ]
}
matching_criteria[].id
Deterministic crit_n ids you can store with the job.
matching_criteria[].weight
Integer from 1 to 3; criteria arrive sorted by weight.
matching_criteria[].is_mandatory
Separates must-haves from preferences.
label · rationale
Generated in French in the current version.

Use cases

Where teams parse job descriptions

HireLayer Job Extract is used by recruiting software and recruiting services. Each use case links to the full workflow.

  1. 01

    Client brief intake

    Turn a client’s role description into criteria the consultant confirms before searching the candidate pool.

    Job Extract for Recruitment agencies
  2. 02

    Job setup assistant

    Show extracted criteria to the hiring manager in your HR product so they can adjust weights before publishing.

    Job Extract for HR software & SaaS
  3. 03

    Requisition kickoff

    Structure each approved requisition once and reuse the same criteria for every candidate in the program.

    Job Extract for RPO providers

Integration

Integrate job parsing into job intake

Call the API from your backend and keep the key server-side. Your product keeps its records, interface and review process.

  1. STEP 01

    Extract when a job is saved

    Call the endpoint when a job is created or its description changes. One call per job, not per candidate.

  2. STEP 02

    Let a recruiter review

    Display the criteria, let the team adjust weights or the mandatory flag, and store the reviewed list with the job.

  3. STEP 03

    Reuse for every candidate

    Send the stored criteria to HireLayer Match for each candidate you evaluate against this job.

Technical specifications

Authentication
X-API-Key header
Content-Type
application/json
Body
job_text only; other fields return 400
Input limit
50,000 characters after trimming
Output
id · label · weight (1–3) · is_mandatory · rationale
Output language
label and rationale in French
Billing
1 credit per successful extraction

Where Job Extract fits in the HireLayer pipeline

Each API works on its own. Chain them when a workflow needs CV data, job criteria and a decision aid together.

  1. CV filePDF, DOCX, image…
    CV ExtractResume Parsing API→ info_resume.text · skills[]MatchCandidate & Job Matching APIjob_text + candidate_text + matching_criteria
  2. Job descriptionPlain job_text
    Job ExtractJob Parsing API→ matching_criteria[]RankCandidate Ranking APIjob_text + up to 10 candidate_text
  3. Free-text skillsFrom CVs, jobs or users
    SkillsSkills Matching API→ catalog skill terms

    Store normalized terms on profiles and jobs for search and facets.

Match takes criteria from Job Extract and CV text from Extract. Rank only needs the job text and each candidate’s CV text. One API key and one credit balance cover every call.

Questions

Job Parsing API questions

Answers based on the current API contract.

What does the Job Parsing API return?

A matching_criteria array. Each criterion has an id, a label, a weight from 1 to 3, an is_mandatory flag and a rationale. It focuses on requirements a CV can evidence; it does not return salary, benefits or other job-ad metadata.

Can criteria be edited before matching?

Yes. HireLayer Match accepts any criteria with exactly id, label, weight, is_mandatory and rationale, so you can let users adjust or add criteria before evaluating candidates.

Which language are the criteria written in?

In the current version, criterion labels and rationales are generated in French, whatever the language of the job description.

Does the Job Parsing API score candidates?

No. It only structures the job. Use HireLayer Match to evaluate one candidate against the criteria, or HireLayer Rank to order up to 10 candidates for the job.

HireLayer Job Extract

Make your first HireLayer Job Extract call today.

Create an account to get an API key. Credits are shared across all five HireLayer APIs.