Skip to content

HireLayer Skills · Skills Matching API

Skills Matching API that resolves free-text skills to a taxonomy

Send one skill, a compound string or a whole CV skills section, in French or English. HireLayer Skills returns every taxonomy skill the text names, in order, each with a stable id, a type, families and domains, and lists what it cannot resolve instead of guessing.

Schedule a demo
Endpoints
POST /skills/resolve · GET /skills
Input
Free text up to 5,000 characters
Taxonomy
11,061 skills · 25 domains
Billing
1 credit per request

HireLayer Skills

POST /api/v1/skills/resolve

200 OK
The text “Google Sheet/Excel” resolves to two taxonomy skills in text order, Google Sheets and Excel, each with an id, a mention and the families Bureautique and Analyse de données; Excel has Microsoft Office as its broader skill. Values come from the documented API example.

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 families and domains, is a project in itself.

  • 01

    One skill or a whole section

    Send one skill, a compound string such as “Google Sheet/Excel” or a CV skills section with lines, bullets and lists, up to 5,000 characters in French or English.

  • 02

    Every skill, in text order

    Each taxonomy skill named in the text comes back in the order of the text, with mention: the part of the text it was found in.

  • 03

    Resolved or unresolved, never guessed

    There is no score or threshold to tune. A part of the text that matches no skill is listed in unresolved, with family hints.

  • 04

    Stable ids and types

    Store and filter on id, such as excel. Each skill is typed hard, software, certification, soft or language, and named in French or English.

  • 05

    Families, domains and a broader skill

    Skills sit in families and domains, the primary one first, and can name a broader skill to widen a search, such as Excel to Microsoft Office.

  • 06

    The whole taxonomy in one call

    GET /api/v1/skills returns all 11,061 skills, most frequent in CVs first, across 25 domains and 236 families. Cache it on your side.

Under the hood

One skill or a whole skills section, in one request

Inputtextskills[].name
One skillreact jsReact
Compound stringGoogle Sheet/ExcelGoogle Sheets · Excel
Compound mentionPack Office (Word, Excel)Microsoft Office · Word · Excel
Mixed list, language: enReact, Node, Cobol, gestion de projetReact · Node.js · COBOL · Project management

Resolved, in text order

Each taxonomy skill comes back with a stable id and its mention, the part of the text it was found in.

Never guessed

No score or threshold: a part of the text that matches no skill is listed in unresolved, with family_hints.

A CV skills section in one requestPOST /api/v1/skills/resolve
{
  "text": "Compétences :\n- Pack Office (Word, Excel, PowerPoint)\n- Gestion de la paie (ADP, Payfit)\n- Anglais courant\n- Permis B\n- Rigueur et sens de l’organisation"
}
skills[].name, in text order10 skills
[
  "Word", "Excel", "PowerPoint",
  "Gestion de la paie", "ADP", "PayFit",
  "Anglais", "Permis B",
  "Rigueur", "Organisation"
]

Request and response

Resolve a free-text skill string

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

HireLayer Skills docs
RequestPOST /api/v1/skills/resolve
curl -X POST https://hirelayer.co/api/v1/skills/resolve \
  -H "Content-Type: application/json" \
  -H "X-API-Key: YOUR_API_KEY" \
  -d '{"text":"Google Sheet/Excel","language":"fr"}'
