LinkedIn Hiring Posts Scraper πŸš€ avatar

LinkedIn Hiring Posts Scraper πŸš€

Pricing

$2.50 / 1,000 results

Go to Apify Store
LinkedIn Hiring Posts Scraper πŸš€

LinkedIn Hiring Posts Scraper πŸš€

Find companies actively hiring from public LinkedIn posts πŸš€ Extract recruiter names, hiring roles, companies, locations, post URLs, and fresh hiring intent data by keyword, industry, or location β€” no LinkedIn login or cookies required.

Pricing

$2.50 / 1,000 results

Rating

0.0

(0)

Developer

Hamza

Hamza

Maintained by Community

Actor stats

0

Bookmarked

6

Total users

3

Monthly active users

2 days ago

Last modified

Share

LinkedIn Hiring Posts Scraper

Find companies that are actively hiring right now β€” straight from public LinkedIn posts. Fresh hiring intent data, no LinkedIn login or cookies required.

This actor surfaces the companies whose recruiters, founders, or HR leaders are publishing hiring posts on LinkedIn. You get the company, the role being hired, who's posting, a hiring-intent score, and a direct link to the post β€” perfect for staffing firms, sales prospecting, recruiting, and outreach.


Why this is the highest-signal lead source on LinkedIn

People posting "we are hiring" on LinkedIn aren't thinking about growing. They're spending money right now. Every record this actor produces is a company that:

  • Has open headcount and an active budget
  • Has named the role they need
  • Is broadcasting it publicly today (not three quarters ago)

That makes the dataset gold for: recruiting agencies pitching roles, staffing firms identifying ICP, HRTech founders running ABM, and account executives selling anything growth-related.


What you get back

Each row in the dataset is one LinkedIn hiring post:

{
"postUrl": "https://www.linkedin.com/posts/technovaco_we-are-hiring-software-engineers-activity-1234567890",
"hiringCompany": "TechNova",
"recruiterName": "John Smith",
"hiringRole": "Software Engineer",
"postSnippet": "John Smith is hiring React developers for TechNova in Berlin...",
"hiringIntent": "Medium",
"hiringKeywordMatched": "we are hiring",
"jobRoleMatched": "Software Engineer",
"industryKeyword": "SaaS",
"locationKeyword": "Germany",
"postDate": "3 days ago",
"timestamp": "2026-05-23T12:00:00Z"
}

The full field list:

FieldWhat it is
postUrlDirect link to the LinkedIn post
hiringCompanyThe company doing the hiring (best-effort extraction)
recruiterNameThe post author (when the post is by a person, not a company page)
hiringRoleThe detected role being hired
postSnippetRaw snippet text from the result
hiringIntentHigh / Medium / Low urgency classification
hiringKeywordMatchedWhich hiring phrase from your input surfaced this post
jobRoleMatchedThe role bucket the query targeted
industryKeywordThe industry filter used (if any)
locationKeywordThe location filter used (if any)
postDateHuman-readable "X days ago" hint when present
timestampISO 8601 scrape time

Export to CSV, JSON, Excel, or pipe directly into HubSpot, Salesforce, Clay, Apollo, or any HTTP webhook.


Inputs

FieldTypeWhat it does
Hiring Intent Phrasesarray<string>Hiring phrases to search for. Defaults to we are hiring, looking for, join our team. Add now hiring, urgently hiring, open position, job opening, hiring immediately.
Job Rolesarray<string>Specific roles to focus on (Software Engineer, AI Engineer, Marketing Manager, Sales Representative). Optional.
Industry / Tech Keywordsarray<string>Industry tags (SaaS, Fintech, Healthcare) or technologies (React, Python, AI). Optional.
Locationsarray<string>Country / region / city filters (United States, Berlin). Optional.
Maximum PostsintegerStop after collecting N unique posts. Default 100.
Search LanguagestringLanguage hint. Default en.
Deduplicate ResultsbooleanDrop duplicate post URLs across the run. Default true.

The actor expands every combination of (industry Γ— location) using the OR-grouped hiring-phrase and role buckets. So 2 industries Γ— 2 locations = 4 internal searches, all deduplicated into one clean dataset.


Hiring-intent scoring

Each post gets one of three labels based on urgency cues in the title + snippet:

TierTrigger words
Highurgently hiring, urgent, hiring immediately, immediate opening, asap, must hire
Mediumnow hiring, we are hiring, we're hiring, open position, open role, job opening, join our team, new role
Lowlooking for, seeking, recruiting for, on the lookout

If nothing matches, hiringIntent is null. Use this field to triage: send your highest-priority outreach to High intent posts first.


Example use cases

Staffing agency prospecting β€” hiringKeywords: ["we are hiring", "urgently hiring"], jobRoles: ["Software Engineer", "AI Engineer"], locations: ["United States"]. Pull the list, filter hiringIntent = High, contact those companies tomorrow morning.

