POST /api/greenhouse/jobs/search
Price: 10 credits
List all open job postings from a company's Greenhouse job board by board token: title, location, company, requisition id, departments and offices, metadata and posting dates. Set content to also include each job's full description, and pay_transparency to also include its published pay ranges.
List the open jobs of a specific company's Greenhouse board. board_token is the company slug from its career board URL (e.g. stripe); count is how many jobs to return; set content=true to include each job's full description. Each item has id, title, location, url, company_name, requisition_id, metadata, updated_at and first_published_at. Pay ranges arrive only when pay_transparency=true, so an empty pay_ranges without that flag means it was not requested, not that the company published no pay. A job can carry several ranges, one per geographic pay zone; min_cents and max_cents are minor currency units of currency_type, and nothing in the response states the pay basis — the range's title usually does not name it, and one identical title carries an hourly rate on one job and an annual salary on another. Most ranges are annual and a few thousand USD cents is an hourly rate, so judge by magnitude against the currency and, where that leaves it open, hand the figure to the user without calling it a salary.
access-token string requiredtimeout integer — Max scrapping execution timeout (in seconds) (default: 300; min: 20; max: 1500)board_token string required — Company job board token (the company slug from its Greenhouse career board URL) (examples: "stripe", "coinbase", "airbnb"; minLength: 1)count integer required — Max number of jobs to return (min: 1)content boolean — Include the full job description for every job in the result (default: false)pay_transparency boolean — Include the published pay ranges (pay_ranges) for every job in the result. Jobs the company has not published a range for come back with an empty list (default: false)@type string (default: "GreenhouseJob")id integer requiredlocation string nullableurl string nullablecompany_name string nullablelanguage string nullablerequisition_id string nullableinternal_job_id integer nullabledescription string nullableupdated_at string nullablefirst_published_at string nullableeducation string nullableemployment string nullabledepartments array (default: [])@type string (default: "GreenhouseDepartmentRef")id integer requiredname string nullableparent_id integer nullablechild_ids array (default: [])offices array (default: [])@type string (default: "GreenhouseOfficeRef")id integer requiredname string nullablelocation string nullableparent_id integer nullablechild_ids array (default: [])questions array (default: [])@type string (default: "GreenhouseQuestion")label string nullabledescription string nullablerequired boolean nullablefields array (default: [])@type string (default: "GreenhouseQuestionField")name string nullabletype string nullablevalues array (default: [])location_questions array (default: [])@type string (default: "GreenhouseQuestion")label string nullabledescription string nullablerequired boolean nullablefields array (default: [])@type string (default: "GreenhouseQuestionField")name string nullabletype string nullablevalues array (default: [])demographic_questions object nullable@type string (default: "GreenhouseDemographicQuestions")header string nullabledescription string nullablequestions array (default: [])@type string (default: "GreenhouseDemographicQuestion")id integer nullablelabel string nullabletype string nullablerequired boolean nullableanswer_options array (default: [])compliance array (default: [])@type string (default: "GreenhouseCompliance")type string nullabledescription string nullablequestions array (default: [])@type string (default: "GreenhouseQuestion")label string nullabledescription string nullablerequired boolean nullablefields array (default: [])metadata array (default: [])@type string (default: "GreenhouseJobMetadata")id integer nullablename string nullablevalue anyvalue_type string nullabledata_compliance array (default: [])@type string (default: "GreenhouseDataCompliance")type string nullablerequires_consent boolean nullablerequires_processing_consent boolean nullablerequires_retention_consent boolean nullableretention_period integer nullablepay_ranges array (default: [])@type string (default: "GreenhousePayRange")min_cents integer nullablemax_cents integer nullablecurrency_type string nullableblurb 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 — Board token does not exist 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.