Skip to content

A Python tool that automates LinkedIn job search, ranking, and export by combining Bright Data's LinkedIn Job Listings API with OpenAI-powered AI job matching and scoring.

Notifications You must be signed in to change notification settings

brightdata/linkedin-job-hunting-assistant

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Bright Data Logo

LinkedIn Job Hunting AI Assistant 🤖💼

Automate LinkedIn job search and ranking using Bright Data Scraper API and OpenAI scoring! Effortlessly find, score, and review the best job matches for your profile.


Features 🚀

  • Automated LinkedIn Job Scraping: Uses Bright Data's LinkedIn Job Listings API to collect relevant job postings.
  • AI-Powered Job Scoring: Ranks job matches using OpenAI—each job is scored from 0 to 100 based on your unique profile & preferences.
  • Batch Processing: Efficiently handles large job datasets by batching API requests and scoring jobs in manageable chunks.
  • Customizable Search Criteria: Tune job search parameters and exclusion lists in an easy-to-edit JSON config.
  • Human-Readable CSV Output: Get all results with AI scores and comments exported for easy review and sharing.
  • Quick Insights: See the top job matches at a glance with brief, AI-generated comments.

Prerequisites 🛠️


Installation ⚙️

  1. Clone this repository:
git clone https://github.com/brightdata/linkedin-job-hunting-assistant
cd linkedin-job-hunting-assistant
  1. Install dependencies:
pip install -r requirements.txt
  1. Create a .env file in the project root with your API keys:
OPENAI_API_KEY=your_openai_api_key
BRIGHT_DATA_API_KEY=your_bright_data_api_key

Configuration 📝

Create a config.json in the root directory with fields matching your preferences.

For example:

{
  "location": "New York, NY",
  "keyword": "Data Scientist",
  "country": "US",
  "time_range": "past week",
  "experience_level": "senior",
  "remote": "yes",
  "jobs_to_not_include": ["intern", "entry level", "recruiter"],
  "profile_summary": "Senior Data Scientist with strong background in machine learning, seeking impactful projects.",
  "desired_job_summary": "A leadership or senior IC role in data science working on production models."
}

Adjust or add other fields (e.g. company, location_radius, job_type) as needed.

Discover the supported configuration fields in the LinkedIn Job Listings API docs. Then, remember to add these fields:

  • profile_summary: Describe your professional history, skills, goals, etc. in a few words.
  • desired_job_summary: Describe what you are looking for in a few words.

The above two fields help the OpenAI scoring process assign the right score to selected job listings.


Usage ▶️

Run the job assistant from your terminal:

python assistant.py --config_file config.json --jobs_number 25 --batch_size 5 --output_csv jobs_scored.csv

Arguments:

  • --config_file: Path to your configuration JSON (default: config.json)
  • --jobs_number: Number of jobs to fetch (default: 20)
  • --batch_size: Number of jobs to score at once (default: 5)
  • --output_csv: Output filename for results (default: jobs_scored.csv)

Output 📤

All job records, ranked by AI-match score and annotated with comments, are exported to your chosen CSV file (e.g. jobs_scored.csv).

Final output


Advanced Configuration 🧑‍💻

  • Prompt engineering: Fine-tune how OpenAI is prompted for scoring in the score_jobs_batch() function.

Troubleshooting & Tips 💡

  • Make sure your API keys are correct and set in .env.
  • Ensure your prerences are set in config.json.
  • The Bright Data LinkedIn dataset ID and discover mode are configured in the code. Change the API integration code only if you know what you're doing!
  • Respect API rate limits.
  • If you hit validation errors, check your config file matches the required fields from the Pydantic schema.

Happy job hunting! 🚀

About

A Python tool that automates LinkedIn job search, ranking, and export by combining Bright Data's LinkedIn Job Listings API with OpenAI-powered AI job matching and scoring.

Topics

Resources

Stars

Watchers

Forks

Languages