github speedyapply/JobSpy v1.4.0

3 hours ago
  • New jobspy command: search from the shell, one JSON line per job; -o saves the full records (#422)
  • New MCP server for AI agents: uvx --from "python-jobspy[mcp]" mcp-jobspy, listed in the MCP Registry as io.github.speedyapply/jobspy (#423, #424)
  • jobs.attrs["errors"] and jobs.attrs["warnings"] say which boards failed or changed the search (#419)
  • A blocked board says so: response status code 429 (blocked: use a proxy) (#423)
  • Invalid scrape_jobs arguments raise a one-line ValueError, unknown ones a TypeError (#415)
  • site_name, job_type and description_format take the exact lower-case value (#415)
  • A search with no jobs returns the usual columns with no rows (#418)
  • Logging uses the standard logging module, with loggers named jobspy.<board>; create_logger and set_logger_level are removed (#414)
  • Type hints ship with the package (py.typed) (#416)
  • JobPost fields are the output columns (#418, closes #265)
  • min_amount and max_amount are always floats, and an empty description is None (#416, #418)
  • Each board checks what it reads; a job that fails the check is skipped with a warning (#416)
  • A proxy passed in proxies is used even when the environment sets one (#415)
  • LinkedIn: pay written in the description fills in when the job page shows none, on US searches (#418)
  • HelloWork, Bayt and Naukri parsing fixes (#416, #418)
  • Removed the job types nights and summer and ten countries with no Indeed or Glassdoor site (#415)
  • For code that imports internals: JobResponse, desired_order, extract_salary and format_description are removed; scraper classes take no constructor arguments (#415, #416, #418)

Don't miss a new JobSpy release

NewReleases is sending notifications on new releases.