LinkedIn Hiring Signals Monitor 📡 (new roles only) avatar

LinkedIn Hiring Signals Monitor 📡 (new roles only)

Pricing

from $5.60 / 1,000 new job alerts

Go to Apify Store
LinkedIn Hiring Signals Monitor 📡 (new roles only)

LinkedIn Hiring Signals Monitor 📡 (new roles only)

Get alerted only when a genuinely new job appears for your saved LinkedIn search. Remembers what it has already seen and emits just the delta: new roles since the last run, a hiring-signal feed for sales and recruiting. First run is a baseline, not a false 'all new' alert. No API key, no login.

Pricing

from $5.60 / 1,000 new job alerts

Rating

0.0

(0)

Developer

Tagada Data

Tagada Data

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

LinkedIn Hiring Signals Monitor

Save a LinkedIn jobs search once, and this actor tells you only what changed. Every run it re-checks the search and reports the jobs that were not there before: a genuine hiring-signal feed instead of a full re-download you have to diff yourself. Run it on a daily schedule and it remembers what it has already reported, so your feed stays a clean stream of new roles.

No login. No cookies to paste. No API key. This tool watches public job postings and the hiring company only. It does not collect personal profiles, applicants, or the person who posted the job.

How the monitor works

  • Give it one or more saved searches: keyword and location (plus optional filters), or a LinkedIn jobs search URL pasted straight from your browser.
  • The first run for each saved search is a baseline: it reports every job currently listed, flagged monitorStatus: "baseline", so you know exactly where the feed starts. This is not treated as "all new" — it is the starting point.
  • Every run after that reports only jobs it has not seen before for that exact search, flagged monitorStatus: "new".
  • Editing your list of searches between runs never disturbs another search's history: each saved search keeps its own memory.
  • A run-summary row is pushed for every search on every run, even when nothing new was found. Zero new roles is a normal, healthy outcome for a monitor, not an error.

What you get

One record per new (or baseline) job posting:

FieldDescription
monitorStatusbaseline (first run for this search) or new (a genuine delta)
searchLabelThe saved search this job came from
jobIdLinkedIn job posting ID
titleJob title
jobUrlDirect link to the public job posting
companyNameHiring company
companyUrlThe company's LinkedIn page
companySlugCompany handle from its URL
locationLocation as shown on the posting
postedAt / postedDatePosting age (site wording) and ISO date
isNewFlagged as newly posted by LinkedIn itself
source, scrapedAtProvenance

Plus one run-summary row per saved search per run:

FieldDescription
isBaselineWas this the search's first-ever run
totalCurrentlyListedJobs LinkedIn currently shows for this search
newCountHow many were genuinely new this run
searchEchoThe search's own filters, echoed back

Who uses this

  • Sales and lead-gen teams: a company posting new roles is a company with fresh budget. A daily feed of new "account executive" or "customer success" postings is a live outreach trigger, not a stale export.
  • Recruiters and staffing agencies: watch a role-and-city combination and get pinged the moment a new opening appears, before it gets crowded with applicants.
  • Market and competitive researchers: watch a specific employer's hiring activity over time without re-downloading and diffing a full list yourself.

Input examples

A single saved search, checked daily for new postings:

{
"searches": [
{ "keywords": "account executive", "location": "London" }
],
"postedSince": "24h"
}

Several saved searches at once, with a Slack digest of new roles:

{
"searches": [
{ "keywords": "product manager", "location": "Berlin", "workType": "remote" },
{ "keywords": "data engineer", "location": "Paris", "experienceLevel": "mid-senior" }
],
"postedSince": "week",
"slackWebhookUrl": "https://hooks.slack.com/services/T000/B000/XXXX"
}

Paste a LinkedIn search URL straight from your browser (filters included):

{
"searches": [
{ "url": "https://www.linkedin.com/jobs/search/?keywords=warehouse%20manager&location=Chicago&f_TPR=r604800" }
]
}

Output sample

{
"recordType": "job",
"monitorStatus": "new",
"searchLabel": "software engineer",
"jobId": "4438655931",
"title": "Software Engineer",
"jobUrl": "https://www.linkedin.com/jobs/view/4438655931",
"companyName": "Biomemory",
"companyUrl": "https://www.linkedin.com/company/biomemory",
"location": "Paris, Île-de-France, France",
"postedAt": "2 days ago",
"postedDate": "2026-07-09",
"isNew": true,
"source": "linkedin.com",
"scrapedAt": "2026-08-20T09:14:22.317Z"
}

How to run it as a live monitor

Schedule this actor as a Task (not an ad-hoc run) so it keeps its own memory between runs. Once a day is plenty: LinkedIn's guest search is refreshed continuously, and the delta logic only reports what is genuinely new since the last run, no matter how often you check.

Pricing

You pay per job the monitor reports, with platform usage included in the price: no subscription, no API key. A quiet run (no new jobs) costs only the actor start.

EventPrice
Actor start$0.001 per run
Baseline job$1.00 per 1,000 (first run of a saved search, the "currently listed" dump)
New job alert$8.00 per 1,000 (a job that was not there on the previous run, the hiring signal)
Slack digest sent$0.01 per run, only when a digest was actually posted

run-summary rows are never billed.

FAQ

Do I need a LinkedIn account or a cookie? No. This reads LinkedIn's public jobs pages, so there is no login, no session cookie and no API key to manage.

Why did my first run return so many "new" jobs? The first run for a saved search is always a baseline: it reports the current state so you have a starting point, and flags every row monitorStatus: "baseline". Only runs after the first one report genuinely new postings.

What if nothing new is posted? That is a normal, successful outcome. The run still finishes cleanly and pushes a run-summary row saying zero new jobs were found; it is not treated as a failure.

Can I change my saved searches without losing history? Yes. Each saved search is tracked independently by its own keywords/location/filters, so adding, removing or editing one search does not reset any other search's memory.

How do I get a Slack alert? Set slackWebhookUrl to a Slack incoming-webhook URL. You get one digest per run, only when at least one genuinely new job was found (never on a baseline run).

How is it different from LinkedIn Jobs Scraper? LinkedIn Jobs Scraper returns the full current result set every run, on demand. This actor is built for the opposite job: a recurring, scheduled watch that reports only what changed, so you never have to diff two exports by hand.


LinkedIn job alerts, LinkedIn hiring signals, new jobs monitor, LinkedIn jobs delta, hiring signal feed, sales trigger data, job posting alerts, LinkedIn jobs webhook, recruiting lead generation, competitor hiring tracker, saved search monitor, daily jobs digest.