| q | No | Optional full-text query over title, company and description, max 256 characters. | |
| city | No | Optional exact city filter, max 128 characters. | |
| page | No | Result page number, 1-based, default 1. | |
| sort | No | Optional sort order. Allowed values: relevance, posted_desc, company_asc. | |
| state | No | Optional exact state/region filter, max 128 characters. | |
| remote | No | Optional remote filter. Allowed values: true, false; omit for either. | |
| company | No | Optional exact company filter, max 128 characters. | |
| country | No | Optional exact country filter, max 128 characters. | |
| location | No | Optional exact location filter, max 128 characters. | |
| provider | No | Optional exact ATS provider filter (e.g. greenhouse, lever, workday), max 128 characters. | |
| page_size | No | Page size, default 20, max 100. | |
| department | No | Optional exact department filter, max 128 characters. | |
| job_family | No | Optional exact job-family filter, max 128 characters. | |
| max_salary | No | Optional maximum salary; requires salary_currency when set. | |
| min_salary | No | Optional minimum salary; requires salary_currency when set. | |
| include_closed | No | Optional filter to include closed postings; defaults to false (open only). | |
| workplace_type | No | Optional workplace-type filter. Allowed values: onsite, hybrid, remote. | |
| employment_type | No | Optional exact employment-type filter, max 128 characters. | |
| salary_currency | No | Required 3-letter ISO currency code (e.g. USD) when min_salary or max_salary is set. | |