Skip to content
Agentmart
Submit a tool

linkedin-jobs-search

Search LinkedIn job listings and extract full job details.

Skill by browser-act

IndexedMIT★ 6,268
Write a review

Chalk Labs

Need help deploying linkedin-jobs-search?

Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.

Book a call

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/browser-act-linkedin-jobs-search

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.

We use your email only for this newsletter. Privacy

About

Search LinkedIn job listings and extract full job details. Supports filtering by work type (remote/on-site/hybrid), contract type (full-time/part-time/contract/internship), experience level, date posted, and company. Returns job title, company, location, work type, contract type, experience level, posted date, applicant count, job description, salary, and direct job URLs. Use when user mentions linkedin jobs, linkedin job search, scrape linkedin jobs, extract linkedin job listings, find jobs on linkedin, job openings, job postings linkedin, linkedin career search, job hunting linkedin, linkedin vacancy, jobs remote linkedin, work from home jobs linkedin, linkedin scraper jobs, linkedin job data, linkedin hiring, collect job leads linkedin.

Use cases: documents, data, sales

No 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 and code. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found
Runs as
Python package

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/linkedin-jobs-search

What's inside

Skill name
linkedin-jobs-search
Description
Search LinkedIn job listings and extract full job details. Supports filtering by work type (remote/on-site/hybrid), contract type (full-time/part-time/contract/internship), experience level, date posted, and company. Returns job title, company, location, work type, contract type, experience level, posted date, applicant count, job description, salary, and direct job URLs. Use when user mentions linkedin jobs, linkedin job search, scrape linkedin jobs, extract linkedin job listings, find jobs on linkedin, job openings, job postings linkedin, linkedin career search, job hunting linkedin, linkedin vacancy, jobs remote linkedin, work from home jobs linkedin, linkedin scraper jobs, linkedin job data, linkedin hiring, collect job leads linkedin.
License
MIT
Instructions
202 lines in SKILL.md · view on GitHub

Before installing

  • Ships executable scripts

Files (3)

  • SKILL.md
  • job-detail.py · scripts/
  • search-jobs.py · scripts/

SKILL.md (first lines)

# LinkedIn — Job Search

> keywords + location + filters → paginated job list with full details

## Language

All process output to user (progress updates, process notifications) follows the user's language.

## Objective

Search LinkedIn job listings with full filter support, extract complete job data with full field coverage.

## Prerequisites

- The browser is open and the LinkedIn session is active (logged in). A LinkedIn jobs search page such as `https://www.linkedin.com/jobs/search/` must have been visited at least once so the CSRF token cookie is set.

## Pre-execution Checks

### 1. Tool Readiness

If browser-act has been confirmed available in the current session → skip this step.

Invoke `browser-act` via Skill tool to load usage. If installation or configuration issues arise, follow its guidance to resolve then retry.

### 2. Login Verification

If login status for LinkedIn has been confirmed in the current session → skip this step.

Otherwise: open `https://www.linkedin.com` and observe the page:
- User avatar or "Me" menu visible → logged in, continue
- Sign in / Join button visible → not logged in, inform user that LinkedIn login is required first

User refuses or cannot log in → terminate execution.

## Capability Components

> This Skill's operational boundary = what the user can manually do in their browser. It accesses LinkedIn through the user's logged-in browser, only reading data already available to the user. JS code is encapsulated in Python files under the `scripts/` directory, invoked via `eval "$(python scripts/xxx.py {params})"`. `$(...)` is bash syntax; it is recommended to use the bash tool for execution.

### API: Search LinkedIn jobs (list page)

`eval "$(python scripts/search-jobs.py '{keywords}' '{location}' --count {count} --start {start} --work-type {work_type} --job-type {job_type} --experience {experience} --time-posted {time_posted} --company-ids {company_ids})"`

