| jobs | No | Postings pasted as JSON objects (title, company, location, description) or plain description strings. Use this OR “Job postings dataset”.
Example values: [{"title":"Senior Data Analyst","company":"Example Co","location":"Chicago, IL","description":"Hybrid role: 3 days a week in our Chicago office. 5+ years of SQL and BI experience required. Full-time. Salary $110,000–$130,000 per year. We are unable to sponsor work visas."},{"title":"Warehouse Associate","company":"Example Logistics","location":"Dallas, TX","description":"Entry level — no experience needed, we train you. Part-time evening shifts, in person at our Dallas warehouse. $18/hour."}] | |
| skills | No | Up to 100 skills, tools or keywords (e.g. Python, SQL, Salesforce, CDL, RN license). Each posting gets a `skills` column with the ones it mentions — whole words, matched by code at no extra charge. Not case-sensitive, except short skills typed with a capital (`Go`, `R`, `C`): those must appear as typed, so the word "go" or "Go-to-Market" does not count as Go.
Example values: ["Python","SQL","AWS","Excel","Salesforce"] | |
| maxItems | No | Classify at most this many postings (0 = all). | |
| 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. | |
| datasetId | No | An Apify dataset of job postings — for example the output of a LinkedIn or Indeed jobs scraper. Use this OR “Job postings”. | |
| healthCheck | No | Internal: fail the run when results look degraded (used by the developer's scheduled checks). | |
| customLabels | No | Up to 10 extra yes/no checks (each up to 200 characters) in plain language, e.g. “requires a security clearance”, “mentions Python”, “offers a signing bonus”. Each gets a probability. | |
| postedWithin | No | e.g. `7 days`, `2 weeks`, `1 month`. Older postings are skipped (not charged). Postings without a date are kept. | |
| maxPerCompany | No | Classify at most this many postings per company. 0 = no limit. | |
| titleExcludes | No | Free filter, e.g. "intern", "senior", "manager". | |
| titleIncludes | No | Free filter on the job title, e.g. "engineer", "nurse". Not case-sensitive. | |
| labelThreshold | No | Minimum probability (0–1) for a custom label to be marked as matched.
Example values: 0.5 | |
| maxConcurrency | No | Postings classified in parallel.
Example values: 10 | |
| dedupeAcrossBoards | No | The same job ID, or the same title + company + city (e.g. from LinkedIn and Indeed), is classified and charged once.
Example values: true | |
| minDescriptionChars | No | Dataset postings with a shorter description (or none — some scrapers only return titles) are skipped and not charged: a title alone is not enough to judge work mode, experience or visa.
Example values: 120 | |