JobSpy/README.md

2.3 KiB

JobSpy Scraper

Features

  • Scrapes job postings from LinkedIn, Indeed, ZipRecruiter
  • Returns jobs with title, location, company, and other data
  • JWT authorization

jobspy_backend_demo

Endpoints

image

Jobs Endpoint

Endpoint: /api/v1/jobs/

Parameters:

  • site_type: str (Required) - Options: linkedin, zip_recruiter, indeed
  • search_term: str (Required)
  • location: int
  • distance: int
  • job_type: str - Options: fulltime, parttime, internship, contract
  • is_remote: bool
  • results_wanted: int
  • easy_apply: bool (Only for LinkedIn)

.env for auth

The auth uses supabase. Create a project with a users table and disable RLS.

Add these two environment variables:

  • SUPABASE_URL: go to project settings -> API -> Project URL
  • SUPABASE_KEY: go to project settings -> API -> service_role secret
  • JWT_SECRET_KEY - type openssl rand -hex 32 in terminal to create a 32 byte secret key

Installation

Python >= 3.10 required

  1. Clone this repository
  2. Install the dependencies with pip install -r requirements.txt
  3. Add .env with variables from above
  4. Run the server with uvicorn main:app --reload

Usage

Visit http://localhost:8000/docs to see the interactive API documentation.

FAQ

I'm getting a 404 error when querying LinkedIn. What can I do?

LinkedIn's API is generally more strict. If you encounter a 404 error, try reducing the results_wanted parameter. There may not be enough results.

I'm having issues with my queries. What should I do?

Broadening your filters can often help. For instance, if you're using very specific criteria, try making them more general to retrieve results more reliably. If it still persists, submit an issue.

How to remove auth (no .env)?

Remove this part from api/v1/__init__.py

image