For staffing and temporary work agencies

Fill job orders from a candidate pool you can actually search

Temp placements are decided on practical details: who is available on Monday, who holds the right licence, who can get to the site. HireLayer reads those details out of every CV so your branches can filter the pool, then ranks the shortlist for each order.

A staffing job order for a forklift operator on a night shift near Roissy, starting Monday, requiring a CACES R489 category 3 licence. The agency's own filters keep candidates who are available, licensed and within 25 km. Three remaining candidates are ranked with scores, availability, licences and distance.

The problem

What slows down a job order

In temporary staffing, the order is often filled by whoever answers first with the right person. The bottleneck is rarely the pool; it is reading it.

  1. 01

    Orders arrive late and need answers now

    A client calls for a forklift operator tomorrow morning. The consultant has to know who is available, licensed and close, without reopening every file.

  2. 02

    The deciding details hide in CVs

    Availability dates, driving licences, certifications and the towns a candidate will travel to are written in free text, if at all.

  3. 03

    Branches re-qualify the same people

    A candidate registered at one branch is called again by another, because the record was never structured.

  4. 04

    Shortlists depend on who is on shift

    Two consultants order the same pool differently, and clients notice when quality varies.

How it fits

From CV to a ranked job order

Your staffing software keeps the pool, the orders and the client relationship. HireLayer structures the CVs and orders the shortlist.

  1. Your system

    Step 1, your system: A candidate registers

    At the branch, on your website or by email. A phone photo of a paper CV works (JPG, PNG, BMP).

  2. HireLayer

    Step 2, HireLayer API: Parse the practical details

    Availability, licences, certifications, location with coordinates, mobility and ROME occupation codes come back as fields.

    POST /api/v3/parser

    • availability_now
    • availability_date
    • driver_license[]
    • certifications[]
    • mobility.other_cities[]
    • rome_jobs[]
  3. Your system

    Step 3, your system: An order comes in

    The consultant enters role, site, start date and required licence in your software.

  4. Your system

    Step 4, your system: Filter with your own rules

    Distance from the site using parsed coordinates, licence held, available by the start date. These rules are yours to set.

  5. HireLayer

    Step 5, HireLayer API: Rank who is left

    Send the order text and up to 10 candidates. Each comes back with a rank, a score and a rationale.

    POST /api/v1/matching/job-candidates/rank

    • rank
    • score
    • rationale
  6. Your system

    Step 6, your system: The consultant calls

    The consultant works down the list and records outcomes in your software.

Check what the parser reads from one of your own candidate CVs.

Try the parser demo

Inside a CV

The details that decide a placement, as fields

What a consultant looks for when reading a CV, and where it lands in the parser response. Fields are filled when the CV mentions them, and null otherwise.

A candidate CV with five highlighted details: immediate availability, driving licence B, CACES certifications, home town Sarcelles and the towns the candidate can work in. Each is mapped to the matching parser field: availability_now, driver_license, certifications, location with coordinates, mobility.other_cities, plus a ROME occupation code.

Technical example

Rank the candidates left after your filters

One request per order: the order text and up to 10 candidates, each with your own id and the CV text stored at registration.

candidates
1 to 10 per request, each with a unique id.
candidate_id
Your id, echoed unchanged so results map back to your pool.
rationale
Written in French in the current version.
Request · cURL/api/v1/matching/job-candidates/rank
curl -X POST https://onlineresumeparser.com/api/v1/matching/job-candidates/rank \
  -H "Content-Type: application/json" \
  -H "X-API-Key: YOUR_API_KEY" \
  -d '{
    "job_text": "Forklift operator, night shift, Roissy warehouse. CACES R489 category 3 required. Start Monday.",
    "candidates": [
      { "id": "cand_4812", "candidate_text": "<info_resume.text>" },
      { "id": "cand_5530", "candidate_text": "<info_resume.text>" },
      { "id": "cand_6107", "candidate_text": "<info_resume.text>" }
    ]
  }'
Response · abridged
{
  "rankings": [
    {
      "rank": 1,
      "candidate_id": "cand_5530",
      "score": 0.9,
      "rationale": "CACES R489 catégorie 3 mentionné et expérience en entrepôt de nuit."
    },
    {
      "rank": 2,
      "candidate_id": "cand_4812",
      "score": 0.74,
      "rationale": "Expérience de cariste confirmée, catégorie de CACES non précisée."
    },
    {
      "rank": 3,
      "candidate_id": "cand_6107",
      "score": 0.52,
      "rationale": "Profil de préparateur de commandes, aucun CACES mentionné."
    }
  ]
}

Outcomes

What changes at the branch

  • Search on the details that decide

    Availability, licences, certifications and mobility become fields consultants can filter on.

  • One record for every branch

    A candidate parsed once is searchable by every branch, on the same fields.

  • A consistent first pass

    Every order gets the same kind of ranking and rationale, whoever is on shift.

  • Consultants keep the call

    Rank orders the list. The consultant still decides who to call and who to send.

APIs used

The HireLayer APIs behind this workflow

Start with the core APIs, add the others when a feature needs them. All five share one API key and one credit balance.

Compare all products

FAQ

Staffing & temp agencies: frequently asked questions

Which practical details can be extracted from a CV?

availability_now and availability_date, driver_license, certifications, the candidate’s location with coordinates, mobility.other_cities, contract types in work history and ROME occupation codes. Each is filled only when the CV mentions it.

Can we filter candidates by distance from a client site?

The parser returns the candidate location with latitude and longitude. Your software computes the distance to the site and applies your own radius.

How do we shortlist for a job order from a large pool?

Filter the branch pool with your own rules, such as distance, availability or driving licence, then send the remaining profiles to Rank, at most 10 per call, so the consultant knows who to phone first.

Can our French branches group candidates by occupation?

Yes. Each parsed CV includes rome_jobs, a list of ROME occupation codes with a prediction_score for each, so branches can sort temporary workers by occupation without coding profiles by hand.

Can a walk-in candidate register from a paper CV?

Yes. Branch staff can take a photo of the paper CV and send the JPG, PNG or BMP image to the endpoint that handles PDF and Word files, within the 6 MiB request limit.

Test it on your next job order

Parse a few CVs from your pool and rank them against a real order. The free plan includes 50 credits a month, shared by all five APIs.