Job Monitor - New Job Alerts from Career Pages avatar

Job Monitor - New Job Alerts from Career Pages

Pricing

from $1.60 / 1,000 jobs

Go to Apify Store
Job Monitor - New Job Alerts from Career Pages

Job Monitor - New Job Alerts from Career Pages

Monitor company career pages for new jobs: each run returns only jobs posted or closed since the last run. Watch your own companies on Greenhouse, Lever, Ashby and SmartRecruiters or 2,878 ready-made ones (remote-first, startups). Schedule it for daily job alerts in Slack, email or Zapier.

Pricing

from $1.60 / 1,000 jobs

Rating

0.0

(0)

Developer

Firsthand Data

Firsthand Data

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 hours ago

Last modified

Categories

Share

Get the new jobs from the companies you care about, every morning, straight from their career pages. Add your own companies, pick a ready-made list (1,040 remote-first companies and 2,344 startups, about 900 new jobs a day between them), or both. Every run reads each company's own hiring system (Greenhouse, Lever, Ashby or SmartRecruiters), remembers what it has already shown you and returns only the jobs that are new or closed since the last run. Put it on a daily schedule and get the new jobs in Slack, email, Zapier, Make, n8n or your own webhook.

Example output. On October 21, 2026 the first run of a new watch on the four demo companies returned the 19 jobs they posted in the last 7 days; four of them are below. A second run right after it returned 0 new jobs and cost nothing.

StatusCompanyTitleLocationWorkplaceSalaryPublished
newLinearSolutions Engineer, APACSingaporeremote2026-10-21
newGcoreSecurity Engineer (IT Security)Poland, Serbia, Georgia, Cyprusremote2026-10-20
newPointClickCareIntermediate Site Reliability Engineer (SRE)Salt Lake City, UThybrid138,000-154,000 USD2026-10-19
newTailscaleProgram Manager, EPD OperationsRemote (United States)remote114,000-143,000 USD2026-10-17

Try it free in a minute. Click Try for free, then Start: in about 5 seconds you see all current jobs of the four demo companies. The Apify free plan needs no credit card, and its $5 of credit every month covers about 2,500 new jobs at $2 per 1,000. Then put in your own companies, give the watch a name of your own and put it on a schedule, step by step below.

More job data from Firsthand Data: Career Page Jobs Scraper for every open job of any company, Remote Jobs Scraper for 1,040 remote-first companies and Startup Jobs Scraper for 2,344 startups on Ashby.

Why use Job Monitor?

  • ✅ Only-new mode is on by default: every run returns the jobs that are new or closed since the previous run
  • ✅ The first run returns the jobs of the last 7 days and remembers all other current jobs for free: fresh jobs at once, no bill for the backlog
  • ✅ Any company on Greenhouse, Lever, Ashby or SmartRecruiters: by board name, job board link or company website
  • ✅ Ready-made lists of 2,878 companies, checked by us and refreshed monthly: 61,437 open jobs and about 913 new a day on October 20, 2026
  • ✅ Filters by words in the job title, locations and remote
  • ✅ Every alert has title, team, location, remote, hybrid or on-site, salary as numbers, date, direct link and description
  • ✅ You pay only for new jobs: closed rows are free, and a day without new jobs costs nothing
  • ✅ The run status says how many jobs are new and closed, ready for a Slack message or an email
  • ✅ Official public job board APIs: no login, no API key, no proxies, no browser
  • ✅ No personal data: recruiter fields are dropped, emails and phone numbers are removed from descriptions
  • 💲 $2 per 1,000 new jobs. The Apify free plan ($5 of credit every month) covers about 2,500 jobs.

What can you monitor?

  • Job seekers. Get an alert the day the companies you want to work for post a role in your field.
  • Recruiters and agencies. New roles at your target accounts are new business: see them first.
  • Sales teams (hiring signals). A company that opens five sales roles is growing. Reach out when your prospects start hiring for the teams you sell to.
  • Competitor intelligence. See which teams your competitors grow, where and at what pay.
  • Job boards and newsletters. A daily feed of fresh jobs with direct links; closed rows tell you which jobs to take down.
  • AI agents. Let Claude, Cursor or any MCP client answer "what did these companies post since yesterday?" with live data.

