AI Candidate Ranker - Shortlist Resumes for a Job avatar

AI Candidate Ranker - Shortlist Resumes for a Job

Pricing

from $100.00 / 1,000 candidate rankings

Go to Apify Store
AI Candidate Ranker - Shortlist Resumes for a Job

AI Candidate Ranker - Shortlist Resumes for a Job

Rank up to 10 candidates for one job description in a single call, with a score and a rationale for each position. Send resume files or texts.

Pricing

from $100.00 / 1,000 candidate rankings

Rating

0.0

(0)

Developer

HireLayer

HireLayer

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

19 hours ago

Last modified

Categories

Share

What does AI Candidate Ranker do?

AI Candidate Ranker orders up to 10 candidates for one job description in a single run. Each candidate is scored criterion by criterion, then compared with the others to settle the order. Each one gets:

  • a rank (1 = best fit),
  • a score from 0 to 1 and a verdict (highly_relevant, relevant, marginally_relevant or not_relevant),
  • a ranking reason: one sentence that places the candidate against the others,
  • a summary and, for each criterion of the job, the evidence found in the resume.

Send resume files (PDF, Word, images…) or resume texts. Resumes and job descriptions can be in any language. Summaries and reasons are written in the job's language when it is English, French, German, Spanish or Portuguese, and in English otherwise; you can also choose one of these five.

It is powered by the HireLayer recruiting API. Processing runs in the EU, and HireLayer does not store the resumes or the job description.

Why use it?

  • Build a shortlist fast: compare candidates side by side instead of one by one.
  • One price for the whole ranking, whatever the number of candidates (up to 10).
  • Know why each one is where it is: the ranking reason, the required criteria a resume lacks (required_missing) and the ones to check with the candidate (to_verify).

How to use it

  1. Click Try for free.
  2. Paste the job description.
  3. Add up to 10 resume URLs and/or candidates as text.
  4. Click Start and open the Ranking table.

Input

FieldDescription
jobDescriptionThe job description (required, 30 to 50,000 characters).
resumeUrlsPublic URLs of resume files. Each file is parsed first.
candidatesCandidates as text: [{"id": "c1", "text": "…"}], or {"id": "c2", "resumeUrl": "…"}. Each id comes back as candidate_id.
languageauto (default: the job's language, English for a job in another language), en, fr, de, es or pt.
{
"jobDescription": "Senior Frontend Engineer. 5+ years frontend, React and TypeScript in production, fluent English. Nice to have: Next.js.",
"resumeUrls": ["https://hirelayer.co/benchmark/resume-parser-2026-10/cv5-infographic-en.pdf"],
"candidates": [{ "id": "c1", "text": "Jane Doe. Frontend developer, 7 years React and TypeScript at Acme. English native." }]
}

Output

One dataset item per candidate, best first:

{
"rank": 1,
"candidate_id": "c1",
"candidate_name": null,
"resume_url": null,
"status": "success",
"score": 0.94,
"verdict": "highly_relevant",
"ranking_reason": "The only candidate with React and TypeScript in production for more than five years.",
"summary": "Strong fit: 7 years of React and TypeScript in production and native English; Next.js is not mentioned.",
"required_missing": [],
"to_verify": [],
"criteria": [
{
"criterion_id": "crit_1",
"label": "Frontend development with React and TypeScript",
"requirement": "required",
"weight": 3,
"status": "met",
"score": 1,
"gap": null,
"confidence": "high",
"evidence": "\"Frontend developer, 7 years React and TypeScript at Acme\"",
"explanation": "Seven years of React and TypeScript, above the five years asked."
}
]
}

Candidates parsed from a file also get candidate_name. The complete response, with the criteria extracted from the job, is saved in the OUTPUT record of the key-value store. A candidate that cannot be processed gives an item with "status": "error".

Pricing

  • $0.10 per ranking (up to 10 candidates)
  • $0.08 per resume file parsed (candidates sent as text are not parsed)

Use it from code

curl -X POST "https://api.apify.com/v2/acts/hirelayer~candidate-ranker/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"jobDescription": "…", "resumeUrls": ["https://example.com/a.pdf", "https://example.com/b.pdf"]}'

The Actor is also available to AI agents through the Apify MCP server.

FAQ

More than 10 candidates? Run the AI Candidate Matcher, which scores any number of candidates, then rank the top 10 here.

Ranker or Matcher? Both score each candidate criterion by criterion. The Ranker also compares the candidates with each other to settle the order of the top 10 and explains each place; the Matcher scores each candidate on its own, for any number of candidates, with your own criteria if you have them.

Should the ranking decide alone? No. It helps recruiters prioritise; hiring decisions stay with people.

Need help? Open an issue in the Issues tab or write to contact@hirelayer.co.