Skip to content

FranciscoMoretti/jobsparser

Repository files navigation

jobsparser

A simple CLI tool to scrape jobs from multiple job sites (LinkedIn, Indeed, Google).

WindowsTerminal_ItCx4KSla3

Relevant article: Automate Your Job Search: Scraping 400+ LinkedIn Jobs with Python

Installation

From PyPI:

pip install -U jobsparser

From source (if you've cloned this monorepo):

cd jobsparser
pip install .

Usage

Basic usage:

jobsparser --search-term "Python Developer" --location "London"

Use multiple job sites:

jobsparser --search-term "Frontend Engineer" --location "Remote" --site linkedin --site indeed

Advanced usage:

jobsparser \
     --search-term "junior web developer" \
     --search-term "junior software engineer" \
     --search-term "junior frontend engineer" \
     --location "London" \
     --site linkedin \
     --site indeed \
     --site google \
     --results-wanted 20 \
     --job-type fulltime \
     --output-dir "my_jobs" \
     --hours-old 168 \
     --linkedin-experience-level "internship" \
     --linkedin-experience-level "entry_level" \
     --indeed-country UK

See all options:

jobsparser --help

Features

  • Scrape jobs from LinkedIn, Indeed, and Glassdoor
  • Customizable search parameters:
    • Job type (fulltime, parttime, contract, internship)
    • Search radius (distance)
    • Number of results
    • Location and country
  • Automatic retries and rate limiting
  • CSV output with unique filenames
  • Progress tracking and status updates

Options

  • --search-term: Job search query (required)
  • --location: Job location (required)
  • --site: Job sites to search (default: linkedin)
  • --results-wanted: Total number of results (default: 15)
  • --distance: Search radius in miles/km (default: 50)
  • --job-type: Type of job (default: None)
  • --country: Country code for Indeed search (default: UK)
  • --fetch-description: Fetch full job description (default: false)
  • --proxies: Proxy addresses to use (can be specified multiple times)
  • --batch-size: Results per batch (default: 30)
  • --sleep-time: Base sleep time between batches (default: 100)
  • --max-retries: Maximum retry attempts per batch (default: 3)
  • --output-dir: Directory for CSV files (default: data)
  • --hours-old: Hours old for job search (default: None)
  • --linkedin-experience-level: Experience levels for LinkedIn search (internship, entry_level, associate, mid_senior, director, executive)

Monorepo Overview

This repository contains the following packages:

  • jobsparser/: A CLI tool to scrape jobs from multiple job sites.
  • jobspy2/: A Python library that extends the original JobSpy library, used by jobsparser.

License

The jobsparser package is licensed under the MIT License. See jobsparser/LICENSE for details.

About

CLI tool to scrape jobs from multiple job sites

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published