Set up job alerts in five minutes

  1. Click Try for free. The Apify free plan needs no credit card.
  2. In Companies to monitor, replace the four demo companies with the ones you want to watch, or pick a Ready-made company list. Optionally add title words, locations or Remote jobs only.
  3. Keep What to return at Only new and closed since the last run and give the watch a name, for example competitors.
  4. Click Start. The first run returns the jobs published in the last 7 days and remembers all other current jobs for free: this is your starting point.
  5. Click Save as new task. In Schedules, add the task, pick a time (daily suits most feeds) and your time zone, and switch the schedule on: new schedules are created switched off.
  6. In the task's Integrations tab, choose where the alerts go (next section).

From then on every run returns only the jobs that are new (changeStatus: "new") or that disappeared from the job board (changeStatus: "closed"). The same job is never returned as new twice. Use a separate watch name for each feed.

Where do the alerts go?

WhereHow to set it upWhat you get
Slacktask Integrations tab: Slack, your channel, the "run succeeded" eventa message after every run; put {{resource.statusMessage}} in the message to see "12 new jobs, 3 closed from 2878 companies", plus a link to the results
Emailtask Integrations tab: Send results email via Gmailan email after every successful run with the jobs attached as a file
Zapiertrigger "Finished task run", then "Fetch dataset items"one message per new job in Slack, email, Google Sheets, Airtable or any app Zapier connects
Make or n8nstart on a finished task run and read its dataset itemsthe same as Zapier
Webhooktask Integrations tab: HTTP webhook on "run succeeded"a POST to your endpoint with the run and its dataset ID; read the jobs through the Apify API

Slack and email messages come after every run, also when nothing is new: the status then says "0 new jobs". Zapier, Make and n8n send nothing on a quiet day. Turn off Include job description to keep messages short. Connect the alerts after the first run, so its week of jobs does not flood your channel.

How many new jobs will I get?

Both lists together on October 20, 2026. New jobs a day = jobs published in the 7 days before that date, divided by 7.

Feed (both lists)Open jobsNew jobs a dayFirst run: the last 7 daysThen a month of daily runs
engineer, developer, DevOps or SRE in the title19,047about 268about $3.75about $16
data, analytics, machine learning or AI6,323about 117about $1.64about $7
sales, account executive, business development, SDR or BDR7,083about 108about $1.51about $6.50
marketing, growth, SEO or content3,483about 56about $0.78about $3.40
product manager or designer2,913about 44about $0.62about $2.60
operations2,495about 43about $0.60about $2.60
customer success or support1,860about 32about $0.45about $1.90
remote jobs only26,243about 418about $5.85about $25
location names the United States32,962about 453about $6.34about $27
Europe (the UK, Germany, France, Spain and more)11,702about 191about $2.67about $11.50
United Kingdom4,559about 75about $1.05about $4.50
everything in both lists61,437about 913about $12.78about $55

The first run does not charge for the open jobs older than 7 days: it only remembers them. To pay less, add title words or locations, lower First run: jobs from the last N days (0 starts the watch without returning anything), or set Maximum cost per run in the run options: the monitor stops before it goes over your limit, and the jobs it did not reach come in the next run.

The four prefilled companies under the default watch name are a demo: every run returns all their current jobs (183 on October 20, 2026, about $0.37), so you see the output at once. Give the watch a name of your own and they are monitored like any other companies.

The ready-made lists

ListWho is in itCompaniesOpen jobs on October 20, 2026New jobs a day
Remote-first companiesat least half of open jobs are remote, 5 to 1,000 open jobs1,04027,266about 420
Startups on Ashbycompanies that hire through Ashby, an applicant tracking system popular with venture-backed startups, with 1 to 300 open jobs2,34444,625about 660
Both lists506 companies are in both lists and are read once2,87861,437about 913