Response200 OK · application/json
{
  "language": "fr",
  "skills": [
    {
      "id": "google_sheets",
      "name": "Google Sheets",
      "type": "software",
      "mention": "Google Sheet",
      "families": [
        { "id": "office_software", "name": "Bureautique", "domain_id": "administration_office" },
        { "id": "data_analysis", "name": "Analyse de données", "domain_id": "data_ai" },
        { "id": "business_intelligence", "name": "Business Intelligence & dataviz", "domain_id": "data_ai" }
      ],
      "domains": [
        { "id": "administration_office", "name": "Administration & Bureautique" },
        { "id": "data_ai", "name": "Data & Intelligence artificielle" }
      ],
      "broader": null
    },
    {
      "id": "excel",
      "name": "Excel",
      "type": "software",
      "mention": "Excel",
      "families": [
        { "id": "office_software", "name": "Bureautique", "domain_id": "administration_office" },
        { "id": "data_analysis", "name": "Analyse de données", "domain_id": "data_ai" }
      ],
      "domains": [
        { "id": "administration_office", "name": "Administration & Bureautique" },
        { "id": "data_ai", "name": "Data & Intelligence artificielle" }
      ],
      "broader": { "id": "microsoft_office", "name": "Microsoft Office" }
    }
  ],
  "unresolved": [],
  "taxonomy_version": "v1"
}
skills[].id
Stable id to store and filter on; name is the canonical name in the requested language.
skills[].mention
The part of the text each skill was found in. Skills follow the order of the text.
skills[].broader
A more general skill to widen a search, here Microsoft Office for Excel, or null.
unresolved[]
Parts of the text that match no taxonomy skill, with family_hints. Nothing is guessed.

Use cases

Where teams normalize skills

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

  1. 01

    Normalize recruiter search queries

    Resolve what a recruiter types to skill ids before searching profiles saved in your sourcing product, and widen with broader when needed.

    Skills for Sourcing tools
  2. 02

    Consistent skill tags across profiles

    Store the skill id next to the original wording on candidate or employee records in your HR product.

    Skills for HR software & SaaS
  3. 03

    Skill facets on a job board

    Group candidate and job skills by family and domain 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.

  1. STEP 01

    Collect skill text

    Use the skills section of a CV, the skills returned by HireLayer CV Extract, terms from job criteria, or what users type in your interface.

  2. STEP 02

    Resolve it in one call

    Send it as one text of up to 5,000 characters. Each taxonomy skill comes back in order; review what is listed in unresolved.

  3. STEP 03

    Store both values

    Keep the original wording for display and the skill id, families and domains for search and facets.

Technical specifications

Authentication
X-API-Key header
Content-Type
application/json
text
Required · up to 5,000 characters, French or English
language
fr (default) or en, for returned names
Other fields
Rejected with HTTP 400
Taxonomy
GET /api/v1/skills · 11,061 skills, about 4 MB
Billing
1 credit per successful request

No backend to write? Call Skills from Make, Power Automate, Google Sheets, ChatGPT, Claude or your ATS.

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.

  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→ taxonomy skill ids

    Store skill ids 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 can I send in text?

One free text of up to 5,000 characters, in French or English: a single skill such as “MS Excel”, a compound string such as “Pack Office (Word, Excel)”, or a whole CV skills section with lines, bullets, semicolons or long comma lists. language is optional, fr by default or en, and any other field is rejected with a 400.

How do I extract and normalize the skills of a whole CV?

Send the CV file to HireLayer CV Extract: it returns the skills it finds, each typed as a hard, soft or software skill and marked normalized when it resolves to this taxonomy. To normalize skills you already have as text, such as a skills section, a LinkedIn export or the requirements of a job ad, send up to 5,000 characters to POST /api/v1/skills/resolve. Each successful call uses one credit.

How many skills can I resolve in one request?

Every taxonomy skill the text names, within 5,000 characters. A CV skills section with the lines “Pack Office (Word, Excel, PowerPoint)”, “Gestion de la paie (ADP, Payfit)”, “Anglais courant”, “Permis B” and “Rigueur et sens de l’organisation” resolves to 10 skills in one call, from Word to Organisation. A successful request consumes one credit.

Can I browse the skill taxonomy?

Yes. GET /api/v1/skills returns the whole taxonomy in one response: 11,061 skills, most frequent in CVs first, each with its id, name, type, families, domains and broader skill. Add ?language=en for English names. It weighs about 4 MB, has no pagination and costs one credit, so cache it on your side.

What happens to text that matches no skill?

It is listed in unresolved, with family_hints. There are no similarity scores or thresholds to tune: each part of the text is either resolved to taxonomy skills or left unresolved, and nothing is guessed.

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.