Monitor Job Postings
monitor_job_postingsSearch job boards for specified roles and return enriched postings with company firmographics and LinkedIn URLs, filtered by location, recency, and company size.
Instructions
Find companies that are hiring for a set of role keywords across public job boards, and return one flat row per posting enriched with company firmographics and the company LinkedIn URL. Discovery runs through Google Jobs, and passing your own SerpAPI key runs that search on your own quota. Postings are filtered by age, by country, and optionally by employee count, and staffing agencies and freelance marketplaces are dropped by default because they are noise for direct outreach. A cross run delta cache means a repeat run returns only postings it has not emitted before, and previous_run_date lets you set that watermark yourself. max_results caps how many raw postings are pulled before filtering and max_companies caps how many unique companies get enriched, so the two together are the cost dial. Requires an APIFY_TOKEN and consumes Apify credits. Read only: this discovers and enriches, it writes nothing.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| country | No | Geographic filter, e.g. United States, United Kingdom, Canada. Default: "United States". | |
| keywords | Yes | Editorial / content role titles to search for across job boards. | |
| max_results | No | Upper bound on raw postings pulled from the discovery source before filtering. Higher values cost more. Default: 100. | |
| remote_only | No | Only return remote / work-from-home postings. Default: false. | |
| serpapi_key | No | SerpAPI key used for Google Jobs discovery (get a free key at serpapi.com, 250 searches/month, no card). Required to produce results unless a SERPAPI_KEY environment variable is set on the actor. | |
| lookback_days | No | Only return postings newer than this many days. Default: 30. | |
| max_companies | No | Cap on unique companies enriched per run (firmographics + LinkedIn). Bounds sub-actor cost. Default: 40. | |
| company_size_max | No | Optional. Drop companies larger than this (only applied when company size is known). | |
| company_size_min | No | Optional. Drop companies with fewer employees than this (only applied when company size is known). | |
| previous_run_date | No | Optional ISO date (e.g. 2026-06-01) of your last run. Only postings newer than this are emitted, on top of the built-in cross-run delta cache. | |
| freelance_marketplaces | No | Company names treated as freelance marketplaces and excluded when the toggle above is on. Defaults shown; override or extend as needed. Default: ["Upwork", "Fiverr", "Freelancer", "Toptal", "PeoplePerHour", "Guru", "99designs"]. | |
| exclude_staffing_agencies | No | Filter out staffing and recruitment agency postings using name and job-description heuristics. Default: true. | |
| exclude_freelance_marketplaces | No | Filter out postings where the company is a freelance marketplace (Upwork, Fiverr, etc.), which are noise for direct outreach. Default: true. |