skillfed

python-jobspy

Job scraper for LinkedIn, Indeed, Glassdoor, ZipRecruiter & Bayt

python-jobspy v1.1.82 483.9K downloads/30d#6,408 on PyPI4,088
License unclear Active released

What it is and what it does

JobSpy is a web scraper that pulls job postings from multiple popular job boards—LinkedIn, Indeed, Glassdoor, Google Jobs, ZipRecruiter, Bayt, Naukri, and others—and combines them into a single pandas DataFrame. It handles concurrent requests to multiple sites and supports filtering by location, job type, posting recency, salary range, and remote status. The library outputs structured job data including title, company, location, salary, job URL, and description (in markdown or HTML format).

The package is designed for job market research, recruitment automation, and data analysis. It includes proxy support to work around rate-limiting and IP blocking, and offers fine-grained control over search parameters per job board. Results can be exported to CSV or Excel. Maintenance is active, with recent updates and a large user base, though some job boards (particularly LinkedIn) are noted as restrictive and require proxies for reliable access.

Use it for:

  • Aggregate job listings across multiple boards into a single dataset for salary analysis or market research.
  • Build a job alert system that periodically scrapes and filters postings by role, location, and salary range.
  • Export job data to CSV or database for downstream analysis, visualization, or integration with recruitment tools.
  • Monitor hiring trends by collecting job postings over time from specific companies or industries.
  • Automate candidate sourcing by scraping and filtering job postings that match specific skill or location criteria.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Scrapes job postings from LinkedIn, Indeed, Glassdoor, Google, ZipRecruiter, and other job boards, aggregating results into a pandas DataFrame for analysis or export.

Yes, with conditions. Install if you need to aggregate job data from multiple boards into a single structured format and are comfortable managing proxies for rate-limit avoidance. The package is actively maintained, has low install friction, and supports current Python versions. However, verify the unclear license status before use in proprietary contexts, and confirm that your scraping use case complies with each job board's terms of service and robots.txt policies.

Install

python-jobspy on PyPI

pip

pip install python-jobspy

uv

uv add python-jobspy

poetry

poetry add python-jobspy

Installing python-jobspy

Before you install

Low install friction with a pure-Python wheel distribution. Actively maintained with recent commits and a substantial user base. Requires Python 3.10 or later.

License in practice

License status is unclear—no SPDX identifier or raw license text is available in the package metadata. Verify the actual license at the repository before use in proprietary or commercial contexts.

Quickstart

pip install python-jobspy

from jobspy import scrape_jobs

jobs = scrape_jobs(
    site_name=["indeed", "linkedin"],
    search_term="software engineer",
    location="San Francisco, CA",
    results_wanted=20
)
print(jobs.head())

Python 3.10 or later is required. Some job boards (LinkedIn, Glassdoor) may rate-limit or block requests; proxies are recommended for sustained scraping.

Verify before relying

  • Whether scraping these job boards complies with their terms of service and robots.txt policies.
  • Current rate-limiting behavior and blocking patterns for each supported job board.
  • Whether the package handles authentication or session management for boards that require login.

Package facts

License not declared (unclear)
Python support supports the current Python release (<4.0,>=3.10)
Install friction low — pure-Python wheel
Runtime dependencies 8 — NUMPY, beautifulsoup4, markdownify, pandas, pydantic, regex, requests, tls-client
Maintenance actively maintained — 382 days since the last release
Last repo commit
First released
Downloads 483,946/month — #6,408 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: python_jobspy-1.1.82-py3-none-any.whl

Keywords: jobs-scraper, linkedin, indeed, glassdoor, ziprecruiter, bayt, naukri

Programming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13

Tags

job scraper multiple boardsaggregate job listingslinkedin indeed scraperjob posting data extractionemployment search automationweb scraping job boardsjob market data collection
web-scrapingjob-searchdata-aggregation

More WWW/HTTP packages