The lists include Tailscale, Linear, Supabase, Ramp, Vanta, ElevenLabs, PostHog, n8n, GitLab, Coinbase, Reddit and thousands more. We rebuild them every month from the live job boards, so companies that stop hiring drop out and new ones come in.

What data do you get?

FieldExampleNotes
changeStatusnewnew or closed in only-new mode; empty in "All open jobs" mode
companyTailscalename from the job board
titleAnalytics Engineer, Data
department, teamDatawhere the board gives it
location, city, region, countryRemote (United States)allLocations keeps every location of the job
workplaceTyperemoteremote, hybrid, onsite or unknown
employmentTypefull_timewhere the board gives it
salaryMin, salaryMax, salaryCurrency, salaryPeriod152000, 190000, USDfrom salary fields or the description text
salaryTextoriginal salary text
publishedAt, updatedAt2026-08-04T18:21:42.000Z
url, applyUrllink to the job on the company's job board
descriptionplain textemails and phone numbers removed
id, source, board, sourceJobIdgreenhouse:tailscale:4612...stable id: the same job keeps it in every run
scrapedAttime of the run

A closed row is short and free: id, source, board, sourceJobId, company, changeStatus: "closed" and scrapedAt. Closed rows cover every job the watch remembers, also the older jobs it remembered on the first run.

Jobs from the prefilled demo input on October 20, 2026:

CompanyTitleLocationWorkplaceSalaryPublished
GcoreDevOps Engineer/SRE (Cloud IaaS)Serbia, Cyprus, Georgiaremote2026-10-16
TailscaleAnalytics Engineer, DataRemote (United States)remote152,000-190,000 USD2026-08-04
PointClickCare(Canada) Principal ML System EngineerRemote or Mississaugaremote179,000-224,000 CAD2026-08-13
LinearSenior / Staff Fullstack EngineerEuroperemote2021-04-27

Under a watch name of its own, the first run of the same four companies on October 21, 2026 returned 19 new jobs of the last 7 days and remembered 166 older ones without a charge; the second run returned 0 new and 0 closed jobs and cost nothing. Empty cells are values the company does not publish. Some companies keep evergreen jobs open for years: publishedAt shows when the job was first posted.

How much does it cost?

  • $2 per 1,000 new jobs (pay per event). Apify platform usage is included in the price.
  • Free: closed-job rows, runs and companies without new jobs, companies that are not found, errors.
  • The first run of a watch returns the matching jobs of the last 7 days and remembers the older ones for free; after that you pay only for jobs that are new.
  • The Apify free plan gives $5 of credit every month: about 2,500 jobs.
  • Set Maximum cost per run in the run options: the monitor stops before it goes over your limit.

How often should I run it? Once a day suits most feeds: a company posts a few jobs a week. If you need faster alerts, run it every few hours: you still pay only for new jobs.

Input

Companies

Use your own companies, a ready-made list, or both. Three ways to add a company:

You writeExampleWhat happens
system:boardgreenhouse:tailscale, lever:pointclickcare, ashby:linear, smartrecruiters:gcoreread directly
Job board linkhttps://jobs.ashbyhq.com/linearread directly
Company websitetailscale.comthe monitor looks for a job board link on the website; if there is none, it tries the domain name as a board name and says so in the run summary

The same company written twice (in any letter case, as different links or also in a list) is read and charged once.

Example input

{
"companies": ["greenhouse:tailscale", "https://jobs.lever.co/pointclickcare", "linear.app"],
"companyLists": ["startups"],
"mode": "changes",
"watchName": "design-europe",
"firstRunDays": 7,
"includeKeywords": ["designer", "product manager"],
"excludeKeywords": ["intern"],
"locations": ["Europe", "United Kingdom", "Germany"],
"remoteOnly": false,
"includeDescription": true
}

Watch name and memory

The monitor keeps its memory in a key-value store in your own Apify account, named firsthand-job-monitor-<watch name>. To start a watch from scratch, use a new watch name or delete that store. Jobs not seen for 90 days are forgotten automatically.

