Skip to main content
Glama
roshtarg-cpu

naukri-job-scraper-mcp

by roshtarg-cpu

🚀 Naukri.com Job Scraper for Apify

Apify Actor Python 3.11+ License: MIT

Professioneller Job-Scraper für Naukri.com - Extrahiert umfassende Stellenangebote mit fortschrittlicher Browser-Automatisierung und Residential-Proxys. Perfekt für KI-Agenten, ChatGPT-Plugins, Claude-Integrationen und MCP-gestützte Automatisierungsworkflows! 🤖

🎯 Features

Umfassende Datenextraktion

  • Job-ID, Titel, Firmenname

  • Gehaltsspannen und Vergütung

  • Erfahrungsanforderungen (min./max. Jahre)

  • Standort- und Arbeitsplatzdetails

  • Erforderliche Fähigkeiten und Technologien

  • Vollständige Stellenbeschreibungen

  • Direkte Job-URLs

🔒 Anti-Bot-Schutz

  • Camoufox-Browser-Automatisierung mit realistischem Fingerprinting

  • Residential-Proxy-Unterstützung über Apify

  • Simulation menschlichen Verhaltens

  • GeoIP-Abgleich für Proxy-Authentizität

🛡️ Produktionsreif

  • Robuste Fehlerbehandlung mit Wiederholungen

  • Graceful Degradation (null für fehlende Felder)

  • Echtzeit-Datenübertragung an den Apify-Datensatz

  • Umfassende Protokollierung und Überwachung

🤖 KI-freundlich

  • Entwickelt für Claude-, ChatGPT- und MCP-Agenten

  • Saubere, strukturierte JSON-Ausgabe

  • Zeitstempel-Verfolgung für Datenaktualität

  • Einfache Integration in KI-Workflows

Related MCP server: JobSpy MCP Server

📊 Ausgabeschema

Jeder Stelleneintrag enthält die folgenden Felder:

Feld

Typ

Beschreibung

Beispiel

jobId

string

Eindeutige Job-Kennung

"290524001234"

title

string

Jobtitel

"Senior Software Engineer"

companyName

string

Firmenname

"Tech Corp India"

salary

string|null

Gehaltsinformationen

"15-25 Lacs P.A."

experienceMin

integer|null

Mindest Erfahrung (Jahre)

3

experienceMax

integer|null

Maximale Erfahrung (Jahre)

5

location

string|null

Jobstandort

"Bangalore, Pune"

skills

array|null

Erforderliche Fähigkeiten

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

jobDescription

string|null

Stellenbeschreibung

"We are looking for..."

jobUrl

string|null

Direkter Link zur Stellenausschreibung

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

scrapedAt

string

Scraping-Zeitstempel (ISO 8601)

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

🚀 Schnellstart

