meridianlabs/greenhouse-lever-ashby-jobs-scraper
meridianlabs--greenhouse-lever-ashby-jobs-scraperDestructive
This tool calls the Actor "meridianlabs/greenhouse-lever-ashby-jobs-scraper" and retrieves its output results. Actor description: Live open jobs from Greenhouse, Lever, Ashby, Workable, Recruitee and Teamtailor boards, with salary as min, max, currency and period. Filter by minimum salary or jobs posted in the last 24 hours. Paste URLs, domains or names. $2 per 1,000 jobs; unsupported companies free.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | Monitor mode remembers which jobs it delivered (stable IDs in a named key-value store in your account) and saves, and charges, only jobs that are new or changed since the last run, plus free 'closed' notices for jobs that disappeared. The first monitor run sees every job as new. Schedule it daily for a hiring-signal feed. Example values: "all" | all |
| systems | No | Leave empty for all six. Companies on other systems get a free 'not_supported' status row. | |
| waitSecs | No | Max seconds (0–45, default 30) to cap the wait for the Actor run to reach terminal state. For long-running Actors the response returns at the cap with the current run status; follow `nextStep` to poll via get-actor-run. Set to 0 to fire-and-forget. | |
| companies | Yes | **REQUIRED** One per line: a job-board URL (https://jobs.lever.co/company), a careers page URL, a domain (company.com) or a company name. The hiring system is detected automatically. Every company gets a free status row saying what was found; companies on unsupported systems (Workday, iCIMS, ...) are reported, never charged. Example values: ["https://job-boards.greenhouse.io/tubitv","https://jobs.lever.co/genbio","https://jobs.ashbyhq.com/revenuecat","https://qualifyzegmbh.recruitee.com/","https://ube-careers.teamtailor.com/jobs","flowx.ai","https://nvidia.wd5.myworkdayjobs.com/NVIDIAExternalCareerSite"] | |
| locations | No | Keep jobs whose location, city or region contains one of these, or whose country code matches a 2-letter code, e.g. US, Germany, London, Remote. | |
| minSalary | No | Drop jobs that pay less than this, in the currency and pay period chosen below, e.g. 120000 USD per year. Each job's normalised salary is converted: other currencies at the European Central Bank's daily reference rates (fetched once per run), other pay periods on a full-time basis (1 year = 12 months = 52 weeks = 260 days = 2,080 hours). Jobs with no salary listed are kept unless you switch on the option below. Dropped jobs are not charged. | |
| remoteOnly | No | Keep only jobs the hiring system marks (or the location states) as fully remote. Hybrid jobs are not remote. | |
| monitorName | No | Only used in monitor mode. Runs with the same name share one memory of delivered jobs; use a different name for each separate watch list (letters, digits, hyphens). Example values: "default" | default |
| failOnErrors | No | Useful for schedules: the run is marked failed (so Apify can alert you) if a board could not be fetched, or a board URL you gave no longer exists. Failed companies are never charged. | |
| titleKeywords | No | Keep only jobs whose title contains one of these words or phrases (whole words, case-insensitive), e.g. engineer, product manager. Filters apply after the board is fetched; only saved jobs are charged. | |
| maxConcurrency | No | How many companies to work on at once. Requests to the same hiring system are always spaced out politely (robots.txt and crawl delays are obeyed), so more parallelism mostly helps mixed lists. Example values: 5 | |
| onlyWithSalary | No | Keep only jobs with a salary (from the hiring system's pay field or the ad text). | |
| minSalaryPeriod | No | Only used with a minimum salary. Hourly, daily, weekly and monthly pay is converted on a full-time basis (2,080 hours, 260 days, 52 weeks, 12 months a year). Example values: "year" | year |
| postedWithinDays | No | Keep only jobs first published in the last N days. Jobs without a publish date are dropped when this is set, unless you switch on 'Keep jobs without a posted date'. | |
| maxJobsPerCompany | No | Save at most this many jobs per company (after filters). Leave empty for all. A simple way to cap cost. Example values: 10 | |
| minSalaryCurrency | No | Only used with a minimum salary. Jobs paid in other currencies are converted to this one before comparing. Example values: "USD" | USD |
| postedWithinHours | No | Keep only jobs published in the last N hours, e.g. 24 for the last day, 168 for the last week. Uses each hiring system's publish date (the posted_at field): Greenhouse first_published (its updated_at when that is missing), Lever createdAt (Lever publishes no separate publish date), Ashby publishedAt, Workable published_on (a date without a time, so a job dated the day the window starts counts as inside it), Recruitee published_at, Teamtailor pubDate. If you also set days, both must pass. [Description truncated] | |
| includeCompanyRows | No | On: one free row per company (record_type 'company') alongside the job rows. Off: the dataset holds job rows only; the status rows are still saved in the run's key-value store as COMPANIES. Example values: true | |
| includeDescription | No | Personal email addresses and phone numbers are removed from descriptions either way. 'None' gives structured fields only (title, location, salary...). Same price. Example values: "text" | text |
| minSalaryAppliesTo | No | Only used with a minimum salary. Example with a minimum of 120,000: a job paying 100,000 to 140,000 is kept with 'Top' and dropped with 'Bottom'. The headline range is used (the salary min and max fields). Example values: "top" | top |
| excludeTitleKeywords | No | Drop jobs whose title contains any of these, e.g. intern, senior. | |
| minSalaryExcludeUnknown | No | Only used with a minimum salary. Off (default): jobs with no salary listed, or whose pay can't be compared (no currency or pay period, or a salary flagged 'suspect' as a likely typo), are kept, so you don't miss roles that don't publish pay. On: they are dropped and not charged. | |
| keepJobsWithoutPostedDate | No | Only used with a 'posted within' filter. Off: jobs whose hiring system gives no publish date are dropped (they can't be shown to be recent). On: they are kept. |
Output Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| tip | No | Advisory guidance RAG Web Browser wrote to its key-value store under the reserved "TIP" key | |
| runId | Yes | Actor run ID | |
| stats | No | Run statistics | |
| status | Yes | Run status: READY | RUNNING | TIMING-OUT | TIMED-OUT | ABORTING | ABORTED | SUCCEEDED | FAILED | |
| actorId | Yes | Stable Apify Actor ID from the run record | |
| summary | Yes | Past-tense summary of the run state | |
| exitCode | No | Actor process exit code; populated for terminal states (especially FAILED) | |
| nextStep | Yes | One primary follow-up action with identifiers interpolated | |
| storages | Yes | Dataset and key-value store metadata, keyed by alias. "default" is always the primary entry. | |
| actorName | No | "username/actor-name" | |
| startedAt | No | ISO timestamp when the run started | |
| finishedAt | No | ISO timestamp when the run finished (terminal states only) | |
| statusMessage | No | Pass-through from Apify run.statusMessage | |
| apifyConsoleUrl | No | Personalized Apify Console link to the run; present only for Console sessions |