Skip to main content
The JobSpy JS CLI provides a powerful command-line interface for scraping job postings from 9 major job boards. It’s built on top of the SDK and adds config profiles, deduplication tracking, and convenient output formatting.

Installation

Install JobSpy JS globally to use the jobspy command:
npm install -g jobspy-js
For Google Jobs support, install Playwright’s Chromium browser:
npx playwright install chromium

Basic Usage

The simplest scrape requires just a site and search term:
jobspy -s linkedin -q "react developer"
This searches LinkedIn for React developer positions and prints results to stdout.

Quick Examples

jobspy -s linkedin -q "react developer" -l "New York, NY" -n 20

Output Formats

Terminal Table (default)

Without -o/--output, results print as a formatted table:
jobspy -s linkedin -q "engineer" -n 5
Found 5 jobs
linkedin      Senior Software Engineer                    Acme Corp             San Francisco, CA          2026-03-04
linkedin      Frontend Engineer - React                   TechCo                Remote                     2026-03-03
linkedin      Backend Engineer                            StartupXYZ            New York, NY               2026-03-02
linkedin      Full Stack Developer                        DevShop               Austin, TX                 2026-03-01
linkedin      Principal Engineer                          BigTech               Seattle, WA                2026-02-28

JSON Output

Use -o with a .json extension:
jobspy -s linkedin -q "engineer" -n 5 -o results.json
Outputs an array of job objects with all scraped fields:
[
  {
    "site": "linkedin",
    "job_url": "https://www.linkedin.com/jobs/view/4127292817",
    "job_url_direct": null,
    "title": "Senior Software Engineer",
    "company": "Acme Corp",
    "location": "San Francisco, CA",
    "job_type": ["fulltime"],
    "date_posted": "2026-03-04",
    "salary_source": "from_description",
    "interval": "yearly",
    "min_amount": 150000,
    "max_amount": 200000,
    "currency": "USD",
    "is_remote": false,
    "job_level": "mid-senior level",
    "job_function": "Engineering",
    "listing_type": "external",
    "emails": [],
    "description": "# About the Role\n\nWe are seeking..."
  }
]

CSV Output

Use -o with a .csv extension:
jobspy -s indeed linkedin -q "data analyst" -n 10 -o results.csv
Generates a CSV with headers from all available fields:
site,job_url,title,company,location,job_type,date_posted,min_amount,max_amount,currency,is_remote
indeed,https://indeed.com/viewjob?jk=abc123,Data Analyst,DataCo,"Chicago, IL",fulltime,2026-03-04,65000,85000,USD,false
linkedin,https://linkedin.com/jobs/view/456789,Senior Data Analyst,AnalyticsCorp,Remote,fulltime,2026-03-03,90000,120000,USD,true

Core Workflow

A typical JobSpy CLI workflow:
  1. Search — scrape jobs from one or more sites
  2. Filter — apply location, remote, type, and recency filters
  3. Deduplicate — (optional) track previously seen jobs with --profile
  4. Export — save results as JSON or CSV

Common Options

FlagDescriptionDefault
-s, --siteJob boards to scrapeall sites
-q, --search-termSearch query
-l, --locationJob location
-n, --resultsResults per site15
-r, --remoteRemote jobs onlyfalse
-t, --job-typeEmployment type
-o, --outputOutput file (.json or .csv)stdout
--hours-oldMax posting age in hours
-v, --verboseVerbosity level (0-2)0
See Commands for the complete flag reference.

Supported Job Boards

The CLI supports all 9 job boards:
SiteKeyNotes
LinkedInlinkedinHTML scraping
IndeedindeedGraphQL API
GlassdoorglassdoorGraphQL API
Google JobsgooglePlaywright (requires proxy/clean IP)
Google Careersgoogle_careersJobs at Google (the company)
ZipRecruiterzip_recruiterWeb scraping
BaytbaytHTML scraping
NaukrinaukriREST API
BDJobsbdjobsREST API
Scrape multiple sites in a single run:
jobspy -s linkedin indeed glassdoor -q "software engineer" -n 25
All sites are scraped concurrently for maximum speed.

Next Steps

Commands

Complete CLI flag reference and advanced examples

Config Profiles

Define reusable search profiles in jobspy.json

Deduplication

Track and filter previously seen jobs across runs

SDK Reference

Use JobSpy programmatically in Node.js

Build docs developers (and LLMs) love