Developer Docs

Candidate Matching Filters

Reference and best practices for MatchFilters: skills, languages, country, and city constraints in matching requests.

Filters are hard constraints. If a candidate does not satisfy a filter, they are removed before final ranking. Use filters for non-negotiables, not preferences.

MatchFilters field reference

MatchFilters

FieldTypeRequiredDefaultConstraintsNotes
skillsstring[]NoRequired technical skills.
languagesstring[]NoRequired spoken languages.
countrystringNoCountry hard constraint.
citystringNoCity hard constraint.

How to design filters safely

Start broad, then tighten

Begin with role description + top_n only. Add one filter at a time and compare outcome changes.

Use filters for mandatory constraints

Use country if legal/work-permit constraints require it. Do not use location filters for "nice to have" preferences.

Avoid long skill hard-filters

Treat long skill lists as soft guidance in the job description whenever possible. Hard filters with many skills often over-constrain results.

Practical examples

{
  "job_description": "Cloud platform engineer",
  "filters": {
    "country": "Belgium"
  }
}
{
  "job_description": "Data engineer with strong SQL and ETL ownership",
  "filters": {
    "skills": ["SQL", "ETL"],
    "languages": ["English"]
  }
}

Why expected candidates disappear

  • Filters are stricter than intended
  • Job description is too narrow and duplicates filter constraints
  • Candidate profiles are missing data for filtered fields

Debug pattern

Remove filters first. If candidate appears, re-add filters one by one to identify which field is over-constraining your query.