linkedin-job-scraper
Scrapes LinkedIn job postings using the JobSpy library (python-jobspy). Use this skill whenever the user wants to find jobs on LinkedIn, search for open roles, pull job listings, build a job pipeline, source job targets for GTM research, or monitor hiring signals. Even if the user just says "find me some jobs" or "what roles is [company] hiring for", use this skill. It runs a local Python script that outputs a CSV of job postings with title, company, location, salary, job type, description, and direct URLs.
npx skills add gooseworks-ai/goose-skills --skill linkedin-job-scraper --agent claude-code
Same command for any agent — swap --agent for codex, cursor, copilot.
Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.
# LinkedIn Scraper ## Overview This skill finds LinkedIn job postings by running `tools/jobspy_scraper.py`, a thin wrapper around the [JobSpy](https://github.com/speedyapply/JobSpy) library. It handles installation, parameter construction, execution, and result interpretation. ## Quick Start **Install the dependency once (requires Python 3.10+):** ```bash python3.12 -m pip install -U python-jobspy --break-system-packages ``` **Run the scraper:** ```bash python3.12 tools/jobspy_scraper.py \ --search "software engineer" \ --location "San Francisco, CA" \ --results 25 \ --output .tmp/jobs.csv ``` Results are saved as CSV and printed as a summary table. --- ## Workflow ### Step 1 — Understand the request Identify from the user's message: - **Search term** — job title, role, or keyword (required) - **Location** — city, state, or "Remote" (optional but recommended) - **Results wanted** — default to 25 if not specified - **Recency** — `hours_old` filter if user wants recent posts (e.g. "last 48 hours") - **Company filter** — `linkedin_company_ids` if targeting a specific company - **Full descriptions** — set `--fetch-descriptions` if user needs job description text If anything is ambiguou
- Overview
- Quick Start
- Workflow
- Step 1 — Understand the request
- Step 2 — Construct the command
- Step 3 — Run the script
- Step 4 — Interpret and present results
- Parameters Reference
- Output Columns
- Common Use Cases
- Error Handling
- Script Location
python3.12 -m pip install -U python-jobspy --break-system-packages python3.12 tools/jobspy_scraper.py \ python tools/jobspy_scraper.py \ python tools/jobspy_scraper.py --search "growth engineer" --location "New York" \ First find the LinkedIn company ID from the company's LinkedIn URL python tools/jobspy_scraper.py --search "engineer" --company-ids 1234567 \ python tools/jobspy_scraper.py --search "data analyst" --remote \ cp skills/linkedin-job-scraper/scripts/jobspy_scraper.py tools/
What does the linkedin-job-scraper skill do?
Scrapes LinkedIn job postings using the JobSpy library (python-jobspy). Use this skill whenever the user wants to find jobs on LinkedIn, search for open roles, pull job listings, build a job pipeline, source job targets for GTM research, or monitor hiring signals. Even if the user just says "find me some jobs" or "what roles is [company] hiring for", use this skill. It runs a local Python script that outputs a CSV of job postings with title, company, location, salary, job type, description, and direct URLs.
How do I install it?
Run `npx skills add gooseworks-ai/goose-skills --skill linkedin-job-scraper --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.
Where does this skill come from?
From gooseworks-ai/goose-skills, a repository with 1,091 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.
Is a popular skill a good skill?
Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.
