mirror of https://github.com/Bunsly/JobSpy
2.3 KiB
2.3 KiB
JobSpy Scraper
Features
- Scrapes job postings from LinkedIn, Indeed, ZipRecruiter
- Returns jobs with title, location, company, and other data
- JWT authorization
Endpoints
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 URLSUPABASE_KEY
: go to project settings -> API -> service_role secretJWT_SECRET_KEY
- typeopenssl rand -hex 32
in terminal to create a 32 byte secret key
Installation
Python >= 3.10 required
- Clone this repository
- Install the dependencies with
pip install -r requirements.txt
- Add
.env
with variables from above - 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