Search open jobs by title on 1,302 company career sites, read live from Greenhouse, Lever, Ashby and Workday during the run. Filter by location, remote or hybrid, employment type, seniority, department, posting date and salary. One format for every source. Pay per job.
First build for the Store. Built on 2026-10-04 and brought to the shared posting format on 2026-10-07.
Searches open jobs by job title across the built-in list of 1,302 company job boards (723 on
Greenhouse, 200 on Lever, 374 on Ashby, 5 Workday careers sites; checked 2026-10-04), read live
from each board during the run. Extra companies can be added by job board address or board name.
Filters: title keywords, excluded title keywords, locations, excluded locations, remote only,
workplace types, employment types, seniority, departments, posted within days, has salary,
minimum yearly salary, companies, excluded companies, job board systems.
New on 2026-10-07: employmentTypes, workplaceTypes, excludeLocations and departments.
departments on Greenhouse: the job list Greenhouse serves without descriptions names no
department (and no offices), so with the filter set each Greenhouse company that has a job
passing the other filters is asked for its departments in one more request. Without the filter a
Greenhouse row has department only when Include job description is on.
Output: 27 fields per job, every field on every row. New on 2026-10-07: employmentTypeText and
salarySource; employmentType and salaryInterval are in one vocabulary
(full_time, part_time, contract, temporary, internship; year, month, week, day,
hour); pay is also read from the pay ranges companies publish on Greenhouse and from a pay
range written in the description.
seniority uses the vocabulary of ATS Job Postings: entry replaces junior, and a title such
as "Product Manager" states no rank.
With Include job description on, a board is listed without descriptions and the description is
fetched only for the jobs that are saved: one more request for a small board (up to 300 postings
on Greenhouse, under 100 on Lever, any Ashby board), one request per saved job for a larger one.
Memory then follows the jobs that are saved, not the size of the boards that are searched.
The salary filters decide on the pay a job system states in its own fields and, on Lever, Ashby
and Workday, on a pay range written in the description. On Greenhouse a figure that appears only
in the description is not used by the filters.
Requests: at most 4 a second to one job board host and 1 a second to Lever, whose robots.txt
asks for a crawl delay of one second. Three refusals in a row end the requests to a host for the
run. A pass over every company took 271 seconds when measured on 2026-10-07.
Charging: one apify-default-dataset-item event per saved job. A restarted run asks the dataset
which jobs are stored and saves none of them twice.
A RUN_SUMMARY record says how many companies were searched, which were skipped or searched only
in part and why, and why the run stopped.
Changed at verification on 2026-10-08, before the first push:
With a maximum charge set, single postings are read only for as many jobs as that charge still
pays for, and a company that answers after the charge is spent is left as not reached. Before,
a run limited to 3 jobs read 400 postings of one large board for their descriptions.
A run that fails with nothing saved no longer says "No job matched ... try a shorter title". It
says "Saved 0 jobs, and the search is not complete", followed by the first problem.
A company given both by name and by its job board address is searched once, also when the
built-in list does not hold it.
A posting whose fields other than the description exceed 1 MB is left out and counted. Before,
one such posting made the dataset refuse the whole push and ended the run.