apify-linkedin-jobs-scraper
Search and export LinkedIn job postings with salary, seniority, recruiter and company fields using the harshmaur/linkedin-jobs-scraper Apify Actor.
Skill by sickn33
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/sickn33-apify-linkedin-jobs-scraper
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/apify-linkedin-jobs-scraper
What's inside
- Skill name
apify-linkedin-jobs-scraper- Description
- Search and export LinkedIn job postings with salary, seniority, recruiter and company fields using the harshmaur/linkedin-jobs-scraper Apify Actor. No LinkedIn login.
- License
- MIT
- Instructions
- 167 lines in SKILL.md · view on GitHub
Files (2)
- SKILL.md
- gotchas.md · references/
SKILL.md (first lines)
# LinkedIn Jobs Scraper
Turn a job-market question into one run of `harshmaur/linkedin-jobs-scraper` and return one row per job. The author describes an Actor that covers keyword search, pasted search URLs, company enrichment and searches past LinkedIn's limit of about 1,000 results. The work is to pick the right input fields and to keep the job count in budget.
Disclosure: the Actor is paid per result and is built by the skill author. Links carry no affiliate parameters.
## When to Use
Use for LinkedIn job searches, salary comparisons, hiring research and job-board exports.
## Example prompts
Prompts this skill handles:
- "Find product manager jobs in London from the last 24 hours."
- "Export 500 remote React developer jobs in the US with salary and company size."
- "Which companies in Germany posted data engineer jobs this week? Give me the recruiter when there is one."
- "Scrape this LinkedIn search: https://www.linkedin.com/jobs/search/?keywords=devops&location=Canada&f_TPR=r604800"
Out of scope (the boundary):
- "Apply to these jobs for me" or "message the recruiter" — the Actor only reads public job pages.
- "Scrape these LinkedIn profiles" or "find people who work at X" — this Actor returns jobs, not people. Use a profile Actor from the Apify Store.
## Prerequisites
- Apify account ([sign up](https://apify.com)). Check current credits, Actor prices and platform charges before choosing a budget.
- Authentication via one of:
- `apify login` (OAuth, if you use the Apify CLI)
- `APIFY_TOKEN` environment variable
- Token from [Apify Console → Settings → Integrations](https://console.apify.com/settings/integrations)
- Apify CLI (`npm install -g apify-cli`), or the Apify MCP server (see "Calling the Actor").
## Workflow
### Step 1 — Map the request to input fields
| The user gives you | Field | Notes |
|---|---|---|
| A job title, skill or role | `keywords` | Short words work best: `"data engineer"`, not a sentence. |
| A city, country or "remote" | `location` | Free text as LinkedIn takes it: `"Berlin"`, `"United States"`, `"Remote"`. |
| "today", "this week", "this month" | `datePosted` | `"1"` (24 h), `"7"`, `"30"`. Provider-described filter; verify returned timestamps for freshness. |
| remote, hybrid, on-site | `workplaceType` | `remote`, `hybrid`, `on-site`. Not exact (see Gotchas). |
| full-time, contract, internship | `jobType` | `full-time`, `part-time`, `contract`, `temporary`, `internship`. Not exact. |
| junior, senior, director | `experienceLevel` | `internship`, `entry`, `associate`, `mid-senior`, `director`, `executive`. Not exact. |
| A LinkedIn job search URL | `startUrls` | `[{"url": "..."}]`. Search URLs only (`/jobs/search/?...`). The URL keeps its own filters, including company (`f_C`), Easy Apply (`f_AL`) and under 10 applicants (`f_EA`). The form filters above do not apply to it. |
| "how many" | `maxItems` | One total for the whole run, shared by every search. Default 50. `0` means no limit: never send `0` without a cost check. |
| company size, website, headquarters | `scrapeCompany: true` | No extra charge. |
| only the list, fast | `scrapeDetails: false` | Search-card fields only: title, company, location, date, logo, URL. No description, salary or recruiter. |
| more than about 1,000 jobs for one search | `splitByLocation: true` + `splitCountry` | Runs the search in each large city of the country and removes duplicates. Countries: `us`, `uk`, `ca`, `au`, `in`, `de`, `fr`, `nl`, `es`, `ie`, `ae`, `sg`, `br`. It replaces `location`. |
| "send each job to Slack, Notion or Sheets" | `mcpConnector` + `mcpTarget` (+ `mcpMessage`) | Needs an MCP connector that the user authorized in Apify Console. See `references/gotchas.md`. |
You must give at least one of `keywords`, `location` or `startUrls`. Without them the run fails at once with a "Provide a Job title" message, and nothing is charged.
### Step 2 — Build the input
Start small and change only what the request needs:
```json
{
"keywords": "data engineer",
"location": "Berlin",
"datePosted": "7",
"maxItems": 50,
"scrapeDetails": true,
"scrapeCompany": false
}
```
Do not pass `proxy`. Fetch the live schema when a field is in doubt:
```bash
apify actors info "harshmaur/linkedin-jobs-scraper" --input --json \
--user-agent apify-awesome-skills/apify-linkedin-jobs-scraper
```
### Step 3 — Estimate the cost, then run
The price is per job in the dataset. There is no start fee, and details, recruiter and company data cost nothing extra:
| Apify plan | Per 1,000 jobs |
|---|---|
| Free | $1.00 |
| Starter | $0.47 |
| Scale | $0.43 |
| Business and higher | $0.40 |
`cost ≈ maxItems × price per job`. Use the Free price when you do not know the plan. These are historical illustrative prices, not a spending ceiling. Verify the live Actor pricing and account plan, include platform charges, and stay within the user-authorized budget; when no budget is authorized, obtain one before a paid run. Never use unlimited `maxItems: 0` without an explicit bounded cost agreement.
```bash
apify actors call "harshmaur/linkedin-jobs-scraper" \
-i '{"keywords":"data engineer","location":"Berlin","datePosted":"7","maxItems":50}' \
--json \
--user-agent apify-awesome-skills/apify-linkedin-jobs-scraper
```
The JSON output gives `status` and the dataset ID at `storage.defaultDatasetId`. A run of 50 jobs with details usually ends in under a minute. A split-by-location run of several thousand jobs takes many minutes; start it without waiting and poll it with `apify runs info "RUN_ID" --json --user-agent apify-awesome-skills/apify-linkedin-jobs-scraper`.
### Step 4 — Fetch and report
```bash
EXPORT_DIR="$(mktemp -d)" || exit 1
apify datasets get-items "DATASET_ID" --format json \
--user-agent apify-awesome-skills/apify-linkedin-jobs-scraper \
> "$EXPORT_DIR/linkedin-jobs.json"
```
Each row has `dataType: "job"`. The fields you use most:
| Need | Fields |
|---|---|
| Identity | `jobId`, `url`, `title`, `company`, `companyUrl`, `location` |
| Freshness | `postedAt` (ISO date), `postedTimeAgo` |
| Role | `employmentType`, `seniorityLevel`, `jobFunction`, `industries`, `applicants` |
| Pay | `salary` (raw text), `salaryMin`, `salaryMax`, `salaryCurrency`, `salaryPeriod` |
| Contact | `jobPosterName`, `jobPosterTitle`, `jobPosterProfileUrl` |
| Text | `descriptionMarkdown` (best for LLMs), `descriptionText`, `descriptionHtml` |
| Company (`scrapeCompany`) | `companyDescription`, `companyWebsite`, `companyEmployeesCount`, `companyHeadquarters` |
| Provenance | `searchTerm`, `searchPosition`, `scrapedAt` |From sickn33/agentic-awesome-skills, MIT.
More from sickn33/agentic-awesome-skills
- 0.881score
asset-inventory
devops-skills
Maintain IT asset inventory and configuration management database.
SkillAFreshness: A★ 48.4KClaude Code +9 - 0.881score
arm-templates
devops-skills
Deploy Azure resources with ARM templates and Bicep.
SkillAFreshness: A★ 48.4KClaude Code +9 - 0.881score
access-review
devops-skills
Conduct periodic access reviews and certifications.
SkillAFreshness: A★ 48.4KClaude Code +9 - 0.878score
ai-coding-agent-guardrails
devops-skills
Secure AI coding agents (Claude Code, Cursor, Codex, Copilot) with permission boundaries, secret protection, code review gates, and safe sandbox…
SkillAFreshness: A★ 48.4KClaude Code +9 - 0.878score
agents-generator
OJPalenzuela
Generate project-specific AGENTS.md and companion rules by analyzing a codebase.
SkillAFreshness: A★ 48.4KClaude Code - 0.876score
aws-lambda
devops-skills
Build and deploy serverless functions on AWS Lambda.
SkillAFreshness: A★ 48.4KClaude Code +9 - 0.876score
aws-s3
devops-skills
Configure S3 buckets, policies, and lifecycle rules.
SkillAFreshness: A★ 48.4KClaude Code +9 - 0.876score
aws-iam
devops-skills
Manage IAM users, roles, and policies.
SkillAFreshness: A★ 48.4KClaude Code +9 - 0.876score
aws-rds
devops-skills
Provision and manage RDS databases.
SkillAFreshness: A★ 48.4KClaude Code +9 - 0.876score
azure-aks
devops-skills
Deploy and manage Azure Kubernetes Service clusters.
SkillAFreshness: A★ 48.4KClaude Code +9 - 0.876score
aws-vpc
devops-skills
Design and implement VPCs and networking.
SkillAFreshness: A★ 48.4KClaude Code +9 - 0.876score
aws-ecs-fargate
devops-skills
Deploy containers on ECS and Fargate.
SkillAFreshness: A★ 48.4KClaude Code +9
Signals
- Stars
- 48,428
- Forks
- 7,039
- Open issues
- 0
- Last commit (this folder)
- Oct 24, 2026 (4 days ago)
- Last release
- Oct 24, 2026 (4 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Website
- aaskills.tech/
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from sickn33
- 0.665score
agentphone
sickn33
Build AI phone agents with AgentPhone API.
SkillAFreshness: A★ 48.4KClaude Code +9 - 0.665score
ai-seo
sickn33
Optimize content for AI search and LLM citations across AI Overviews, ChatGPT, Perplexity, Claude, Gemini, and similar systems.
SkillAFreshness: A★ 48.4KClaude Code +9 - 0.665score
agent-evaluation
sickn33
Evaluate agent behavior with versioned cases and explicit verifiers.
SkillAFreshness: A★ 48.4KClaude Code +9 - 0.665score
agent-memory-systems
sickn33
Design tenant-scoped memory, retrieval and retention for agents.
SkillAFreshness: A★ 48.4KClaude Code +9 - 0.665score
add-app-clip
sickn33
Add an iOS App Clip target to an Expo app.
SkillAFreshness: A★ 48.4KClaude Code +9 - 0.665score
angular-best-practices
sickn33
Angular performance optimization and best practices guide.
SkillAFreshness: A★ 48.4KClaude Code +9
Cite this page
apify-linkedin-jobs-scraper skill. Agent Mart. https://agentmart.dev/skills/sickn33-apify-linkedin-jobs-scraper (last updated 2026-10-24)