Skip to main content
Glama
roshtarg-cpu

naukri-job-scraper-mcp

by roshtarg-cpu

🚀 Scraper de empleos de Naukri.com para Apify

Apify Actor Python 3.11+ License: MIT

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 (null para 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

jobId

string

Identificador único del empleo

"290524001234"

title

string

Título del empleo

"Senior Software Engineer"

companyName

string

Nombre de la empresa

"Tech Corp India"

salary

string|null

Información de salario

"15-25 Lacs P.A."

experienceMin

integer|null

Experiencia mínima (años)

3

experienceMax

integer|null

Experiencia máxima (años)

5

location

string|null

Ubicación del empleo

"Bangalore, Pune"

skills

array|null

Habilidades requeridas

["Python", "AWS", "Docker"]

jobDescription

string|null

Descripción del empleo

"We are looking for..."

jobUrl

string|null

Enlace directo a la oferta

"https://www.naukri.com/..."

scrapedAt

string

Marca de tiempo de extracción (ISO 8601)

"2024-08-21T10:30:00.000Z"

🚀 Inicio rápido

Ejecución en la plataforma Apify

  1. Crea un nuevo Actor a partir de este repositorio

  2. 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 ubicaciones

    • maxResults: Número de empleos a extraer (1-500)

  3. 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: integer

Integració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 src

Pruebas 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 null para campos faltantes en lugar de detenerse

  • Reemplazo 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

F
license - not found
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables 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.
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables job search and scraping across multiple job boards (LinkedIn, Indeed, Glassdoor, etc.) with advanced filtering, directly from Claude Desktop or other MCP clients.
    5
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI assistants to search, filter, and extract job listings from LinkedIn using an automated headless browser with semantic AI filtering and deduplication.
    15
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI agents to search and analyze LinkedIn jobs with advanced filters, salary requirements, and market insights through natural language.
    21
    MIT

View all related MCP servers

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…

View all MCP Connectors

Latest Blog Posts

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