naukri-job-scraper-mcp
🚀 Scraper de empleos de Naukri.com para Apify
Scraper de empleos profesional para Naukri.com - Extrae listados de empleo completos con automatización avanzada del navegador y proxies residenciales. Perfecto para agentes de IA, plugins de ChatGPT, integraciones con Claude y flujos de automatización impulsados por MCP. 🤖
🎯 Características
✨ Extracción completa de datos
Job ID, título del empleo, nombre de la empresa
Rangos salariales y compensación
Requisitos de experiencia (años mínimos y máximos)
Ubicación y detalles del lugar de trabajo
Habilidades y tecnologías requeridas
Descripciones completas del empleo
URLs directas de los empleos
🔒 Protección Anti-Bot
Automatización del navegador Camoufox con fingerprinting realista
Soporte de proxies residenciales a través de Apify
Simulación de comportamiento humano
Coincidencia GeoIP para la autenticidad del proxy
🛡️ Listo para producción
Manejo robusto de errores con reintentos
Fallos controlados (
nullpara campos faltantes)Envío de datos en tiempo real al dataset de Apify
Registro y monitoreo completos
🤖 Amigable con la IA
Diseñado para agentes de IA de Claude, ChatGPT y MCP
Salida JSON limpia y estructurada
Marca de tiempo para la frescura de los datos
Integración sencilla con flujos de trabajo de IA
Related MCP server: JobSpy MCP Server
📊 Esquema de salida
Cada listado de empleo incluye los siguientes campos:
Almacenar | Tipo | Descripción | Ejemplo |
| string | Identificador único del empleo |
|
| string | Título del empleo |
|
| string | Nombre de la empresa |
|
| string|null | Información de salario |
|
| integer|null | Experiencia mínima (años) |
|
| integer|null | Experiencia máxima (años) |
|
| string|null | Ubicación del empleo |
|
| array|null | Habilidades requeridas |
|
| string|null | Descripción del empleo |
|
| string|null | Enlace directo a la oferta |
|
| string | Marca de tiempo de extracción (ISO 8601) |
|
🚀 Inicio rápido
Ejecución en la plataforma Apify
Crea un nuevo Actor a partir de este repositorio
Configura los parámetros de entrada:
searchQuery: Título del empleo o palabras clave (p. ej., "software engineer")location: Nombre de la ciudad (p. ej., "bangalore") o déjalo vacío para todas las ubicacionesmaxResults: Número de empleos a extraer (1-500)
Ejecuta el Actor y accede a los resultados desde el dataset
Ejemplo de entrada
{
"searchQuery": "data scientist",
"location": "bangalore",
"maxResults": 100
}Uso de prefills
Proporcionamos prefills convenientes para búsquedas comunes:
🔧 Software Engineer - Bangalore
📊 Data Scientist - All India
📱 Product Manager - Mumbai
⚙️ DevOps Engineer - Pune
💻 Full Stack Developer - Hyderabad
🤖 Ejemplos de integración con IA
Claude Desktop (MCP)
Usa este actor directamente desde Claude Desktop mediante el servidor MCP de Apify:
{
"apify": {
"actorId": "your-actor-id",
"input": {
"searchQuery": "machine learning engineer",
"location": "bangalore",
"maxResults": 50
}
}
}ChatGPT Actions
Incluye este actor en tus flujos de trabajo de IA con ChatGPT:
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: integerIntegración con Python
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")Integración con Node.js
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(', ')}`);
});🔧 Desarrollo local
Requisitos previos
Python 3.11+
Docker (para pruebas en contenedores)
Configuración
# 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 srcPruebas con la CLI de Apify
# Install Apify CLI
npm install -g apify-cli
# Login to Apify
apify login
# Run the actor locally
apify run📋 Detalles técnicos
Stack tecnológico
Lenguaje: Python 3.11
Automatización del navegador: Camoufox (navegador de incógnito basado en Firefox)
Análisis de HTML: BeautifulSoup4 + lxml
Plataforma: Apify Actor Framework
Proxy: Apify Residential Proxies
Arquitectura
┌─────────────────┐
│ Apify Platform │
└────────┬────────┘
│
┌────▼─────┐
│ Actor │
└────┬─────┘
│
┌────▼────────┐
│ Camoufox │ ◄──── Residential Proxy
│ Browser │
└────┬────────┘
│
┌────▼──────────┐
│ Naukri.com │
│ (Next.js SPA)│
└────┬──────────┘
│
┌────▼─────────┐
│ BeautifulSoup│
│ Parser │
└────┬─────────┘
│
┌────▼─────────┐
│ Apify Dataset│
└──────────────┘Manejo de errores
Lógica de reintentos: 3 intentos con retroceso exponencial
Fallos controlados: Devuelve
nullpara campos faltantes en lugar de detenerseReemplazo de proxy: Continúa sin proxy si falla el proxy residencial
Registro: Registro de errores completo para depuración
🌟 Casos de uso
🎯 Investigación del mercado laboral: Analiza tendencias salariales y demandas de habilidades
🤖 Matching de empleos con IA: Alimenta los datos a los LLMs para recomendaciones personalizadas
📈 Analítica de reclutamiento: Haz seguimiento a las tendencias de contratación y la actividad de las empresas
🔔 Alertas de empleo: Crea sistemas de notificación automatizados
💼 Planificación profesional: Comprende los requisitos de experiencia en todas las industrias
🛠️ Personalización
Modificar los parámetros de búsqueda
Edita src/main.py para añadir filtros personalizados:
# Add custom filters
experience_filter = actor_input.get('experienceRange', '')
salary_filter = actor_input.get('salaryMin', '')Ampliar la extracción de datos
Edita src/parser.py para extraer campos adicionales:
# Add new field extraction
posted_date = _clean_text(job_card.select_one('.posted-date').get_text())
job_data['postedDate'] = posted_date📝 Licencia
Licencia MIT: siéntete libre de usar este Actor para proyectos comerciales o personales.
🤝 Contribuciones
¡Las contribuciones son bienvenidas! Siéntete libre de enviar un Pull Request.
💬 Soporte
📧 Incidencias: Abre un issue en GitHub
💡 Solicitudes de características: Envíalas a través de GitHub Issues
📚 Documentación: 📚 Documentación de Apify
🎉 Construido con IA
Este Actor fue construido con la ayuda de Claude y está optimizado para flujos de trabajo con agentes de IA, integraciones de MCP y automatización de ChatGPT. ¡Perfecto para construir asistentes inteligentes de búsqueda de empleo! 🚀
Hecho con ❤️ para la comunidad de automatización con IA
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