Automation that applies to jobs on Naukri.com automatically for faster job hunting. Uses Selenium for browser automation and BeautifulSoup for parsing job listings.
- ✅ Automatically logs in to Naukri.com
- ✅ Multi-tab parallel search — Opens each keyword category in its own browser tab simultaneously
- ✅ Searches for jobs by keywords and location (updated for 2026 Naukri redesign)
- ✅ Visits job listings and clicks "Apply" / "Apply on company site"
- ✅ Handles custom first/last name fields and "Submit and Apply" flow
- ✅ Detects daily application quota limits
- ✅ Saves results (passed/failed) to a CSV file
- ✅ Uses Microsoft Edge browser
- ✅ Uses
webdriver-managerfor automatic driver download (no manual setup!)
Instead of processing each keyword one-by-one (slow), the bot opens every keyword search page in its own browser tab simultaneously:
Keyword: "python developer" → Tab 1 (Page 1) + Tab 2 (Page 2)
Keyword: "data analyst" → Tab 3 (Page 1) + Tab 4 (Page 2)
Keyword: "software engineer" → Tab 5 (Page 1) + Tab 6 (Page 2)
...all open at the same time!
Benefits:
- ⚡ Much faster — all keyword searches load in parallel instead of waiting sequentially
- 📊 More jobs found — each keyword gets equal attention
- 🔄 Smart deduplication — duplicate job links across keywords are automatically removed before applying
- Python 3.7+ installed on your system
- Microsoft Edge browser installed
- A valid Naukri.com account
git clone https://github.com/lordzohar/Naukri-autoapply-bot.git
cd Naukri-autoapply-botIt's recommended to use a virtual environment:
# Create a virtual environment (optional but recommended)
python -m venv venv
# Activate it:
# On Windows:
venv\Scripts\activate
# On macOS/Linux:
source venv/bin/activate
# Install required packages
pip install -r requirements.txt# Copy the example environment file
copy .env.example .envThen edit .env (
# Your Naukri.com login credentials
NAUKRI_EMAIL=your_email@example.com
NAUKRI_PASSWORD=your_password
# Your personal details
FIRSTNAME=YourFirstName
LASTNAME=YourLastName
# Job search keywords (comma-separated)
KEYWORDS=python developer, data analyst, software engineer
# Location (leave empty for all locations, or specify a city like "bangalore", "mumbai", "remote")
LOCATION=bangalore
# Number of search result pages to scrape per keyword (default: 2)
PAGES_PER_KEYWORD=2
# Maximum applications per run (Naukri allows ~100/day)
MAX_APPLICATIONS=50python Naukri-Edge.pyNote: The script uses
webdriver-managerto automatically download the correct EdgeDriver. No manual driver setup needed!
After running, results are saved to naukriapplied.csv with two columns:
passed— URLs of jobs successfully applied tofailed— URLs where the apply attempt failed
The bot has been updated to work with Naukri.com's 2026 redesign. Key changes:
| Old (original script) | New (updated) |
|---|---|
Job cards: article.jobTuple.bgWhite.br4.mb-8 |
Job cards: div.srp-jobtuple-wrapper > div.cust-job-tuple |
Title links: a.title.fw500.ellipsis |
Title links: a.title (inside h2) |
Search URL: /{keyword}-{page} |
Search URL: /{keyword}-jobs or /{keyword}-jobs-in-{location} |
Apply button: //*[text()='Apply'] |
Apply button: //button[contains(text(),'Apply on company site')] |
Page structure: article tags |
Page structure: React/Next.js app using div with hashed CSS classes |
Naukri-autoapply-bot/
├── .env.example # Example environment configuration (copy to .env)
├── .gitignore # Files to exclude from git
├── requirements.txt # Python dependencies
├── README.md # This file
├── Naukri-Edge.py # Main bot script for Microsoft Edge browser
├── Naukri autoapply jobs.ipynb # Jupyter Notebook version (legacy)
└── naukriapplied.csv # Output: applied/failed job links (auto-generated)
| Issue | Solution |
|---|---|
ModuleNotFoundError |
Run pip install -r requirements.txt |
| Browser driver not found | webdriver-manager handles this automatically. Ensure you're connected to the internet on first run. |
| Login failed | Double-check your NAUKRI_EMAIL and NAUKRI_PASSWORD in .env |
| No jobs found | Try broader keywords or remove the location filter |
| "Daily quota expired" | Naukri limits daily applications. Try again the next day. |
| Script too fast/slow | Adjust the time.sleep() values in the script if needed |
| "Apply on company site" opens external site | This is expected — many Naukri jobs now redirect to company career pages |
- Use this bot responsibly and in accordance with Naukri.com's Terms of Service
- The bot mimics human behavior but excessive automation may lead to account restrictions
- This project is for educational purposes