| maxJobs | No | Cost cap: stop after this many jobs across all companies (each job is one billed result). 0 = no total limit. Example: 50. | |
| keywords | No | Keep jobs whose title contains ANY of these words (case-insensitive). Example: ["engineer", "data"]. Set searchInDescription to true to also match the description. | |
| stateKey | No | Use different IDs to keep separate watch lists (e.g. one per client or alert).
Example values: "default" | default |
| 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** Required. Companies to get open jobs for, one per entry. Each entry can be: a company name ("Stripe"), a careers page ("https://www.notion.so/careers"), a job-board URL ("https://jobs.ashbyhq.com/ramp", "https://intel.wd1.myworkdayjobs.com/External") or "platform:slug" ("lever:palantir"). Workday and Oracle need a URL. Guessed boards are checked against the company name; mismatches are reported, not charged.
Example values: ["stripe","lever:palantir","https://jobs.ashbyhq.com/ramp","https://intel.wd1.myworkdayjobs.com/External"] | |
| locations | No | Keep jobs whose location, city, country or ISO country code contains ANY of these. Example: ["London", "Germany", "US", "Remote"]. "Remote" also matches jobs flagged remote. | |
| minSalary | No | Keep only jobs whose posted pay reaches this yearly amount (0 = off). Hourly, daily, weekly and monthly pay is converted to yearly (hourly x 2080, monthly x 12); a range passes when its top end reaches the minimum. Jobs with no salary are dropped unless 'Include jobs without salary' is on. Example: 120000 | |
| platforms | No | Only used when an entry is a plain company name: which ATS to try. Leave empty to try all guessable ATS in order of market share. URLs and "platform:slug" entries ignore this. Example: ["greenhouse", "lever"]. | |
| remoteOnly | No | Keep only jobs flagged remote (from the ATS remote/workplace field, or "Remote" in the location). | |
| departments | No | Keep jobs whose department or team contains ANY of these. Example: ["Engineering", "Sales"]. | |
| monitorMode | No | off (default) = return all matching jobs. new = only jobs not returned in earlier runs with the same stateKey (the first run is the baseline and returns everything). changes = new jobs plus a record with changeType "removed" for each previously returned job that has closed. Use with a schedule.
Example values: "off" | off |
| postedSince | No | Keep jobs posted after this date. Absolute ("2026-10-01") or relative ("7 days", "24 hours", "2 weeks"). Platforms without a posted date use the last-updated date. | |
| referrer_id | No | Referral code from another user's receipt (ref_...). They earn 10% of this run's price as credit. | |
| emitStatusRow | No | Off by default so the output shape doesn't change. When on, every company that returns zero jobs gets one free (never charged) dataset row with recordType "status", its status (not_found, ok_no_open_jobs, uncertain_match, error...), the error and a suggestion. Useful for AI agents that only read the dataset. Job rows have no recordType field. The same details are always in the OUTPUT record. | |
| buyerPublicKey | No | Base64 Ed25519 public key (SPKI). Lets you sign a useful/not useful verdict on this run's receipt. Verdicts are recorded but never earn credit or discounts. | |
| maxConcurrency | No | How many companies to fetch in parallel (1-10). Keep it low to be polite.
Example values: 4 | |
| salaryCurrency | No | Optional 3-letter currency for the minimum salary. Jobs paid in another currency are dropped; jobs with an unknown currency count as 'without salary'. Leave empty to compare amounts in any currency. Example: USD | |
| stateStoreName | No | Named key-value store that keeps seen job IDs between runs.
Example values: "career-jobs-state" | career-jobs-state |
| excludeKeywords | No | Drop jobs whose title contains any of these words. Example: ["intern", "senior"]. | |
| workdayDiscovery | No | When a plain company name (like "Intel") isn't found on the guessable job boards, look for a myworkdayjobs.com link on the company's own website, then try common Workday board addresses. Adds a few seconds for names that aren't found. Turn off to skip.
Example values: true | |
| detailConcurrency | No | Parallel per-job detail requests (descriptions, exact dates) on platforms that need them (1-20).
Example values: 8 | |
| maxJobsPerCompany | No | Cost cap: at most this many jobs per company (each job is one billed result). Default 100. Set 0 to get every open job (large Workday/Oracle boards can have 5,000+). In monitoring modes, jobs beyond the cap show up as new in later runs, so use 0 there.
Example values: 10 | |
| verifyCompanyName | No | When a board was found by guessing a slug from a name or domain, check that the board's company name matches. Mismatches are skipped (status uncertain_match, nothing charged). Turn off only if you know your names are exact slugs.
Example values: true | |
| includeDescription | No | Add descriptionText and descriptionHtml to each job (emails, phone numbers and named recruiters removed) and extract salary from the text. Slower on SmartRecruiters, Workday, Oracle, BambooHR and Rippling (one extra request per job). | |
| requestTimeoutSecs | No | Per-request timeout. Failed requests are retried up to 3 times with backoff.
Example values: 30 | |
| onlyNewSinceLastRun | No | Same as monitoring mode "new". Kept for backwards compatibility. | |
| searchInDescription | No | Also match keywords inside the job description (whole-word match, so "go" won't match "Google"). Descriptions are fetched for matching but only included in the output when "Include job description" is on. Slower on platforms that need one request per job (SmartRecruiters, Workday, Oracle, BambooHR, Rippling). | |
| includeJobsWithoutSalary | No | With a minimum salary set, also keep jobs that publish no usable salary (or an unknown pay period). Off by default, so only jobs with verified pay are returned and charged. | |