Ausführen auf der Apify-Plattform

  1. Erstellen Sie einen neuen Actor aus diesem Repository

  2. Konfigurieren Sie die Eingabeparameter:

    • searchQuery: Jobtitel oder Schlüsselwörter (z. B. „software engineer")

    • location: Stadtname (z. B. „bangalore") oder leer lassen für alle Standorte

    • maxResults: Anzahl der zu scrapenden Jobs (1-500)

  3. Führen Sie den Actor aus und greifen Sie auf die Ergebnisse aus dem Datensatz zu

Eingabebeispiel

{
  "searchQuery": "data scientist",
  "location": "bangalore",
  "maxResults": 100
}

Verwendung von Prefills

Wir bieten praktische Prefills für häufige Suchanfragen:

  • 🔧 Software Engineer - Bangalore

  • 📊 Data Scientist - All India

  • 📱 Product Manager - Mumbai

  • ⚙️ DevOps Engineer - Pune

  • 💻 Full Stack Developer - Hyderabad

🤖 KI-Integrationsbeispiele

Claude Desktop (MCP)

Verwenden Sie diesen Actor direkt über den Apify-MCP-Server in Claude Desktop:

{
  "apify": {
    "actorId": "your-actor-id",
    "input": {
      "searchQuery": "machine learning engineer",
      "location": "bangalore",
      "maxResults": 50
    }
  }
}

ChatGPT Actions

Integrieren Sie ChatGPT über die Apify-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: integer

Python-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(', ')}`);
});

🔧 Lokale Entwicklung

Voraussetzungen

  • Python 3.11+

  • Docker (für containerisierte Tests)

Einrichtung

# 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

Testen mit der Apify-CLI

# Install Apify CLI
npm install -g apify-cli

# Login to Apify
apify login

# Run the actor locally
apify run

📋 Technische Details

Technologie-Stack

  • Sprache: Python 3.11

  • Browser-Automatisierung: Camoufox (Firefox-basierter Stealth-Browser)

  • HTML-Parsing: BeautifulSoup4 + lxml

  • Plattform: Apify-Actor-Framework

  • Proxy: Apify-Residential-Proxys

Architektur

┌─────────────────┐
│  Apify Platform │
└────────┬────────┘
         │
    ┌────▼─────┐
    │   Actor  │
    └────┬─────┘
         │
    ┌────▼────────┐
    │  Camoufox   │ ◄──── Residential Proxy
    │  Browser    │
    └────┬────────┘
         │
    ┌────▼──────────┐
    │  Naukri.com   │
    │  (Next.js SPA)│
    └────┬──────────┘
         │
    ┌────▼─────────┐
    │  BeautifulSoup│
    │  Parser       │
    └────┬─────────┘
         │
    ┌────▼─────────┐
    │ Apify Dataset│
    └──────────────┘

Fehlerbehandlung

  • Wiederholungslogik: 3 Versuche mit exponentiellem Backoff

  • Graceful Failures: Gibt null für fehlende Felder zurück, anstatt abzustürzen

  • Proxy-Fallback: Fährt ohne Proxy fort, wenn der Residential-Proxy fehlschlägt

  • Protokollierung: Umfassende Fehlerprotokollierung für die Fehlersuche

🌟 Anwendungsfälle

  • 🎯 Arbeitsmarktforschung: Gehaltstrends und Qualifikationsanforderungen analysieren

  • 🤖 KI-gestütztes Job-Matching: Daten an LLMs für personalisierte Empfehlungen weitergeben

  • 📈 Rekrutierungsanalysen: Einstellungstrends und Unternehmensaktivitäten verfolgen

  • 🔔 Job-Benachrichtigungen: Automatisierte Benachrichtigungssysteme erstellen

  • 💼 Karriereplanung: Erfahrungsanforderungen in verschiedenen Branchen verstehen

🛠️ Anpassung

Suchparameter ändern

Bearbeiten Sie src/main.py, um benutzerdefinierte Filter hinzuzufügen:

# Add custom filters
experience_filter = actor_input.get('experienceRange', '')
salary_filter = actor_input.get('salaryMin', '')

Datenextraktion erweitern

Bearbeiten Sie src/parser.py, um zusätzliche Felder zu extrahieren:

# Add new field extraction
posted_date = _clean_text(job_card.select_one('.posted-date').get_text())
job_data['postedDate'] = posted_date

📝 Lizenz

MIT-Lizenz - Sie können diesen Actor frei für kommerzielle oder persönliche Projekte verwenden.

🤝 Mitwirken

Beiträge sind willkommen! Reichen Sie gerne einen Pull Request ein.

💬 Support

  • 📧 Issues: Öffnen Sie ein Issue auf GitHub

  • 💡 Feature-Anfragen: Über GitHub-Issues einreichen

  • 📚 Dokumentation: Apify-Dokumentation

🎉 Mit KI erstellt

Dieser Actor wurde mit Unterstützung von Claude AI erstellt und ist für KI-Agenten-Workflows, MCP-Integrationen und ChatGPT-Automatisierung optimiert. Perfekt für die Entwicklung intelligenter Jobsuch-Assistenten! 🚀


Mit ❤️ für die KI-Automatisierungs-Community erstellt

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