LinkedIn Jobs Scraper
Pricing
from $3.00 / 1,000 results
LinkedIn Jobs Scraper
Scrape LinkedIn job listings at scale. Extract job titles, companies, salaries, descriptions, and more. No login required.
Pricing
from $3.00 / 1,000 results
Rating
0.0
(0)
Developer
kane liu
Actor stats
1
Bookmarked
3
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Turn any LinkedIn job search into a downloadable spreadsheet — no login, no risk to your account.
- ✅ Pull from 15M+ live job postings across LinkedIn's worldwide job board
- ✅ Get job titles, companies, salaries, locations, hours, descriptions, seniority, industry — all in one run
- ✅ Download as Excel, CSV, or JSON — no coding required
- ✅ Pay only for what you use: $0.003 per job, no subscription
- ✅ Free $5 Apify credit on signup = ~1,666 jobs to start with
Paying LinkedIn Recruiter Lite $2,040/yr or PhantomBuster $69/mo just to watch what's hiring in your target market? This costs pennies per search and doesn't touch your LinkedIn account at all.
What you can do with it
1. Monitor the job market for your target keyword
Want to see every "python developer" opening in New York this week? Or every "marketing manager" role at companies in London that went live in the last 24 hours? That's what this does — you give it a keyword, a location, and some filters, and it comes back with a clean spreadsheet of every matching job.
To run a search, you fill in a short form on the Apify page — same filters you'd use on LinkedIn itself, just served as a form instead of a UI you click through:
What you enter:
| What | Example |
|---|---|
| Search | python developer or marketing manager |
| Location | New York |
| Country | United States (or any of 10 supported) |
| Job type | Full-time |
| Date posted | Past week |
| How many results | 100 |
Click Start. A minute or two later (depending on how many jobs you asked for), the Actor has done the LinkedIn search for you and produced a table with every matching role:
What you get back:
| Job title | Company | Location | Posted | Seniority | Salary | Link |
|---|---|---|---|---|---|---|
| Software Engineer | Uber | San Francisco, CA | 2026-04-10 | Entry level | $160K–$250K | view |
| Senior Python Developer | Stripe | New York, NY | 2026-04-12 | Mid-Senior | (not disclosed) | view |
| … | … | … | … | … | … | … |
Every row is everything you need to track a role — the title, the company, where it's based, when it went live, how senior, salary if disclosed, and a direct link to the LinkedIn posting. Download as Excel, CSV, or JSON straight from the Apify dashboard, or pipe it into a Google Sheet / Airtable via Make or Zapier.
2. Cheaper alternative to LinkedIn Recruiter or PhantomBuster
LinkedIn Recruiter Lite runs $2,040/year. Recruiter Corporate is ~$10,800/year per seat. PhantomBuster starts at $69/month. If you just need to pull job postings into a spreadsheet for market research, competitor tracking, or lead-gen signals — those tools are wildly over-priced for what you're doing.
This Actor gives you the same job data (plus more fields than PhantomBuster returns) at $0.003 per job. Same form as Use Case 1, just with filters tuned for cost-efficient runs:
What you enter:
| What | Example |
|---|---|
| Search | senior marketing manager |
| Location | London |
| Country | United Kingdom |
| Experience level | Mid-Senior level |
| How many results | 500 |
| Get full job details? | Yes |
What you get back (500 jobs, about 3 minutes to run):
| Job title | Company | Location | Seniority | Salary | Industry |
|---|---|---|---|---|---|
| Senior Marketing Manager | Monzo | London | Mid-Senior | £75K–£90K | Financial Services |
| Head of Growth Marketing | Revolut | London | Director | (not disclosed) | Fintech |
| … | … | … | … | … | … |
Cost for this run: about $1.51. That's less than a single day of PhantomBuster's Starter plan, and you get 500 real LinkedIn job postings with full descriptions, seniority, and industry fields. For recruiters and sales teams doing weekly market sweeps, the math works out to a few dollars a month instead of thousands a year.
3. Use job postings as buying signals for B2B outreach
If you sell to specific industries or team functions, who's hiring right now is one of the strongest buy-intent signals available. A company posting 5 "DevOps Engineer" roles is buying new cloud tooling. A company posting a "Head of RevOps" is about to overhaul their CRM stack. This Actor gives you that signal before your competitors spot it.
Set up a search around the role that signals your ideal buyer. You don't need reviews or full descriptions for this — just the basics so you can feed it into your CRM:
What you enter:
| What | Example |
|---|---|
| Search | head of revops or devops engineer |
| Location | United States |
| Date posted | Past 24 hours |
| How many results | 50 |
| Get full job details? | No (company name and posting date is enough) |
What you get back (50 fresh openings for your signal):
| Company | Job title | Location | Posted |
|---|---|---|---|
| Notion | Head of RevOps | San Francisco, CA | Today |
| Ramp | Director, Revenue Operations | New York, NY | 2 days ago |
| … | … | … | … |
Feed this directly into your CRM via Zapier or Make — for every new company that hits the list, the automation can create a new outbound target, enrich it with Global Company Search for the verified registration + LEI, and add it to your sequencer. One setup, a steady stream of qualified leads based on actual hiring intent rather than cold lists.
4. Track competitor hiring on a weekly schedule
If a competitor starts posting 3x their usual volume of engineering roles, something's about to launch. If they're posting in new cities, they're expanding into a new market. Run this Actor once a week on a set of competitor names or keywords, compare each week's file to the last, and you'll spot these moves before they hit the press.
Set up a search around the companies or roles you want to track, then use Apify's built-in Scheduler (or a Zapier / Make trigger) to run it automatically every Monday morning:
What you enter:
| What | Example |
|---|---|
| Search | software engineer at Stripe (or just Stripe) |
| Country | United States |
| Date posted | Past week |
| How many results | 200 |
What you get back (scheduled weekly):
| Job title | Company | Posted this week | Open last week? | Change |
|---|---|---|---|---|
| Staff Engineer, Payments | Stripe | 2026-04-16 | No | New |
| Senior PM, Treasury | Stripe | 2026-04-12 | Yes | Still open |
| Engineering Manager, Atlas | Stripe | 2026-04-08 | Yes | Closed this week |
| … | … | … | … | … |
A simple spreadsheet diff (or an automation in Make / Zapier) is enough to flag new postings, role closures, and shifts in hiring focus. No monitoring software on top — just this Actor + a schedule + your own tool of choice for the diff.
5. Use it from ChatGPT, Claude, or no-code automation
Ask your AI assistant (ChatGPT, Claude, Cursor) a question like "find every senior data engineer role posted this week in Berlin, with salary if listed" — it runs this Actor and returns real, current data back into the conversation. Also works as a standard "Run Actor" step in Make, n8n, and Zapier.
Connect the Apify MCP server once in your assistant's settings (configuration in the developer section below), and from then on you just ask questions in plain English inside the chat:
What you enter (a plain-English question, not a form):
| What | Example |
|---|---|
| Search | senior data engineer |
| Location | Berlin |
| Country | Germany |
| Date posted | Past week |
The assistant translates your question into the right Actor input, runs the search, and shows the results in the conversation:
What your assistant gets back:
| Job title | Company | Location | Seniority | Salary |
|---|---|---|---|---|
| Senior Data Engineer | Zalando | Berlin, Germany | Mid-Senior | €85K–€110K |
| Lead Data Platform Engineer | N26 | Berlin, Germany | Director | (not disclosed) |
| … | … | … | … | … |
You can follow up naturally — "which ones offer remote?" or "sort by salary descending" or "export this to Google Sheets" — and your assistant will filter, sort, or pipe the data without having to re-run the search.
How to use (no code required)
- Click "Try for Free" at the top of this page
- Type a keyword — any job title or skill (e.g.
python developer,product manager,head of sales) - (Optional) Set a location, country, job type, seniority level, or posted-date filter
- Set how many results you want (default 50, up to 1,000)
- Click Start — results appear in the Dataset tab in a minute or two, ready to download as Excel, CSV, or JSON
That's the whole workflow — type, wait, download. If you've ever typed a job search into LinkedIn itself, you already know how to use this Actor. The only difference is that instead of clicking through 20 pages of results in a browser, you get them back as a spreadsheet you can sort, filter, email, or pipe into any other tool.
No login needed. This Actor doesn't touch your LinkedIn account — it uses LinkedIn's public Guest API, the same one any logged-out visitor sees. Your own account stays completely untouched and safe.
The $5 free Apify credit you get on signup covers ~1,666 jobs — enough to run real market research or a competitor audit before spending anything.
What you get back
Each job posting comes back as one row in a table. Here's everything you'll see in that row:
- Job title and the company hiring
- Location (city, region, country) and whether the role is remote, on-site, or hybrid
- Posting date — when the job went live on LinkedIn
- Employment type — full-time, part-time, contract, temporary, internship, etc.
- Experience level — entry, associate, mid-senior, director, executive
- Job function (engineering, marketing, sales, etc.) and industry (software, finance, healthcare, etc.)
- Salary range — when disclosed by the employer (about 30% of US jobs, required in many states/EU countries)
- Full job description — the complete text, useful for keyword analysis or ATS-style parsing
- Direct LinkedIn URL — a one-click link to the original posting
- Company URL — link to the hiring company's LinkedIn page
Each result set comes back as a table you can download as Excel, CSV, or JSON, or send directly to your CRM, ATS, or spreadsheet through Zapier or Make.
This format works directly in Excel, Google Sheets, Airtable, Notion, or any tool that accepts CSV imports. No data cleanup needed — every field is already structured and ready to use.
Data sources
All data comes directly from LinkedIn's public Guest API — the same endpoints a logged-out visitor uses to browse jobs at linkedin.com/jobs. No login, no session hijacking, no scraping of private member data. Every run is a live fetch at run time, so the results reflect what's actually live on LinkedIn at that moment.
Coverage is global — LinkedIn hosts 15M+ active job postings across every major market (US, UK, EU, Canada, Australia, India, Singapore, etc.), listed by 1.2 billion professionals' employers.
Pricing
Pay per job. No subscription.
Billing is simple: you pay a negligible fee to kick off a run, plus a per-job fee for each posting the Actor returns. That's it — no tiers, no seat fees, no monthly minimums.
| What triggers a charge | Cost |
|---|---|
| Actor start (each run) | $0.00005 (effectively free) |
| Each job scraped | $0.003 |
To give you a feel for what this looks like in actual dollars for real-world runs:
Real-world cost examples:
| Scenario | Jobs | Total cost |
|---|---|---|
| Quick check: python devs in NYC this week | 50 | $0.15 |
| Weekly competitor sweep: 5 companies × 100 roles | 500 | $1.50 |
| Monthly market research: full keyword across a metro | 1,000 | $3.00 |
| Major sector audit: hiring trends across an industry | 10,000 | $30.00 |
The cost scales linearly — double the jobs, double the cost. No tier thresholds, no surprise jumps.
$5 free Apify credit = ~1,666 jobs — enough to run a real market research pass before paying anything.
How this compares to the alternatives:
Here's what you'd pay with other common tools for similar LinkedIn jobs data — or, for some of them, to discover they don't even let you export raw data at all:
| Tool | Price | What you get | What you don't get |
|---|---|---|---|
| LinkedIn Recruiter Lite | $2,040/yr (1 seat, 360 InMails) | Official search UI, contact reach-out tools | No exports, no bulk data, no automation |
| LinkedIn Recruiter Corporate | ~$10,800/yr per seat | Enterprise ATS features | Same — no raw data export |
| Bright Data LinkedIn Jobs | $1.50/1K (pay-as-you-go) or $499/mo (Scale) | Raw LinkedIn jobs data | $499/mo subscription minimum on the scale tier |
| PhantomBuster | $69–$439/mo | LinkedIn automation + scraping | Monthly subscription, session-based (requires your LinkedIn cookie) |
| Coresignal | ~$800/mo (Pro tier ≈ $0.08/record) | Curated jobs dataset | 26x more expensive per record, enterprise-only |
| Oxylabs Web Scraper API | $49/mo starting | General-purpose scraping | Have to build the LinkedIn parsing layer yourself |
| This Actor | $0.00005/run + $0.003/job | LinkedIn jobs data with 16+ fields, no subscription, MCP + LangChain native | — |
No annual contract. No subscription. No seat minimum. $5 free credit covers ~1,666 jobs — start there.
If you run zero searches in a month, you owe zero dollars. None of the alternatives above work that way.
Connect to your tools
Use this Actor from any of the major no-code and automation tools. You don't need to write or edit any code — each tool has a built-in Apify connector that handles the wiring for you:
| Platform | How to connect |
|---|---|
| Make.com | Search "Apify" → "Run Actor" → use Actor ID lentic_clockss/linkedin-jobs-scraper |
| n8n | Add Apify node → "Run Actor" → same Actor ID |
| Zapier | Apify integration → "Run Actor" trigger |
| ChatGPT / Claude / Cursor | Connect via Apify's MCP endpoint — your AI assistant calls this Actor directly inside a chat |
| LangChain, Python, custom code | Via Apify SDK or direct API call |
The three most common setups in practice:
- With ChatGPT, Claude, or Cursor: connect once via MCP (configuration in the developer section below), then just ask questions in plain English inside the chat — "find all senior product manager roles posted this week in Berlin and Amsterdam" — and your assistant runs this Actor and returns the results right in the conversation.
- With Make or Zapier: set up a scheduled automation (for example: "every Monday at 8am, run this Actor with these filters, then write new jobs to Google Sheets / email me a diff / post any competitor's new roles to Slack"). Configure once, it runs forever.
- With n8n: same idea as Make and Zapier, with a self-hosted option if you need your data to stay on your own infrastructure.
When to use something else
This Actor is built specifically for pulling public job postings off LinkedIn into a spreadsheet. For anything outside that scope, here are the tools that fit better:
| If you need… | Use this instead |
|---|---|
| To reach out to LinkedIn members via InMail / connections | LinkedIn Recruiter or Sales Navigator — those are what the official product is for |
| Member profiles (not jobs) — titles, work history, skills | A dedicated LinkedIn profile scraper (this one is jobs-only) |
| Local business data (restaurants, dentists, shops) | Google Maps Scraper |
| Company registry data (incorporation, officers, filings) | Global Company Search |
| Scraping arbitrary websites behind anti-bot protection | Stealth Web Scraper |
FAQ
Q: Do I have to log in or give you my LinkedIn account? A: No — never. This Actor uses LinkedIn's public Guest API, which is the same endpoint a logged-out visitor hits when browsing jobs at linkedin.com/jobs. Your LinkedIn account stays completely untouched.
Q: Will this get my LinkedIn account banned? A: No. Since the Actor doesn't use your account at all, there's nothing tying the scrape to you. This is different from tools like PhantomBuster, which require your session cookie and do carry real ban risk.
Q: How fresh is the data? A: Every run is a live fetch at run time. The results reflect what LinkedIn is showing that moment — if a job went live an hour ago, you'll see it.
Q: Can I get 1,000+ jobs in one run?
A: Yes. The maxResults field goes up to 1,000 per run. For larger sweeps, run multiple searches with different filters (e.g. split by city, seniority, or week) and combine the output files.
Q: Do all jobs have salary data? A: About 30% do — salary disclosure is required in several US states (NY, CA, WA, CO) and many EU countries, but not everywhere. When disclosed, you get the full range, currency, and period (yearly / monthly / hourly).
Q: Can I run this on a schedule? A: Yes. Apify has a built-in scheduler (set it in the Actor's Schedules tab) or you can trigger it from Make / Zapier / n8n on any cadence you want — hourly, daily, weekly.
Q: What filters does LinkedIn's search actually support? A: Keyword (title/skill), location (city/state/country), employment type (full/part/contract/intern), seniority level (entry/associate/mid-senior/director/exec), date posted (24h/week/month), and workplace type (remote/on-site/hybrid). The Actor exposes all of them as simple form fields.
Q: Why is my search returning fewer results than I asked for? A: LinkedIn caps certain searches at fewer results than you request, especially for very specific filters (narrow city + specific seniority + recent date). Broaden one filter (e.g. switch from city to country, or past-week to past-month) to unlock more postings.
Related Actors
- Google Maps Scraper — pull any local business data from Google Maps (names, phones, reviews, hours)
- Global Company Search — verify companies across 82 official government registries in 40+ countries
- US Government Contracts Search — find federal and state procurement opportunities and contractor awards
- Stealth Web Scraper — scrape Cloudflare-protected and anti-bot sites
→ Browse all Actors: apify.com/lentic_clockss
Also Available
- Direct API:
https://opendata.best/api/v1/data— use with any HTTP client and your API key - Postman Collection: Fork and test — pre-built requests with example responses
- GitHub: Collection source files — import JSON into any API client