{"library":"python-jobspy","title":"JobSpy","description":"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.","language":"python","status":"active","last_verified":"Mon May 18","install":{"commands":["pip install -U python-jobspy"],"cli":null},"imports":["from jobspy import scrape_jobs"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import pandas as pd\nfrom jobspy import scrape_jobs\n\njobs = scrape_jobs(\n    site_name=[\"indeed\", \"linkedin\", \"zip_recruiter\", \"google\", \"glassdoor\"],\n    search_term=\"software engineer\",\n    location=\"San Francisco, CA\",\n    results_wanted=10,\n    country_indeed=\"USA\", # Required for Indeed/Glassdoor in many cases\n    hours_old=72, # Jobs posted within the last 72 hours\n    description_format=\"markdown\",\n    verbose=1 # Show warnings and errors\n)\n\nif isinstance(jobs, pd.DataFrame):\n    print(f\"Found {len(jobs)} jobs\")\n    print(jobs.head())\n    # To save to CSV:\n    # import csv\n    # jobs.to_csv(\n    #     \"jobs.csv\",\n    #     quoting=csv.QUOTE_NONNUMERIC,\n    #     escapechar=\"\\\\\",\n    #     index=False,\n    # )\nelse:\n    print(\"No jobs found or an error occurred.\")","lang":"python","description":"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.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-18","installed_version":"1.1.82","pypi_latest":"1.1.82","is_stale":false,"summary":{"python_range":"3.10–3.9","success_rate":60,"avg_install_s":11.3,"avg_import_s":2.44,"wheel_type":"wheel"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"-U","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"271.6M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"-U","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":12.3,"import_time_s":1.57,"mem_mb":43,"disk_size":"268M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"-U","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"294.7M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"-U","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":11.1,"import_time_s":2.78,"mem_mb":48.8,"disk_size":"292M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"-U","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"279.1M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"-U","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":10.5,"import_time_s":2.98,"mem_mb":47.6,"disk_size":"276M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"-U","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"-U","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":6.5,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"-U","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"-U","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":1.7,"import_time_s":null,"mem_mb":null,"disk_size":null}]}}