Company Jobs Finder & New-Jobs Monitor (11 ATS)
Pricing
from $1.50 / 1,000 job returneds
Company Jobs Finder & New-Jobs Monitor (11 ATS)
Give company websites, get every open job from their job board: Greenhouse, Lever, Ashby, Workable, SmartRecruiters, Recruitee, Personio, Teamtailor, BambooHR, Workday, Breezy. Working filters, no duplicates, and a monitor mode that returns only new jobs.
Pricing
from $1.50 / 1,000 job returneds
Rating
0.0
(0)
Developer
Southern Data
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
8 hours ago
Last modified
Categories
Share
Give it a list of company websites. For each one it finds the company's job board (Greenhouse, Lever, Ashby, Workable, SmartRecruiters, Recruitee, Personio, Teamtailor, BambooHR, Workday, Breezy) and returns every open job as one clean row. Or switch to monitor mode and schedule it: each run returns only the jobs that are new since the last run.
- Domain in, jobs out.
linear.app,https://notion.com, a careers page, or a board link such ashttps://jobs.lever.co/acme. One company list, all providers, one output format. - Only official public job-board feeds. The same feeds the companies use to publish their jobs on their own careers pages. No logins, no bypassing protection, no LinkedIn or Indeed scraping.
- Filters that work on every board. Title, excluded words, location, department, workplace type (remote/hybrid/onsite) and posting date are applied by this Actor to every job, whatever the provider supports. The run summary tells you how many jobs each filter removed, so you can see it working.
- No duplicates. Repeat postings of the same job (one per hiring slot) are merged into one row by default (
duplicatesMergedsays how many), and a board reached from two inputs is listed once. - New-jobs monitor. Remembers which jobs it has already seen in a named key-value store in your account, so a daily schedule plus a webhook or Slack/email integration gives you "new jobs at these companies" alerts.
Pricing
| Event | Price | When |
|---|---|---|
company-checked | $0.001 | A company's job board was found and read |
job | $0.0015 | Each job row returned (all-jobs mode) |
new-job | $0.003 | Each new job returned in monitor mode |
1,000 jobs from 50 companies cost $1.55. A daily monitor of 100 companies costs $0.10 per run plus $0.003 per new job. Free: companies where no board is found, invalid input, duplicate inputs, jobs removed by your filters, and the jobs a monitor has already shown you. The log shows the cost before the run starts. Set Maximum cost per run and the Actor stops cleanly there (the rest of the list goes to the REMAINING record, free).
Quick start
- Click Try for free.
- Paste company websites, one per line (or comma-separated), or paste a link to a CSV / TXT file or a Google Sheet (shared as "Anyone with the link can view") in companiesFileUrl. A column named
website,domain,url,company website,careers url(or similar) is used automatically. - Optional: add filters, e.g. title
engineer, locationberlin, germany, remote. - Click Start. Open the Output tab: Jobs, Job details, Companies (not found / no match) or All fields. Download as CSV, Excel or JSON.
Monitor: set What to return to new_jobs, give it a Monitor name (e.g. my-target-accounts), and add a daily schedule. The first run saves the current jobs as the baseline (only company-checked is charged; turn on Return current jobs on the first run if you want them too). Every later run returns only jobs that weren't there before.
Via API:
curl -X POST "https://api.apify.com/v2/acts/southern-data~company-jobs-finder/run-sync-get-dataset-items?token=$APIFY_TOKEN" \-H 'Content-Type: application/json' \-d '{"companies":["linear.app","notion.com","https://jobs.lever.co/palantir"],"titleKeywords":["engineer"],"locationKeywords":["remote","europe"]}'
Shorthand works too when you already know the board: greenhouse:figma, lever:palantir, ashby:linear, workday:tenant/Site@wd5.
Example row
A real row from a monitor run (new_jobs mode, input ashby:ramp), trimmed:
{"rowType": "job","input": "ashby:ramp","company": "Ramp","ats": "ashby","boardUrl": "https://jobs.ashbyhq.com/ramp","detectionMethod": "ats_url_input","confidence": "high","status": "ok","jobId": "34413f8d-26bf-4bbc-8ade-eb309a0e2245","jobKey": "2eh88o1bsuoru","title": "Security Engineer, Cloud","department": "Engineering","team": "Backend","location": "New York, NY (HQ)","locations": ["New York, NY (HQ)", "Remote (Canada)", "Remote (US)", "Miami, FL"],"country": "United States","workplaceType": "hybrid","employmentType": "Full-Time","postedAt": "2026-04-07T17:12:35.753Z","jobUrl": "https://jobs.ashbyhq.com/ramp/34413f8d-26bf-4bbc-8ade-eb309a0e2245","applyUrl": "https://jobs.ashbyhq.com/ramp/34413f8d-26bf-4bbc-8ade-eb309a0e2245/application","salaryMin": 211400,"salaryMax": 290600,"salaryCurrency": "USD","salaryPeriod": "year","salaryText": "$211.4K – $290.6K • Offers Equity","duplicatesMerged": 0,"isNew": true,"firstSeenAt": "2026-11-01T03:11:26.006Z"}
Every row has the same 41 fields (missing values are null), so CSV exports line up. jobKey is stable across runs, so you can deduplicate in your own database. Companies with nothing to return get one rowType: "company" row explaining why (board_not_found, no_open_jobs, no_matching_jobs, invalid_input, duplicate_board, not_processed, error), all free.
How it finds the job board
- Board links you give are used as they are.
- The company website: the homepage and up to 6 careers pages are read (robots.txt respected) for links or embeds of a supported provider. This is the most reliable path (
detectionMethod: link_on_site,confidence: high). - Name lookup: if the site links no board, the company name is tried on each provider. A guessed board is only used when it really belongs to the company: its postings link to the company's domain, or its name matches and the website mentions that provider (
slug_match). A board that merely shares the name is rejected.
How accurate is it?
Tested in November 2026 on real companies, with default settings:
| Test | Result |
|---|---|
| Tuning set: 40 companies with a public board on a supported provider | 35 of 40 found (20 via a link on the website, 15 via name lookup), 0 wrong boards |
| Held-out set: 28 companies with open jobs, not used while building | 21 of 28 found, 0 wrong boards. Misses: 3 use their own or an unsupported system (e.g. Rippling, Revolut's site blocks bots), 2 use a board name that can't be guessed (e.g. Trade Republic → traderepublicbank), 1 empty board, 1 unclear |
| Companies with no supported board (should return nothing) | 9 of 9 correctly returned board_not_found — no false matches |
So expect roughly 3 in 4 company websites to resolve on tech/startup lists, and no wrong company's jobs. When the website doesn't link its board and the name can't be guessed, paste the board link (or shorthand) instead: those always work.
What's in each field, per provider
Fields are only as complete as the provider's public feed:
| Dept. | Country | Workplace type | Posted date | Salary | Description | |
|---|---|---|---|---|---|---|
| Greenhouse | ✅ | — | from location text only | ✅ | — | ✅ |
| Lever | ✅ + team | ✅ | ~60% | ✅ | when published | ✅ |
| Ashby | ✅ | ✅ | ✅ | ✅ | when published | ✅ |
| Workable | ✅ | ✅ | ✅ | ✅ | — | ✅ |
| SmartRecruiters | ✅ | ✅ | ✅ | ✅ | — | ✅ (1 request per job) |
| Recruitee | ✅ | ✅ | ✅ | ✅ | when published | ✅ |
| Personio | ✅ | — | partly | ✅ | — | ✅ |
| Teamtailor | partly | ✅ | ✅ | ✅ | — | ✅ |
| BambooHR | ✅ | ✅ | ✅ | read per job | when published | ✅ (1 request per job) |
| Workday | — | per job | rarely | "Posted N days ago" → date; exact date per job | — | ✅ (1 request per job) |
| Breezy | ✅ | ✅ | — | ✅ | ✅ | — |
What it does NOT do (please read)
- It needs a website or board link, not a company name.
Stripealone is rejected (free) with a message;stripe.comworks. - Workday is best-effort. Workday boards are found only when the website links a
myworkdayjobs.comboard. Big companies with a custom career site on top of Workday (e.g. Salesforce, Adobe) are missed; paste the board link (https://acme.wd5.myworkdayjobs.com/External) if you have it. Only the "Posted N days ago" text is in the list; exact dates and all locations are read per job when your filters need them (up to 300 per company). - Board names that can't be guessed are missed unless the website links them (see the accuracy table).
- One board per company. The first supported board found is read; a second board (e.g. a separate one for a subsidiary or country) is not. Add it as its own input.
- Unsupported systems (company-built career sites, Rippling, iCIMS, Taleo, SuccessFactors, Join, etc.) return
board_not_found, free. - Descriptions are capped at 20,000 characters. On boards that need one request per job (Workday, BambooHR, SmartRecruiters) they are read for up to 300 matching jobs per company; the COMPANIES record notes when that limit was hit.
- Monitor mode notes:
- A new job that your filters remove is remembered as seen; it won't appear later if you change the filters. Change the Monitor name to start a fresh baseline.
- Don't run the same monitor twice at the same time (the second run may repeat jobs).
- Jobs not seen for 90 days are forgotten, so a job reposted after 90+ days counts as new.
- Without a Monitor name, the memory is tied to the exact company list; editing the list starts a new memory. Set a name to avoid that.
postedWithinDaysdrops undated jobs (rare; counted inRUN_SUMMARY.jobsRemovedByFilter).- Keyword matching is by word start:
engineermatches Engineering Manager;salesalso matches Salesforce Admin — addsalesforceto Job title does NOT contain if you don't want those.
Records in the key-value store
RUN_SUMMARY: counts per status, jobs removed by each filter, duplicates merged, events charged, the monitor store used.COMPANIES: one entry per input: status, board, detection method, jobs on board / matched / returned, notes.REMAINING: inputs not processed (max cost reached ormaxCompanies), ready to re-run.
Speed
Fast: most boards are read in one or a few requests. Measured in the Apify cloud: 25 companies in 13 seconds; 3,000 jobs from Bosch and Workday in 34 seconds. Detail requests (Workday/BambooHR dates, per-job descriptions) are slower: ~45 seconds for a filtered run over 6 large boards with descriptions. 512 MB memory is plenty (a 4,400-job board used 130 MB).
Bad input never fails the run: if nothing usable is given, the run ends with a clear message and $0 charged.
Good to combine with
- Website Contact Finder: emails and phones for the companies that are hiring.
- Domain Checker: tech and email setup for the same domains.
Responsible use
Job postings are published by the companies to be shown widely, and this Actor uses the providers' official public job-board feeds. Please link back to the original jobUrl when you republish a job, and respect each provider's terms if you build a job board on top.
Support
Found a company whose board we missed or misread? Open an issue on the Issues tab with the website. Bug reports are usually fixed within a few days.