Match jobs to a candidate
match_jobsFind and rank the best live postings for one specific candidate, such as someone who shared a resume or described their experience, skills or visa needs. Slow: it reads each posting's full description, so a call can take 10 to 15 seconds. For browsing, listing or counting postings, use search_jobs, which answers in under a second. Filters active jobs by title terms (any of them; a term matches when the title holds all its words), excluded title terms, companies, locations and posting window, then takes the newest 300 of that pool (pool_total says how many matched) and reads each full description. It drops postings with no usable description, postings whose stated minimum years of experience exceed candidate_years by more than 1, and, with needs_sponsorship, postings that refuse sponsorship or require citizenship or a clearance; dropped counts each reason. The rest are ranked by how many skills appear in the description, then newest first. Each result carries skills_matched, years_bar, flags and up to 6 requirement sentences. The screening is heuristic: read finalists in full with get_job.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Results to return, default 15. | |
| skills | No | Specific skills and domain terms from the resume, as whole words or phrases. They rank results and never filter. | |
| titles | No | Title terms, any of which may match. A term matches when the title contains all its words as whole words, in any order: "software engineer" also matches "Engineer, Software". Required unless companies is given. | |
| companies | No | Exact company names from list_companies. With titles, a posting must match both. | |
| locations | No | country-XX (ISO alpha-2) for a country, or state and city identifiers from search_locations. Omit for worldwide. | |
| work_mode | No | Only postings explicitly marked remote or hybrid. | |
| posted_within | No | Posting window: 24h, 7d (default) or 30d. | 7d |
| exclude_titles | No | Title terms that remove a posting, matched like titles, e.g. "senior", "staff", "lead", "manager". | |
| candidate_years | No | Candidate years of professional experience; drops postings that require more than one year beyond it. | |
| include_anywhere | No | With locations, also keep fully remote "Anywhere" postings. Default true. | |
| exclude_companies | No | Company names to leave out, case-insensitive, e.g. the current employer. | |
| needs_sponsorship | No | Drop postings that refuse visa sponsorship or require citizenship or a security clearance. Default false. |