POST /api/recruitee/jobs/search
Price: 20 credits
List the published job postings of one company's Recruitee career board, optionally narrowed by department or tag. Every posting is returned in full: title, department, employment type, workplace type, location and structured locations, HTML description and requirements, salary range, weekly hours, tags, application form settings, screening questions, per-locale translations, publication dates and the hosted and apply URLs.
Lists one company's board — Recruitee has no cross-company search, so the handle must already be known. company takes the Recruitee handle, a board host or a board URL; prefer the handle, because a company's own career domain sometimes points at an unrelated site while the handle still serves the board. Rows are complete postings, so recruitee/jobs adds nothing for a posting already listed here. department must match the board's own spelling exactly, including case. count only trims the rows returned; the board serves no limit of its own. A live board with no published postings answers with an empty list, while an unknown handle is a 412.
access-token string requiredtimeout integer — Max scrapping execution timeout (in seconds) (default: 300; min: 20; max: 1500)company string required — Company board. Accepts the Recruitee handle, a board host, or a full board or offer URL (examples: "conclusion", "trustedshops.recruitee.com", "https://jobs.channable.com/"; minLength: 1)count integer required — Max number of job postings to return (min: 1; max: 1000)department string nullable — Filter by department, matched in full and case-sensitively (examples: "Conclusion Consulting", "Operations"; minLength: 1)tag string nullable — Filter by a tag the board assigns to a posting (examples: "Engineering"; minLength: 1)@type string (default: "RecruiteeJob")id integer requiredcompany string requiredguid string nullablealias string nullablestatus string nullableposition integer nullablecompany_name string nullabledepartment string nullablecategory_code string nullableemployment_type string nullableexperience_code string nullableeducation_code string nullableworkplace_type string nullableremote boolean nullablehybrid boolean nullableon_site boolean nullablelocation string nullablecity string nullablestate_name string nullablestate_code string nullablecountry string nullablecountry_code string nullablepostal_code string nullablelocations array (default: [])@type string (default: "RecruiteeLocation")id integer nullablename string nullablecity string nullablestate string nullablestate_code string nullablecountry string nullablecountry_code string nullablepostal_code string nullablestreet string nullablenote string nullabletranslations array (default: [])@type string (default: "RecruiteeLocationTranslation")locale string requiredname string nullablecity string nullablepostal_code string nullablestreet string nullablenote string nullabledescription string nullablerequirements string nullablehighlight string nullabletags array (default: [])salary_range object nullable@type string (default: "RecruiteeSalaryRange")currency string nullableinterval string nullablemin number nullablemax number nullablemin_hours integer nullablemax_hours integer nullablemin_hours_per_week number nullablemax_hours_per_week number nullablecreated_at integer nullablepublished_at integer nullableupdated_at integer nullableclose_at integer nullablehosted_url string nullableapply_url string nullablemailbox_email string nullablecover_image string nullablesharing_title string nullablesharing_description string nullablesharing_image string nullablelocations_question string nullablelocations_question_type string nullablelocations_question_required boolean nullablelocation_question_visible boolean nullableapply_form array (default: [])@type string (default: "RecruiteeApplyFormField")name string requiredmode string nullableopen_questions array (default: [])@type string (default: "RecruiteeOpenQuestion")id integer nullableposition integer nullablebody string nullablekind string nullablerequired boolean nullableconstraints object nullable@type string (default: "RecruiteeQuestionConstraints")currency string nullablelength integer nullableoptions array (default: [])@type string (default: "RecruiteeQuestionOption")id integer nullableposition integer nullablebody string nullabletranslations array (default: [])translations array (default: [])@type string (default: "RecruiteeTextTranslation")locale string requiredbody string nullabletranslations array (default: [])@type string (default: "RecruiteeOfferTranslation")locale string requireddescription string nullablerequirements string nullablehighlight string nullablesharing_title string nullablesharing_description string nullablesharing_image string nullablelocations_question string nullable422 — The request body did not validate Check the fields against this schema. A URN with the wrong prefix is the most common cause.408 — The request ran past its time limit Raise `timeout` in the request body, up to the maximum this endpoint documents. Lowering `count` or turning off the `with_*` flags also helps, because less work finishes sooner.412 — Company board not found, or the host given does not serve a Recruitee board Retrying will not help: either the entity does not exist, or the input points at a different one.429 — Too many requests: a rate limit or a usage window is exhausted When the response carries an X-Retry-After header, wait that many seconds and retry: the same number is in the body as `detail.retry_after`, and the limit clears once that window passes. The message in the body names the limit that was hit.500 — Something broke on our side Retrying will not help. If it keeps happening, send us the X-Request-ID from the response headers.529 — Rate limit reached, or the endpoint is overloaded Wait at least 30 seconds, then retry.X-Error — Error message text (present only on error)X-Request-ID — Unique request identifierX-Execution-Time — Execution time in secondsX-Result-Count — How many records the body carries. 0 means an empty result, which is a normal answer and not by itself an error. A non-zero count can come back together with X-Error when the failure happened partway through — read this header and X-Error independently.X-Total-Available-Results — How many records exist for this query, when the endpoint can say. On a `dry_run` request this is the answer and the body is empty. It saturates: the endpoint's documented maximum means 'at least that many', any smaller number is exact.X-Warning — Present when the request body carried keys this endpoint does not document. They were ignored, so any filter you meant to apply through them did not apply. Check the spelling against this schema and retry.X-Retry-After — Seconds to wait before retrying. Present only on 429.