LinkedIn Hiring Posts Scraper - No Login, Intent Score avatar

LinkedIn Hiring Posts Scraper - No Login, Intent Score

Pricing

from $1.00 / 1,000 results

Go to Apify Store
LinkedIn Hiring Posts Scraper - No Login, Intent Score

LinkedIn Hiring Posts Scraper - No Login, Intent Score

Find who is hiring on LinkedIn. Search public hiring posts by role, location and language. Get exact post dates, a hiring-intent score, roles, salary, emails and apply links. No login or cookies.

Pricing

from $1.00 / 1,000 results

Rating

0.0

(0)

Developer

Yusuf Barış

Yusuf Barış

Maintained by Community

Actor stats

0

Bookmarked

7

Total users

5

Monthly active users

9 days ago

Last modified

Categories

Share

LinkedIn Hiring Posts Scraper: find who is hiring, no login needed

LinkedIn Hiring Posts Scraper finds public LinkedIn posts where companies, recruiters and hiring managers announce open roles, such as "We're hiring a Senior Backend Engineer in Berlin". Tell it which roles, locations and languages you care about, and get back clean, structured rows: the post link, the exact publishing time, who posted it, the roles, location, work mode, salary when stated, any contact details shown in the post, and a hiring-intent score.

No LinkedIn account, no cookies and no login. Nothing is ever posted, sent or changed on LinkedIn.

What does LinkedIn Hiring Posts Scraper do?