HRTech ABM list β€” hiringKeywords: ["we are hiring"], keywords: ["SaaS", "B2B"]. Build a growing-companies-only ICP list to invite to your webinar.

Job seekers β€” hiringKeywords: ["we are hiring", "looking for"], jobRoles: ["Frontend Developer", "React Developer"], locations: ["Berlin", "Amsterdam"]. See exactly which companies are hiring your stack in your city this week.

Sales prospecting β€” Companies posting hiring content are growing fast. Whatever you sell (analytics, payroll, devtools, infrastructure), they're spending money. Run this weekly to keep your pipeline fresh.

Investor / market intel β€” Track hiring intensity by industry vertical month over month. Spot companies scaling fast before press coverage catches up.


Tips that save you time and money

  • Start with the urgent phrases. urgently hiring and hiring immediately return fewer but much higher-quality leads. Stack them with we are hiring for broader coverage.
  • Add a role filter to cut noise. Searching just we are hiring returns mixed content β€” adding Software Engineer or Account Executive returns just the posts hiring for that role.
  • Locations are loose. They match as phrases anywhere in the post, so you'll see some noise. Run per-country for clean segmentation.
  • Sort by hiringIntent in your CSV. Triage High β†’ Medium β†’ Low so cold outreach goes to the hottest leads first.
  • Watch postDate. Posts from "2 weeks ago" or older are less urgent than posts from "today" β€” many hiring needs are filled fast.

Pricing β€” pay only for what you extract

This actor uses Apify's pay-per-event pricing. You're billed per post delivered to your dataset, plus a one-time start fee. No charge if a run returns zero results.

Apify PlanStart FeePer Profile
Free / Bronze$0.0025$0.0025
Silver$0.0025~$0.0022
Gold$0.0025~$0.0020
Platinum$0.0025~$0.0018
Diamond$0.0025~$0.0015

Real-world cost examples:

  • 25 posts for a test run: about $0.06
  • 250 hiring posts across the US & Canada: about $0.63
  • 2,000 posts across 10 industries: about $5.00

The Free Apify plan ships with $5/month of credit β€” plenty for several real lead lists.


Frequently asked

Do I need a LinkedIn account or Sales Navigator? No. The actor never logs into LinkedIn, never asks for cookies, and never touches your account. It only returns posts that are publicly accessible.

Will this get me LinkedIn-banned? No. There's no account activity for LinkedIn to flag.

How fresh is the data? You're seeing posts as soon as they're indexed publicly. The postDate field gives you a relative timestamp (when present) so you can prioritize the most recent.

How accurate is the hiringCompany field? Very accurate when the post is by a company page (Acme Corp on LinkedIn: …) or contains an explicit at <Company> mention. Less accurate when an individual recruiter posts vaguely about hiring without naming the employer β€” in those cases the field may be null and you'll have to consult postSnippet.

How accurate is the hiringRole field? Catalogue-based matching against ~50 common roles plus your custom jobRoles list, with a regex fallback for hiring <Role> patterns. If you supply explicit roles in jobRoles, they take priority β€” so the field will surface "Senior React Engineer" instead of just "Engineer" when you asked for it.

Will I get duplicates if I run it twice? Within a single run, no β€” dedup is on by default. Across runs, yes β€” track previously seen postUrl values in your own pipeline.

Can I schedule this? Yes, and you probably should. Apify Schedules let you run it daily or weekly to catch fresh hiring posts in your target industry. Combine with a webhook to push new rows into HubSpot, Salesforce, Notion, or Google Sheets.

The actor returned 0 results β€” what's wrong? (1) Make sure your hiring phrases are common public ones β€” we are hiring returns far more than currently seeking outstanding candidates for…. (2) Try removing the Locations filter to see if you're over-narrowing. (3) Add more role / industry combinations.


A note on responsible use

This actor extracts public posts and the metadata around them. It does not bypass authentication, log into accounts, scrape private content, or pull anything beyond what any anonymous visitor could see.

That said: outreach based on hiring intent is still cold outreach. Don't pretend to be applying for the job, don't blast template messages, and respect GDPR / CCPA / similar regulations in your jurisdiction. The companies in your dataset are humans dealing with hiring β€” treat them that way and your reply rates will be much higher.


Drop it into your workflow

  • Apify Schedules β†’ run it daily or weekly to catch fresh hiring signals
  • Zapier / Make β†’ push new rows into HubSpot, Salesforce, Notion, Slack
  • Apify Webhook β†’ POST results to your server for custom routing
  • Pair with an email-finder β†’ use recruiterName + hiringCompany to resolve email addresses in Clay, Apollo, or Hunter
  • Pair with a LinkedIn Profile Scraper β†’ enrich the recruiterName field with full job history

Run it once with a small maxResults to see what you get. The first 25 posts are usually cheap enough to taste-test before committing.