Search Jobs Tool
search-jobs-toolSemantic + structured search over Hosco hospitality jobs. Mirrors the smart filtering and ranking from hosco-v2: hard-excludes private/expired/inactive postings, supports visibility/promotion/external filters, configurable language matching (subset/any/all), and the v2 "suggested" ordering (relevance → Hosco-native → VIP → freshness). Returns ranked matches with relevance scores.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | City name (exact match against hosco_location.locality). | |
| sort | No | Ordering: "suggested" (default — relevance, then Hosco-native, then VIP, then freshness), "posted" (newest activation date), "update_date" (most recently updated), "title" (alphabetical). | |
| limit | No | Page size (1–50, default 10). | |
| query | No | Natural-language search (e.g. "sommelier in Paris fine dining"). When provided, ranks by semantic similarity. When omitted, returns latest jobs filtered + sorted by the structured options. | |
| offset | No | Pagination offset (default 0). | |
| country | No | ISO-3166 alpha-2 country code, e.g. FR, GB, ES. | |
| languages | No | Candidate language codes, e.g. ["en","fr"]. Matched against the job's mandatory fluency requirement ("Require fluency in" in hosco-v2), not the language the ad is written in. Combined with languages_mode. | |
| department | No | Hosco category code, e.g. f-b-kitchen, housekeeping, sommelier, reception. | |
| posted_after | No | ISO date; only return jobs published on or after this date. | |
| visibilities | No | Visibility tiers to include: public, targeted, lite, prime (private is never returned on this public surface). | |
| contract_type | No | One of: internship (students only), professional (professionals only), open (both). | |
| hide_external | No | Hide jobs sourced from external aggregators (Hosco-native only). | |
| only_external | No | Only return jobs sourced from external aggregators. | |
| languages_mode | No | How to interpret `languages`: "all" (job must require every code; default), "any" (job requires at least one of them), "subset" (job's required languages must all be in the provided list — i.e. the candidate speaks them all). | |
| promotion_types | No | Filter to specific promotion statuses: 0=disabled, 1=prime, 2=lite-basic, 4=lite-full. Status 3 (private) is always excluded. | |
| content_language | No | Language code the job ad itself is written in (auto-detected), e.g. "en", "fr". Use this to only show postings the candidate can actually read — unrelated to the languages filter below. | |
| experience_years_max | No | Maximum years of experience the candidate has — only show jobs requiring less than or equal to this. |