LinkedIn Jobs Scraper | Hiring & Job Listings Data
Pricing
from $0.97 / 1,000 jobs
LinkedIn Jobs Scraper | Hiring & Job Listings Data
Scrape LinkedIn job postings at scale. Full search filters: keywords, title, company, location, remote/hybrid, experience & date posted. Structured JSON for recruiting, talent acquisition, job boards, hiring intelligence, salary research & LLM pipelines. 1,000 jobs/keyword. Real-time Apify export.
Pricing
from $0.97 / 1,000 jobs
Rating
0.0
(0)
Developer
Chidubem Aneke
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
5 days ago
Last modified
Categories
Share
LinkedIn Jobs Scraper
The fastest way to collect LinkedIn job postings on Apify. Turn any job search into clean, structured JSON — ready for spreadsheets, dashboards, automations, and AI workflows. Results land in your dataset in real time, as each job is found.
Built for recruiters, talent teams, job boards, market researchers, and builders who need reliable hiring data at scale — without slow setups or messy exports.
Why this Actor
| LinkedIn Jobs Scraper | Typical job scraper | |
|---|---|---|
| Speed | ~1–3 s per job | 5–15 s per job |
| Memory | 256–512 MB default | 2–4 GB+ |
| Setup | Run in seconds — no login | Often requires accounts & maintenance |
| Cost | Low compute, efficient runs | High |
| Output | Structured JSON, LLM-ready | Often messy HTML |
| Scale | Up to 1,000 jobs per keyword | Often capped lower |
| Filters | Full LinkedIn Jobs filters | Often keyword-only |
What you get — every job, fully structured
Each record is one job posting with featureType: "job" and scrapedAt so you can sort, filter, and join with your own data.
| Field | What it tells you |
|---|---|
title, company, location, workplaceType | Role, employer, place, remote/hybrid/onsite |
jobUrl, applyUrl, companyUrl, companyLogo | Direct links and company branding |
descriptionText, descriptionHtml | Full job description (when detail fetch is on) |
seniorityLevel, employmentType, jobFunction, industries | How LinkedIn classifies the role |
salary, applicantCount, easyApply | Compensation signals and competition |
listedAtISO, postedTimeAgo | How fresh the listing is |
searchQuery, position | Which search produced this row and its rank |
Set includeRaw: true if you need the extended source payload for custom processing.
Search like LinkedIn Jobs — get data like a database
Use the same filters recruiters use on LinkedIn:
- Keywords — one search per keyword (e.g.
software engineer,product manager fintech) - Title — narrow to a specific role name
- Company — jobs at Google, Stripe, or any employer
- Location — United States, London, Remote, and more
- Experience level — internship through executive
- Employment type — full-time, contract, internship, volunteer, and more
- Workplace — on-site, remote, hybrid
- Date posted — any time, past month, week, or 24 hours
- Sort — relevance or most recent
- Volume — up to 1,000 jobs per keyword
- Full details — toggle rich descriptions and hiring criteria on or off
Use cases — real outcomes
- Recruiting pipelines — build candidate-ready job lists by role, location, and seniority
- Job boards & aggregators — feed your product with fresh listings daily
- Market & salary research — track who is hiring, where, and for what skills
- Competitive intelligence — monitor competitor hiring by company and function
- Sales & BD — spot companies in hiring mode for timely outreach
- AI assistants & agents — summarize listings, score fit, draft outreach, or answer hiring questions
- Data warehouses & CRMs — push JSON into Snowflake, BigQuery, HubSpot, Airtable, or your stack via API
LLM & MCP integration
Output is structured JSON — ideal for ChatGPT, Claude, Gemini, LangChain, LlamaIndex, CrewAI, and custom agents. No cleanup step. No HTML stripping. Just records your model can read.
Recommended workflow
- Run the Actor with your keywords and filters.
- Pull dataset items via Apify API, webhook, or export JSON/CSV.
- Pass records to your LLM, vector store, or automation — one job per row.
Example: one job record for an LLM prompt
{"featureType": "job","title": "Senior Software Engineer","company": "Stripe","location": "Remote","workplaceType": "Remote","seniorityLevel": "Mid-Senior level","employmentType": "Full-time","jobFunction": "Engineering","descriptionText": "We're looking for a senior engineer to...","salary": "USD 150000-200000 YEAR","applicantCount": 87,"easyApply": true,"listedAtISO": "2026-07-06T10:00:00.000Z","jobUrl": "https://www.linkedin.com/jobs/view/1234567890","searchQuery": "software engineer","scrapedAt": "2026-07-08T12:00:00.000Z"}
Apify MCP (Model Context Protocol)
Connect the Apify MCP server so AI assistants can:
- Run this Actor from natural-language instructions
- Read job results directly in the chat
- Chain with other Actors — enrich contacts, send alerts, update spreadsheets
Example MCP conversation:
User: "Find 50 remote data engineer jobs posted this week and summarize top employers"→ MCP runs LinkedIn Jobs Scraper with jobKeywords, jobLocation=Remote, jobDatePosted=week→ MCP reads dataset items→ LLM summarizes hiring trends and top companies
API quick start
curl -X POST "https://api.apify.com/v2/acts/YOUR_ACTOR_ID/runs?token=YOUR_TOKEN" \-H "Content-Type: application/json" \-d '{"jobKeywords": ["data engineer"],"jobLocation": "Remote","jobDatePosted": "week","jobsPerQuery": 50,"fetchJobDetails": true}'
Fetch results: GET https://api.apify.com/v2/datasets/{datasetId}/items?format=json
Dataset views in Apify Console: Overview (core fields) · Full details (includes descriptions)
Export as JSON, CSV, Excel, RSS, or via API.
Input reference
| Input | Type | Default | Description |
|---|---|---|---|
jobKeywords | string[] | ["software engineer"] | Search keywords — one run per keyword |
jobTitle | string | — | Title filter |
jobCompany | string | — | Company filter |
jobLocation | string | "United States" | Location |
jobExperienceLevels | enum[] | all levels | internship → executive |
jobTypes | enum[] | all types | full_time, part_time, contract, … |
jobRemote | enum[] | all types | onsite, remote, hybrid |
jobDatePosted | enum | any | any, month, week, day |
jobSort | enum | relevance | relevance or date |
jobsPerQuery | integer | 25 | Max jobs per keyword (1–1000) |
fetchJobDetails | boolean | true | Full description + criteria |
includeRaw | boolean | false | Attach extended source payload |
proxyConfiguration | object | residential US | Connection settings (US residential recommended) |
Full schema: Input tab on Apify Console or .actor/input_schema.json in this repository.
Quick start examples
Remote software roles — full details
{"jobKeywords": ["software engineer", "backend developer"],"jobLocation": "Remote","jobRemote": ["remote"],"jobsPerQuery": 100,"fetchJobDetails": true}
Jobs at a specific company
{"jobKeywords": ["engineer"],"jobCompany": "Google","jobLocation": "United States","jobsPerQuery": 50}
Fresh listings only — fast summary mode
{"jobKeywords": ["product manager"],"jobLocation": "London","jobDatePosted": "week","jobSort": "date","jobsPerQuery": 75,"fetchJobDetails": false}
High-volume market scan
{"jobKeywords": ["machine learning", "AI engineer", "data scientist"],"jobLocation": "United States","jobExperienceLevels": ["mid_senior", "director"],"jobsPerQuery": 500,"fetchJobDetails": true}
Performance & reliability
- Residential proxy (US recommended) — best results and consistent throughput.
- Default memory: 512 MB — enough for high-volume runs with multiple keywords.
- Streaming output — jobs appear in your dataset as they are collected; long runs stay efficient.
- Smart search expansion — automatically broadens coverage when you request large result sets.
Limitations & compliance
- This is an unofficial tool — not affiliated with LinkedIn.
- Use responsibly and comply with applicable laws and LinkedIn's Terms of Service.
- Some fields (e.g. salary) appear only when employers publish them.
- Listing availability can change; expired postings may return summary data only.
Contact & custom work
Need something beyond this Actor? I design and build custom data solutions and full-stack products for teams that want results — not experiments.
Email: dubem115@gmail.com
GitHub: github.com/DrunkCodes
Reach out for:
- Custom Apify Actors — any website, job board, or API
- LinkedIn & hiring data projects — pipelines, alerts, and dashboards at scale
- LLM & MCP integrations — connect your data to ChatGPT, Claude, and agent workflows
- Web apps & automation — scrapers, internal tools, SaaS products, and client-facing platforms
Whether you need a one-off data feed or a production system, I can help you ship it.
LinkedIn Jobs Scraper · by DrunkCodes