Parameters:
- `keywords`: job title or search keywords (e.g., `software engineer`, `data analyst`)
- `location`: location name (e.g., `United States`, `New York`, `San Francisco Bay Area`)
- `--count`: results per API call, default `25`, max `100`
- `--start`: pagination offset, default `0`. Increment by `count` for each page
- `--work-type`: work arrangement filter — `1`=On-site, `2`=Remote, `3`=Hybrid (optional)
- `--job-type`: contract type filter — `F`=Full-time, `P`=Part-time, `C`=Contract, `T`=Temporary, `I`=Internship, `V`=Volunteer (optional)
- `--experience`: experience level filter — `1`=Internship, `2`=Entry, `3`=Associate, `4`=Mid-Senior, `5`=Director (optional)
- `--time-posted`: recency filter — `r86400`=24h, `r604800`=7 days, `r2592000`=30 days (optional)
- `--company-ids`: comma-separated LinkedIn company numeric IDs (optional, e.g., `76987811,1441`)

Output example:
```json
{
  "total": 36015,
  "start": 0,
  "count": 5,
  "jobs": [
    {
      "id": "4416832078",
      "title": "Lead Frontend Software Engineer",
      "company": "RowsOne",
      "location": "Boca Raton, FL",
      "workType": "Remote",
      "jobUrl": "https://www.linkedin.com/jobs/view/4416832078",
      "companyUrl": "https://www.linkedin.com/company/rowsone"
    }
  ]
}
```

Error handling: If `{"error": true}` is returned, check that the browser is still logged in to LinkedIn and navigate to `https://www.linkedin.com/jobs/search/` to refresh the session, then retry once.

### API: Get full job details

`eval "$(python scripts/job-detail.py '{job_id}')"`

Parameters:
- `job_id`: numeric LinkedIn job posting ID (from `id` field in search results)

Output example:
```json
{
  "id": "4416832078",
  "title": "Lead Frontend Software Engineer",
  "company": "RowsOne",
  "companyUrl": "https://www.linkedin.com/company/rowsone",
  "location": "Boca Raton, FL",
  "workType": "Remote",
  "contractType": "Full-time",
  "experienceLevel": "Mid-Senior level",
  "listedAt": "2026-05-26T16:14:30.000Z",
  "applicantCount": 37,
  "description": "Lead Frontend Engineer (React / Next.js)...",
  "salary": null,
  "jobUrl": "https://www.linkedin.com/jobs/view/4416832078"
}
```

Error handling: HTTP 404 means job has been removed or ID is invalid. If `{"error": true, "message": "HTTP 403"}`, the LinkedIn session may have expired — navigate back to LinkedIn and verify login, then retry.

### Composite: Full job extraction (search list + detail for each job)

For complete output with all fields (description, contract type, experience level, posted date):

1. Run search component to collect job IDs and basic info
2. For each job ID, run the detail component
3. Merge results by job ID

Batch script template (bash):
```bash
#!/bin/bash
SESSION="fb_explore"
KEYWORDS="software engineer"
LOCATION="United States"
TOTAL_ROWS=50
COUNT=25

From browser-act/skills, MIT.

More from browser-act/skills

Compare and alternatives

    Featured in

    Signals

    Stars
    6,268
    Forks
    330
    Open issues
    9
    Last commit (this folder)
    May 27, 2026 (5 months ago)

    From GitHub (fetched Oct 24, 2026).

    Details

    License
    MIT
    First seen
    Oct 24, 2026
    Last checked
    Oct 24, 2026

    More from browser-act

    Done for you

    Rather not set it up yourself?

    Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.

    See how we build AI agents →Read the case studies

    Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.

    launches shipped
    50+
    launches shipped
    media placements
    500+
    media placements
    founders on every account
    2
    founders on every account

    Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block

    Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.

    Get linkedin-jobs-search running in your business

    Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.

    Goes to the Chalk Labs founders, not the newsletter. Privacy

    Need help deploying linkedin-jobs-search?

    CallGet help
    Cite this page

    linkedin-jobs-search skill. Agent Mart. https://agentmart.dev/skills/browser-act-linkedin-jobs-search (last updated 2026-10-24)