AI-powered LinkedIn Easy Apply automation tool with smart filtering, anti-detection, and real-time dashboard
LinkedIn Auto Job Applier AI is a powerful automation tool that helps you search, filter, and apply to LinkedIn Easy Apply jobs automatically using AI.
It mimics real human behavior, avoids bot detection, and intelligently answers job application questions using LLMs like OpenAI and Google Gemini.
- π₯ Fully automated end-to-end pipeline
- π§ AI-powered decision making
- π‘οΈ Built-in anti-detection strategies
- β‘ Scales to hundreds of applications
- π Real-time monitoring dashboard
- Stealth Browsing: Uses
undetected-chromedriverto minimize bot detection - Session Persistence: Reuses Chrome profile to avoid repeated logins & captchas
- Automatic Login: Smart login with manual fallback when needed
- Dynamic Search Execution: Iterates through roles, locations, and keywords
- Platform Filters Applied: Easy Apply, Experience Level, Date Posted, Remote/On-site
- High-Volume Processing: Handles hundreds of listings efficiently
- Keyword Filtering: Skips irrelevant roles automatically
- Company Blacklist: Avoids unwanted companies
- Experience Matching: Filters jobs beyond your experience level
- AI Skill Extraction: Detects required skills from job descriptions
- Multi-Step Form Navigation: Handles Next β Review β Submit flows
- Automatic Resume Upload: Detects and uploads resume
- Company Follow Control: Configurable follow/unfollow
-
Universal Form Handling: Works with all input types
-
Predefined Answers: Uses structured personal configs
-
LLM Integration (OpenAI, Gemini, DeepSeek):
- Generates human-like answers in real-time
- Uses resume + job description for personalization
- CSV Logging: Stores all applications with metadata
- Flask Dashboard: Real-time analytics (applications, success rate, stats)
git clone https://github.com/Ajinkya-Kardile/linkedin-auto-job-applier-ai.git
cd linkedin-auto-job-applier-aipython -m venv .venv
source .venv/bin/activate # Windows: .venv\\Scripts\\activatepip install .Configure files inside config/:
| File | Purpose |
|---|---|
secrets.py |
Credentials & API keys |
personal.py |
Personal details |
search.py |
Job filters & keywords |
questions.py |
Predefined answers |
settings.py |
Bot limits & delays |
secrets.py
xhost +local:python main.pypython web_server.pyOpen: http://127.0.0.1:5000
linkedin-auto-job-applier-ai/
βββ config/ # Configuration settings and Pydantic schemas
βββ setup/ # Environment setup scripts (Windows, Linux, macOS)
βββ src/ # Main source code directory
β βββ ai/ # AI integrations (OpenAI, Gemini, DeepSeek clients & prompts)
β βββ browser/ # Selenium web driver setup, DOM interactors, and LinkedIn scraper
β βββ core/ # Bot engine, easy-apply flow, and dynamic form handlers
β βββ data/ # CSV manager for tracking application history
β βββ utils/ # Helper functions and customized logger
βββ templates/ # HTML templates for the Flask web dashboard
βββ main.py # Main bot execution script
βββ web_server.py # Flask web server for the real-time dashboard
βββ pyproject.toml # Project dependencies and metadata
LinkedIn automation bot, LinkedIn Easy Apply bot, AI job applier, job automation tool, OpenAI job bot, Gemini AI automation, Python job bot, LinkedIn scraper bot, auto apply jobs LinkedIn
This project is intended for educational and research purposes only.
- It is not affiliated with or endorsed by LinkedIn
- Automating interactions may violate LinkedIn's Terms of Service
- The author is not responsible for account restrictions, bans, or any misuse
- Users are solely responsible for how they use this software
Contributions are welcome!
# Fork the repo
# Create your branch
git checkout -b feature/your-feature
# Commit changes
git commit -m "Add feature"
# Push
git push origin feature/your-featureIf this project helps you:
- β Star the repo
- π΄ Fork it
- π’ Share it
Ajinkya Kardile
MIT License
