HireLayer Skills · Skills Matching API
Skills Matching API that maps free-text skills to a catalog
Send one skill or a batch of up to 100. HireLayer Skills returns the closest entries from its reference catalog, each with a similarity score, a domain and a subcategory, so different wordings land on consistent terms.
Schedule a demo- Endpoints
- POST /skills/match · GET /skills
- Batch
- Up to 100 skills
- Results
- top_k from 1 to 50
- Billing
- 1 credit per request
HireLayer Skills
POST /api/v1/skills/match
Capabilities
What the Skills Matching API normalizes
Problems it solves
The same skill, many wordings
Candidates, recruiters and job ads describe one competency with different spellings, abbreviations and phrasings.
Search misses relevant profiles
An exact-match filter on free-text skills leaves out people who describe a skill differently.
Taxonomies are costly to maintain
Building and updating your own skill reference, with domains and categories, is a project in itself.
01
Single query or batch
Send skill for one term (top_k defaults to 5) or skills for up to 100 terms (top_k defaults to 3).
02
Similarity score per match
Results are ranked and each one carries a similarity_score, so you choose the threshold that suits your product.
03
Domain and subcategory
Every catalog entry is grouped by domain and subcategory, ready for facets and skill clusters.
04
A browsable catalog
GET /api/v1/skills lists the loaded catalog with each entry’s domain, subcategory and rank.
05
Per-query results in a batch
Each input gets its own success flag with results or an error, so one bad value does not fail the batch.
06
One credit for a whole batch
A request of up to 100 skills consumes one credit when it succeeds.
Under the hood
Single skill or batch: two request modes
| Property | Single skill | Batch |
|---|---|---|
| Selector | skill: string | skills: array of 1–100 |
| Default top_k | 5 | 3 |
| Response | query_skill · total_results · results | total_queries · successful_matches · results[] |
| Invalid value | HTTP 400 for an empty skill | Per-query error; the batch continues |
| Credits | 1 per request | 1 per request |
{
"skills": ["python", "react", ""],
"top_k": 1
}{
"total_queries": 3,
"successful_matches": 2,
"results": [
{
"query_skill": "python",
"success": true,
"results": [
{ "rank": 1, "skill": "Python", "similarity_score": 0.98,
"domain": "Engineering", "subcategory": "Programming languages" }
]
},
{
"query_skill": "react",
"success": true,
"results": [
{ "rank": 1, "skill": "React", "similarity_score": 0.97,
"domain": "Engineering", "subcategory": "Frontend" }
]
},
{ "query_skill": "", "success": false, "error": "…" }
]
}Request and response
Match a free-text skill
Values below come from the API reference example. Field names and shapes match the live contract.
curl -X POST https://onlineresumeparser.com/api/v1/skills/match \
-H "Content-Type: application/json" \
-H "X-API-Key: YOUR_API_KEY" \
-d '{"skill":"web development","top_k":3}'{
"query_skill": "web development",
"total_results": 3,
"results": [
{
"rank": 1,
"skill": "Web development",
"similarity_score": 0.96,
"domain": "Engineering",
"subcategory": "Web"
},
{
"rank": 2,
"skill": "Web application development",
"similarity_score": 0.91,
"domain": "Engineering",
"subcategory": "Web"
},
{
"rank": 3,
"skill": "Frontend development",
"similarity_score": 0.86,
"domain": "Engineering",
"subcategory": "Frontend"
}
]
}- results[].skill
- The catalog term to store next to the original text.
- results[].similarity_score
- Closeness between the query and the catalog entry.
- results[].domain · subcategory
- Grouping fields for facets and clusters.
- total_results
- Number of matches returned, bounded by top_k.
Use cases
Where teams normalize skills
HireLayer Skills is used by recruiting software and recruiting services. Each use case links to the full workflow.
- 01
Normalize recruiter search queries
Map what a recruiter types to catalog terms before searching profiles saved in your sourcing product.
Skills for Sourcing tools - 02
Consistent skill tags across profiles
Store the catalog term next to the original wording on candidate or employee records in your HR product.
Skills for HR software & SaaS - 03
Skill facets on a job board
Group candidate and job skills by domain and subcategory to power filters both sides understand.
Skills for Job boards & career sites
Integration
Integrate skill normalization in your data flow
Call the API from your backend and keep the key server-side. Your product keeps its records, interface and review process.
STEP 01
Collect skill text
Use raw skills from HireLayer CV Extract, terms from job criteria, or what users type in your interface.
STEP 02
Match in batches
Send up to 100 terms per request and keep the top result above the similarity threshold you choose.
STEP 03
Store both values
Keep the original wording for display and the catalog term, domain and subcategory for search and facets.
Technical specifications
- Authentication
- X-API-Key header
- Content-Type
- application/json
- Selector
- skill or skills, never both
- Batch size
- 1 to 100 values, converted to strings
- top_k
- Integer from 1 to 50
- Catalog
- GET /api/v1/skills · size in total_skills
- Billing
- 1 credit per successful request
Where Skills 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.
- CV filePDF, DOCX, image…CV ExtractResume Parsing API→ info_resume.text · skills[]MatchCandidate & Job Matching APIjob_text + candidate_text + matching_criteria
- Job descriptionPlain job_textJob ExtractJob Parsing API→ matching_criteria[]RankCandidate Ranking APIjob_text + up to 10 candidate_text
- Free-text skillsFrom CVs, jobs or usersSkillsSkills 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
Skills Matching API questions
Answers based on the current API contract.
What is the difference between skill and skills?
skill takes one string and returns query_skill, total_results and results. skills takes an array of 1 to 100 values and returns total_queries, successful_matches and one result object per input. Send one of them, never both.
How many skills can I match in one request?
Up to 100 in the skills array. A successful request consumes one credit, whatever the batch size.
Can I browse the skill catalog?
Yes. GET /api/v1/skills returns the loaded catalog with each skill’s domain, subcategory and rank, plus total_skills.
Which similarity score should I accept?
The API returns ranked matches with their scores; your application sets the threshold. Many teams auto-accept high scores and ask a user to confirm the rest.
HireLayer Skills
Make your first HireLayer Skills call today.
Create an account to get an API key. Credits are shared across all five HireLayer APIs.
Works well with
Related HireLayer APIs
- HireLayer CV ExtractResume Parsing APITurn CV files into structured candidate JSON.
- HireLayer Job ExtractJob Parsing APITurn job descriptions into weighted criteria.
- HireLayer MatchCandidate & Job Matching APIScore one candidate against a job, criterion by criterion.
