naukri-job-scraper-mcp
🚀 Naukri.com Job Scraper for Apify
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: iCIMS Careers API
📊 Ausgabeschema
Jeder Stelleneintrag enthält die folgenden Felder:
Feld | Typ | Beschreibung | Beispiel |
| string | Eindeutige Job-Kennung |
|
| string | Jobtitel |
|
| string | Firmenname |
|
| string|null | Gehaltsinformationen |
|
| integer|null | Mindest Erfahrung (Jahre) |
|
| integer|null | Maximale Erfahrung (Jahre) |
|
| string|null | Jobstandort |
|
| array|null | Erforderliche Fähigkeiten |
|
| string|null | Stellenbeschreibung |
|
| string|null | Direkter Link zur Stellenausschreibung |
|
| string | Scraping-Zeitstempel (ISO 8601) |
|
🚀 Schnellstart
Ausführen auf der Apify-Plattform
Erstellen Sie einen neuen Actor aus diesem Repository
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 StandortemaxResults: Anzahl der zu scrapenden Jobs (1-500)
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: 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(', ')}`);
});🔧 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 srcTesten 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
nullfür fehlende Felder zurück, anstatt abzustürzenProxy-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
This server cannot be deployed
Maintenance
Related MCP Connectors
Scrape job listings from Greenhouse, Workable, Reed, RemoteOK and other boards. Pay per row.
AI salary, seniority, remote, visa and skills fields for LinkedIn, Indeed or any jobs dataset.
Scrape jobs from Greenhouse, Lever, Ashby, Workable, Recruitee, SmartRecruiters, Personio…
Search job postings across Indeed, LinkedIn, and more from one request - titles, companies
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to search, filter, and extract job listings from LinkedIn using an automated headless browser with semantic AI filtering and deduplication.10 npmMIT
- FlicenseNot gradedqualityBmaintenanceEnables users to retrieve live job postings from any iCIMS career site, providing structured data including title, requisition ID, employer, locations, employment type, dates, salary, and apply links.-
- FlicenseNot gradedqualityBmaintenanceEnables automating job search and applications on Naukri.com, including bulk applying, profile management, application tracking, company research, and recruiter activity monitoring.-
- AlicenseNot gradedqualityBmaintenanceEnables natural-language job search and aggregation from multiple recruitment websites with zero configuration, providing filtered results and standardized output for AI assistants.64 npmISC