JobSpy

1.1.82 · active · verified Thu Apr 16

JobSpy is a Python library designed for scraping job postings from major job boards including LinkedIn, Indeed, Glassdoor, ZipRecruiter, Google Jobs, Bayt, and Naukri. It aggregates job data into a Pandas DataFrame, supports concurrent scraping, and includes features like proxy support to manage rate limiting. The library is actively maintained, with frequent updates adding new features and improving scraper reliability.

Common errors

Warnings

Install

Imports

Quickstart

This quickstart example demonstrates how to scrape job postings for 'software engineer' in 'San Francisco, CA' from multiple job boards. It retrieves the latest 10 results posted within the last 72 hours, specifying 'USA' for Indeed/Glassdoor. The results are returned as a Pandas DataFrame.

import pandas as pd
from jobspy import scrape_jobs

jobs = scrape_jobs(
    site_name=["indeed", "linkedin", "zip_recruiter", "google", "glassdoor"],
    search_term="software engineer",
    location="San Francisco, CA",
    results_wanted=10,
    country_indeed="USA", # Required for Indeed/Glassdoor in many cases
    hours_old=72, # Jobs posted within the last 72 hours
    description_format="markdown",
    verbose=1 # Show warnings and errors
)

if isinstance(jobs, pd.DataFrame):
    print(f"Found {len(jobs)} jobs")
    print(jobs.head())
    # To save to CSV:
    # import csv
    # jobs.to_csv(
    #     "jobs.csv",
    #     quoting=csv.QUOTE_NONNUMERIC,
    #     escapechar="\\",
    #     index=False,
    # )
else:
    print("No jobs found or an error occurred.")

view raw JSON →