First run: jobs from the last N days (7 by default) decides what a new watch returns: jobs published in the last N days come as new, all other current jobs are remembered without a charge. The same rule applies the first time a watch sees a company you add later. Set 0 to start a watch silently, or 3650 to get every current job once.

Run summary

Each run saves a summary to the key-value store record OUTPUT: for every company the system, board, status (ok, not_found or error), the number of new and closed jobs and a note when something needs your attention. A company that fails never stops the run.

Which job boards are supported?

SystemBoard linkNotes
Greenhouseboards.greenhouse.io/{board}, job-boards.greenhouse.io/{board}salary is often found in the description text
Leverjobs.lever.co/{board}salary range where the company publishes it
Ashbyjobs.ashbyhq.com/{board}unlisted jobs are skipped
SmartRecruitersjobs.smartrecruiters.com/{board}public jobs only; each description is a separate request

Job boards hosted in the EU (eu.greenhouse.io, jobs.eu.lever.co) are not supported yet.

Use it with AI agents (MCP)

This monitor works as a tool for AI agents through the Apify MCP server: Claude, Cursor, VS Code, n8n and other MCP clients. Add this URL as a remote MCP server and sign in to Apify when your browser opens:

https://mcp.apify.com?tools=firsthand-data/career-page-job-monitor

Then ask, for example, "what new jobs did Linear and Tailscale post since yesterday?". The memory works for agents too: every call with the same watch name returns only what is new. Turn off Include job description to keep answers short.

Fair use and data quality

  • Reads only the official public job board APIs that these systems provide for career pages.
  • Keeps to each source's rules: SmartRecruiters at most about 9 requests per second (their limit is 10), Lever job pages at most one request per second (their robots.txt), company websites only where robots.txt allows.
  • No logins, no proxies, no hidden or unlisted jobs.
  • No personal data: recruiter names and photos are not collected; emails and phone numbers are removed from descriptions.
  • Results and the monitor's memory stay in your own Apify account. We do not keep copies.
  • Not affiliated with Greenhouse, Lever, Ashby or SmartRecruiters, or with the companies in the lists. Their names are trademarks of their owners.

FAQ

How does the monitor know a job is new? Every job has a stable id on its job board. The monitor remembers each id it has returned under the watch name; a job is new when its id was never returned before.

What does the first run return? The jobs published in the last 7 days that match your filters. All other current jobs are remembered for free, so later runs return only what changed. Change the window in First run: jobs from the last N days: 0 starts silently, 3650 returns every current job once.

What if a job board is down during a run? The company gets status error in the run summary, and its jobs are not reported as closed. The next run compares again from the same memory.

A company re-posted a job. Is it new? If the job board gave it a new id, yes: it comes as new, and the old one as closed.

Can I change the companies or filters of a watch? Yes. Added companies follow the first-run rule: their jobs of the last 7 days come as new on the next run, older ones are remembered. Jobs that your new filters hide are not reported as closed: they are still open.

What if I leave Companies empty and pick no list? The run does not fail. With title words or locations it monitors both lists in only-new mode; without any filter it runs the four sample companies as a demo (all their current jobs, about $0.37), so an empty call through the API or an AI agent never costs the price of the whole lists.

Do I need an API key or a proxy? No. All four systems publish open jobs through public job board endpoints.

How fresh is the data? Live: every run reads each job board at that moment.

Changelog and support

  • 0.1 (October 2026): first public version: only-new monitoring by default, two ready-made lists (2,878 companies), run status with new and closed counts, title, location and remote filters.
  • 0.1.2 (October 21, 2026): the first run returns the jobs of the last 7 days and remembers the rest for free (new field First run: jobs from the last N days); the four prefilled companies under the default watch name are a demo and return all their current jobs on every run.
  • We add output fields; we do not rename or remove them. Price changes are announced in advance.
  • Questions, bugs or a company you want in the lists: open an issue on the Issues tab. We usually answer within 1-3 days.
  • If this monitor saved you time, a short review helps other people find it. Thank you!