← Use cases

Use case

New Job Postings This Week Across a Company List

A weekly hiring-signal feed: only roles published on or after a date you set, across as many employer domains as you submit.

A company that just opened three engineering roles is a company with budget and a problem, and that is a better moment to reach out than any cold list. So you want a Monday-morning answer to one question across your target accounts: who posted something new since last Monday?

The trouble is that “new” is the hard part. Job boards re-surface old listings, and a careers page shows you everything at once with no sense of what changed.

The manual way, and what it costs

The public search form on the source portal
the source portal — the official search. One record at a time.

You can do this by hand for a handful of accounts: bookmark their careers pages and skim them weekly. For under ten companies that is genuinely fine.

Past that it breaks down, and not because of the reading. To know what is new you need last week’s list to compare against, which means you were already keeping a spreadsheet — and you are now maintaining a hand-built diff across a dozen differently-shaped careers pages. That is the part that quietly stops happening after three weeks.

The faster way

ATS & Career Page Jobs Scraper (Greenhouse, Lever, Workday) does the same search once and hands back every row at once.

{
  "companies": [
    "stripe.com",
    "notion.so",
    "figma.com"
  ],
  "postedAfter": "2026-09-01",
  "maxResults": 200
}

postedAfter is what turns a directory pull into a feed: only roles published on or after that date come back. Set it to the date of your last run and schedule this weekly. One caveat that is deliberate rather than sloppy — rows whose board publishes no date at all are kept, not dropped. Workday states “Posted Today” instead of a date, so filtering them out would silently remove every Workday employer from your feed and make them look like they had stopped hiring.

What comes back

{
  "source_url": "https://job-boards.greenhouse.io/vercel/jobs/6136160004",
  "company": "vercel.com",
  "company_name": "Vercel",
  "ats": "greenhouse",
  "ats_slug": "vercel",
  "detected_by": "slug_match",
  "job_id": "6136160004",
  "title": "Account Executive, Commercial",
  "department": "Account Executive",
  "team": null,
  "location": "Hybrid - London",
  "locations": [
    "Office - London"
  ],
  "remote": null,
  "employment_type": null,
  "posted_at": "2026-08-06T12:50:10-04:00",
  "posted_text": null,
  "updated_at": "2026-08-18T18:06:19-04:00",
  "apply_url": "https://job-boards.greenhouse.io/vercel/jobs/6136160004",
  "requisition_id": null,
  "description": null
}
FieldExample valueMeaning
companyvercel.comThe value you submitted — domain, careers URL or explicit board
company_nameVercelEmployer name as the board states it (Greenhouse and SmartRecruiters publish it; Ashby, Lever and Workday do not, so it is null there)
atsgreenhousegreenhouse, lever, ashby, smartrecruiters or workday
ats_slugvercelThe board identifier on that ATS
detected_byslug_matchHow the board was matched: explicit, careers_page, or slug_match
job_id6136160004The board’s own job identifier — stable across runs, so it de-duplicates

posted_at is what you sort by, and job_id is what makes the feed trustworthy. That id is the board’s own identifier and it does not change between runs, so a role you saw last week is recognisably the same role this week — you are diffing on an identifier rather than guessing from job titles, which change wording more often than you would expect.

Where posted_at is null, posted_text carries the board’s own phrasing so you can still see what it said.

What you’d do with it

Schedule the actor weekly in the Apify Console and point its webhook at your CRM or a Slack channel. Each run arrives as the week’s new roles with the employer, the title and the apply link, which is enough to trigger an outreach sequence without anyone opening a careers page.

Worth knowing

This tells you a role was posted, not that a company is growing — backfills look identical to new headcount from the outside, and nothing here can tell them apart.

Coverage is five applicant-tracking systems; a company on another one returns a free row saying so. Workday needs its careers URL rather than a bare domain, and its rows carry no posting date, so they arrive on every run rather than only when new. There is no salary data: on 6 September 2026, pay ranges were published on 0 of 617 Greenhouse jobs, 0 of 132 Ashby and 0 of 40 Lever jobs checked.


Run it yourself: How to run ATS & Career Page Jobs Scraper (Greenhouse, Lever, Workday) walks the whole thing step by step.

Every open job at a company, from its career page — when you want the full current picture rather than the delta.

Business Email & Phone Contact Details Scraper — when the hiring signal has landed and you need someone to send it to.

Last updated 2026-09-06