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.
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.
- 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.
- 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.
- 03
Branches re-qualify the same people
A candidate registered at one branch is called again by another, because the record was never structured.
- 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.
- 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).
- 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[]
- Your system
Step 3, your system: An order comes in
The consultant enters role, site, start date and required licence in your software.
- 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.
- 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
- 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 demoInside 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.
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.
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>" }
]
}'{
"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.
- HireLayer CV Extract
Resume Parsing API
Core to this workflowDocs for HireLayer CV ExtractExtracts availability, licences, certifications, location, mobility and ROME codes.
- HireLayer Rank
Candidate Ranking API
Core to this workflowDocs for HireLayer RankOrders up to 10 filtered candidates for an order, each with a rationale.
- HireLayer Match
Candidate & Job Matching API
Add when neededDocs for HireLayer MatchPrepares the call: what the CV confirms, and what to ask about.
- HireLayer Job Extract
Job Parsing API
Add when neededDocs for HireLayer Job ExtractStructures recurring client orders into reusable criteria.
- HireLayer Skills
Skills Matching API
Add when neededDocs for HireLayer SkillsKeeps skill and qualification labels consistent across branches.
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.
