Jobs scraper library for LinkedIn, Indeed, Glassdoor & ZipRecruiter
Go to file
Cullen 5fff47f3f1
docs: Update README.md
2023-08-19 20:45:53 -05:00
api feat: optional auth 2023-08-19 20:31:10 -05:00
postman chore: update postman 2023-08-19 19:05:02 -05:00
.gitignore feat(auth): add auth to jobs endpoint 2023-07-10 22:23:05 -05:00
README.md docs: Update README.md 2023-08-19 20:45:53 -05:00
main.py chore: clean up 2023-08-19 18:46:03 -05:00
requirements.txt feat(users): add register route 2023-07-10 22:23:16 -05:00
settings.py feat: optional auth 2023-08-19 20:31:10 -05:00

README.md

JobSpy Scraper

Features

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

jobspy

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)

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 having issues with my queries. What should I do?

Broadening your filters can often help. Additionally, try reducing the number of results_wanted.
If issues still persist, feel free to submit an issue.

How to enable auth?

Change AUTH_REQUIRED in /settings.py to True

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

Add these three 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