naukri-job-scraper-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@naukri-job-scraper-mcpFind me 10 data engineer jobs in Mumbai"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
π Naukri.com Job Scraper for Apify
Professional job scraper for Naukri.com - Extract comprehensive job listings with advanced browser automation and residential proxies. Perfect for AI agents, ChatGPT plugins, Claude integrations, and MCP-powered automation workflows! π€
π― Features
β¨ Comprehensive Data Extraction
Job ID, title, company name
Salary ranges and compensation
Experience requirements (min/max years)
Location and workplace details
Skills and technologies required
Full job descriptions
Direct job URLs
π Anti-Bot Protection
Camoufox browser automation with realistic fingerprinting
Residential proxy support via Apify
Human-like behavior simulation
GeoIP matching for proxy authenticity
π‘οΈ Production-Ready
Robust error handling with retries
Graceful degradation (null for missing fields)
Real-time data pushing to Apify dataset
Comprehensive logging and monitoring
π€ AI-Friendly
Built for Claude, ChatGPT, and MCP agents
Clean, structured JSON output
Timestamp tracking for data freshness
Easy integration with AI workflows
Related MCP server: JobSpy MCP Server
π Output Schema
Each job listing includes the following fields:
Field | Type | Description | Example |
| string | Unique job identifier |
|
| string | Job title |
|
| string | Company name |
|
| string|null | Salary information |
|
| integer|null | Minimum experience (years) |
|
| integer|null | Maximum experience (years) |
|
| string|null | Job location |
|
| array|null | Required skills |
|
| string|null | Job description |
|
| string|null | Direct link to job posting |
|
| string | Scraping timestamp (ISO 8601) |
|
π Quick Start
Running on Apify Platform
Create a new Actor from this repository
Configure input parameters:
searchQuery: Job title or keywords (e.g., "software engineer")location: City name (e.g., "bangalore") or leave empty for all locationsmaxResults: Number of jobs to scrape (1-500)
Run the Actor and access results from the dataset
Input Example
{
"searchQuery": "data scientist",
"location": "bangalore",
"maxResults": 100
}Using Prefills
We provide convenient prefills for common searches:
π§ Software Engineer - Bangalore
π Data Scientist - All India
π± Product Manager - Mumbai
βοΈ DevOps Engineer - Pune
π» Full Stack Developer - Hyderabad
π€ AI Integration Examples
Claude Desktop (MCP)
Use this actor directly from Claude Desktop via the Apify MCP server:
{
"apify": {
"actorId": "your-actor-id",
"input": {
"searchQuery": "machine learning engineer",
"location": "bangalore",
"maxResults": 50
}
}
}ChatGPT Actions
Integrate with ChatGPT using Apify's API:
openapi: 3.0.0
paths:
/v2/acts/{actorId}/runs:
post:
summary: Scrape Naukri.com jobs
parameters:
- name: actorId
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
properties:
searchQuery:
type: string
location:
type: string
maxResults:
type: integerPython Integration
from apify_client import ApifyClient
client = ApifyClient('your-apify-token')
# Start the actor
run = client.actor('your-actor-id').call(run_input={
'searchQuery': 'python developer',
'location': 'mumbai',
'maxResults': 100
})
# Fetch results
dataset_items = client.dataset(run['defaultDatasetId']).list_items().items
for job in dataset_items:
print(f"{job['title']} at {job['companyName']}")
print(f"Location: {job['location']}")
print(f"Salary: {job['salary']}")
print(f"Skills: {', '.join(job['skills'] or [])}")
print(f"URL: {job['jobUrl']}\n")Node.js Integration
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'your-apify-token' });
// Start the actor
const run = await client.actor('your-actor-id').call({
searchQuery: 'react developer',
location: 'bangalore',
maxResults: 50
});
// Fetch results
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach(job => {
console.log(`${job.title} at ${job.companyName}`);
console.log(`Location: ${job.location}`);
console.log(`Skills: ${job.skills?.join(', ')}`);
});π§ Local Development
Prerequisites
Python 3.11+
Docker (for containerized testing)
Setup
# Clone the repository
git clone <your-repo-url>
cd naukri-job-scraper-mcp
# Install dependencies
pip install -r requirements.txt
# Set environment variables
export APIFY_TOKEN=your_apify_token
# Run locally
python -m srcTesting with Apify CLI
# Install Apify CLI
npm install -g apify-cli
# Login to Apify
apify login
# Run the actor locally
apify runπ Technical Details
Technology Stack
Language: Python 3.11
Browser Automation: Camoufox (Firefox-based stealth browser)
HTML Parsing: BeautifulSoup4 + lxml
Platform: Apify Actor Framework
Proxy: Apify Residential Proxies
Architecture
βββββββββββββββββββ
β Apify Platform β
ββββββββββ¬βββββββββ
β
ββββββΌββββββ
β Actor β
ββββββ¬ββββββ
β
ββββββΌβββββββββ
β Camoufox β βββββ Residential Proxy
β Browser β
ββββββ¬βββββββββ
β
ββββββΌβββββββββββ
β Naukri.com β
β (Next.js SPA)β
ββββββ¬βββββββββββ
β
ββββββΌββββββββββ
β BeautifulSoupβ
β Parser β
ββββββ¬ββββββββββ
β
ββββββΌββββββββββ
β Apify Datasetβ
ββββββββββββββββError Handling
Retry Logic: 3 attempts with exponential backoff
Graceful Failures: Returns
nullfor missing fields instead of crashingProxy Fallback: Continues without proxy if residential proxy fails
Logging: Comprehensive error logging for debugging
π Use Cases
π― Job Market Research: Analyze salary trends and skill demands
π€ AI-Powered Job Matching: Feed data to LLMs for personalized recommendations
π Recruitment Analytics: Track hiring trends and company activity
π Job Alerts: Build automated notification systems
πΌ Career Planning: Understand experience requirements across industries
π οΈ Customization
Modify Search Parameters
Edit src/main.py to add custom filters:
# Add custom filters
experience_filter = actor_input.get('experienceRange', '')
salary_filter = actor_input.get('salaryMin', '')Extend Data Extraction
Edit src/parser.py to extract additional fields:
# Add new field extraction
posted_date = _clean_text(job_card.select_one('.posted-date').get_text())
job_data['postedDate'] = posted_dateπ License
MIT License - feel free to use this actor for commercial or personal projects.
π€ Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
π¬ Support
π§ Issues: Open an issue on GitHub
π‘ Feature Requests: Submit via GitHub Issues
π Documentation: Apify Documentation
π Built With AI
This actor was built with assistance from Claude AI and is optimized for AI agent workflows, MCP integrations, and ChatGPT automation. Perfect for building intelligent job search assistants! π
Made with β€οΈ for the AI automation community
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to search and retrieve real-time job listings from the Technopark job portal using Puppeteer web scraping. Users can search by role or keyword to obtain job details including company name, closing date, and posted date.
- AlicenseNot gradedqualityAmaintenanceEnables job search and scraping across multiple job boards (LinkedIn, Indeed, Glassdoor, etc.) with advanced filtering, directly from Claude Desktop or other MCP clients.5MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI assistants to search, filter, and extract job listings from LinkedIn using an automated headless browser with semantic AI filtering and deduplication.15MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to search and analyze LinkedIn jobs with advanced filters, salary requirements, and market insights through natural language.21MIT
Related MCP Connectors
AI-powered browser automation β navigate, click, fill forms, and extract data from any website.
Search AI-native jobs, inspect application forms, and fetch free interview-prep resources.
Enable language models to perform advanced AI-powered web scraping with enterprise-grade reliabiliβ¦
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/roshtarg-cpu/naukri-job-scraper-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server