Job-board scrapers return formal job listings. But many roles are announced first as a post in the feed, written by the person who will actually do the hiring. This Actor collects those posts and turns each one into a data row you can sort, filter and export.

  • Find hiring posts by role and place. Enter job titles such as software engineer or sales manager, add locations, a work mode (remote, hybrid, on-site) and a time window.
  • See exactly when a post was published. Every row has the precise publishing time, so "last 24 hours" and "last 7 days" are accurate.
  • Skip the noise. Each post gets a hiring-intent score from 0 to 100. Posts by people looking for work (#OpenToWork) and "I just started a new job" announcements are removed by default.
  • Get structured details. Roles, location, work mode, employment type, salary, hashtags, company, emails and apply links, whenever the post mentions them.
  • Receive each post only once. Turn on Only new posts and put the Actor on a schedule to get just the posts that earlier runs did not deliver.
  • Search in six languages. English, Turkish, German, Spanish, French and Portuguese hiring phrases are built in.

Who is it for?

You are a...Use it to...
Recruiter or staffing agencyFind companies that are hiring right now, and the people posting about it, before the role reaches a job board.
Sales or lead-gen professionalTreat "company hiring for X" as a buying signal and reach out while the budget is fresh.
Job seekerDiscover roles posted in the feed, with the poster one message away.
Market researcher or analystTrack hiring demand for a role, region or technology over time.
Automation builderSend every new hiring post to Slack, Google Sheets, Airtable, Make or n8n.

How to use LinkedIn Hiring Posts Scraper

  1. Click Try for free and open the Input tab.
  2. Add one or more Roles, for example software engineer. Optionally add Locations, a Work mode and how recent the posts must be.
  3. Set Maximum results and click Start.
  4. When the run finishes, open the Output tab. The Overview table shows the posts at a glance. Download the data as JSON, CSV, Excel, XML or HTML, or read it through the API.

Want a daily feed? Enable Only new posts since the last run, then click Schedule and choose how often to run it.

Input

You need at least one role or keyword. Everything else is optional.

FieldTypeDefaultDescription
rolesarrayJob titles to look for. Each role is searched separately and the results are combined.
locationsarrayCities, regions or countries. A post matches if it mentions any of them.
keywordsarrayExtra words the post must contain, such as a technology, an industry or a company. Can be used on its own.
languagesarray["en"]Hiring phrases to look for: en, tr, de, es, fr, pt.
workModestringanyremote, hybrid or onsite. Posts that do not state a work mode are kept.
postedWithinstring30d24h, 7d, 30d or any.
onlyWithContactbooleanfalseKeep only posts that show an email address or an apply link.
excludeJobSeekersbooleantrueDrop posts from people looking for work and new-job announcements.
minIntentScoreinteger40Minimum hiring-intent score (0-100). Lower it to see more, borderline posts.
onlyNewbooleanfalseSkip posts that an earlier run with the same search already delivered.
maxItemsinteger25Number of unique posts to return, 1-200.

Example input

{
"roles": ["software engineer"],
"locations": ["Remote"],
"workMode": "remote",
"postedWithin": "7d",
"maxItems": 25
}

Output

Each row in the dataset is one hiring post. Open the Overview and Details tables on the Output tab, or download the dataset in the format you need.

Example output

{
"postUrl": "https://www.linkedin.com/feed/update/urn:li:activity:7512161093054689280/",
"postId": "7512161093054689280",
"postedAt": "2026-10-03T09:21:14.000Z",
"postedAgo": "8 days ago",
"authorName": "Jane Doe",
"authorProfileUrl": "https://www.linkedin.com/in/jane-doe-1a2b3c4/",
"companyHint": "Acme Labs",
"postTextPreview": "We're hiring a Principal Software Engineer (remote, US-only). $200k - $250k with a 10-12% bonus...",
"roles": ["software engineer", "Principal Software Engineer"],
"location": null,
"workMode": "remote",
"employmentType": "full-time",
"salary": "$200k - $250k",
"emails": [],
"applyLinks": ["https://lnkd.in/abc123"],
"hashtags": ["#hiring"],
"intentScore": 85,
"intentSignals": ["hiring-phrase", "role", "job-details", "salary", "fresh"],
"language": "en",
"checkedAt": "2026-10-11T12:00:00.000Z"
}

Output fields

FieldDescription
postUrl, postIdLink to the post and a stable id that is safe to use for deduplication.
postedAt, postedAgoExact publishing time (ISO 8601) and a relative date such as "3 days ago".
authorName, authorProfileUrlWho wrote the post. The profile link is filled when the author's personal profile can be identified, otherwise it is null.
companyHintCompany named in the text, for example "Acme Labs is hiring...".
postTextPreviewThe beginning of the post text (up to 500 characters).
roles, location, workMode, employmentType, salaryDetails taken from the post. null or empty when the post does not say.
emails, applyLinks, hashtagsContact details, application links and hashtags found in the post.
intentScore, intentSignals0-100 estimate that the post is a real hiring post, and the signals behind it.
languageDetected language of the post.
checkedAtWhen the row was created (ISO 8601).

How much will it cost to scrape LinkedIn hiring posts?

The Actor uses pay-per-event pricing: a small fee for each run plus a fee for each hiring post saved to the dataset. You only pay for posts that pass your filters. A search that finds nothing saves nothing, so no results are charged.

See the Pricing tab for the current rates. Apify's free plan includes monthly credits, and free-plan users can export up to 5 results per day with this Actor.

Tips to keep costs low:

  • Use a narrow postedWithin window and schedule frequent runs with onlyNew instead of running large one-off searches.
  • Set maxItems to what you will actually use.
  • Raise minIntentScore to avoid paying for borderline posts.

Tips for better results

  • Be specific. React developer finds more relevant posts than developer. Add a location to focus the results.
  • Use several roles in one run. The results are combined and duplicates are removed.
  • Add a language. For example ["tr", "en"] looks for Turkish and English hiring posts together. Enter roles and locations in the language of the posts you want.
  • Lower minIntentScore (for example to 25) if you want to review borderline posts yourself.
  • Use onlyWithContact for outreach lists. It keeps only posts where an email or apply link is visible. Expect fewer results, because most posts do not include one.

Integrations

Connect the Actor to the tools you already use through Apify integrations: Slack, Google Sheets, Airtable, Make, Zapier, n8n, webhooks and more. Combine a schedule with Only new posts to send each new hiring post to a channel or a spreadsheet exactly once. You can also run the Actor from your own code through the Apify API and the official client libraries for JavaScript and Python.

FAQ

Do I need a LinkedIn account?

No. The Actor does not log in to LinkedIn and does not need your cookies or credentials, so there is no account that could be restricted.

Which posts does it find?

Public LinkedIn posts that announce open roles and match your roles, locations and filters. It does not see private posts or anything that requires a login to view.

Is this a complete feed of all hiring posts on LinkedIn?

No. It finds posts that are publicly visible, which is a part of all posts. It is a discovery tool, not a complete feed. Specific roles and locations work better than very broad ones, and running it on a schedule builds up coverage over time.

How accurate is the posting date?

Every row has the exact time the post was published, so time filters such as "last 7 days" are precise.

Only the beginning of each post is publicly visible, so contact details appear when they are in that part, which is common for short posts and less common for long ones. Use onlyWithContact if you only want posts that show a contact.

What does the intent score mean?

It is an estimate that the post comes from an employer or recruiter looking for candidates. It is based on hiring phrases, job-description wording, the details found in the post and how recent it is. Posts by job seekers score close to zero. Review borderline scores before acting on them.

Can I search in other languages?

Yes. Set languages to any of en, tr, de, es, fr, pt. Hiring phrases for each language are included. Roles and locations are used exactly as you type them, so enter them in the language of the posts you want.

Can I run it on a schedule and get only new posts?

Yes. Enable onlyNew and create a schedule. Each run returns only posts that no earlier run with the same roles, locations, keywords, languages and work mode has delivered.

What happens if nothing is found?

The run still finishes successfully with an empty dataset and a clear message, and no results are charged. Try a broader role, a longer postedWithin window or a lower minIntentScore.

The Actor works with publicly available posts only and does not log in or access private data. Public posts and contact details can still contain personal data, such as names and email addresses. Use the output for lawful purposes and follow GDPR and similar regulations when you contact people. You are responsible for how you use the data. If you are unsure, consult a legal professional.

Need help or a custom solution?

If a result looks wrong, you need another language or filter, or you want a custom version of this Actor, open an issue in the Issues tab of the Actor page and describe the search you ran. Real examples are the fastest way to get a fix.