Naukri Job Scraper ⚡ from $0.50/1K — Salary, Skills & Full JD avatar

Naukri Job Scraper ⚡ from $0.50/1K — Salary, Skills & Full JD

Pricing

from $0.50 / 1,000 job listings

Go to Apify Store
Naukri Job Scraper ⚡ from $0.50/1K — Salary, Skills & Full JD

Naukri Job Scraper ⚡ from $0.50/1K — Salary, Skills & Full JD

Naukri Job Scraper extracts structured job listing data from Naukri.com — job title, company, experience, salary, location, full details. Fast, reliable, and built for scale. Ideal for recruiters, market researchers, and businesses tracking hiring trends.

Pricing

from $0.50 / 1,000 job listings

Rating

5.0

(1)

Developer

Corvuslab

Corvuslab

Maintained by Community

Actor stats

0

Bookmarked

5

Total users

2

Monthly active users

4 days ago

Last modified

Share

What does Naukri Jobs Scraper do?

Scrape job listings from naukri.com — India's largest job board — into clean, structured data: salaries, skills, experience, company profiles, full descriptions, recruiter contacts, and walk-in interview details. Search by keyword, filter precisely, get real-time alerts, and monitor listings cheaply with incremental mode.

📚 What data can you extract from Naukri?

Every record carries 44 fields, grouped like this:

GroupWhat you get
Core listingjobId, title, location, minimumExperience, maximumExperience, skills, portalUrl, industry, roleCategory, employmentType, viewCount, applyCount …and more
CompanycompanyName, companyId, companyDescription, companyWebsite, ambitionBox ratings & review counts
Pay & budgetsalary, salaryMin, salaryMax, salaryCurrency
Contacts & demand signalsemails, phones, plus viewCount / applyCount applicant demand
Walk-in interviewsstructured walkInDetail — venue, dates, daily timing, weekend flags, maps link, HR contact name & phone
DescriptionshortDescription, description, descriptionHtml, descriptionMarkdown
Dates & change trackingcreatedDate, changeType, isRepost, repostOfId

Every field is nullable — missing values come back as null. Compact mode returns the core fields only for lean AI/MCP payloads, and excludeEmptyFields drops empties entirely.

✨ Key features

  • 🔎 Flexible search — by keyword, multiple queries, specific job IDs, or pasted Naukri URLs (single job, search results, or SEO listing pages).

  • 🎚️ Rich, verified filters — location, experience, salary, skills, work mode (remote/hybrid/office), freshness, city, company, company type, and a recruiter-spam filter (postedBy: Company for direct employers only).

  • 📄 Deep enrichment (fetchDetails) — full descriptions in text / HTML / Markdown, education, role & employment type, company profile, and AmbitionBox ratings & reviews.

  • 🏢 Walk-in interview details — structured venue, dates, daily timing, Saturday/Sunday flags, Google Maps link, and HR contact name & phone.

  • 📇 Recruiter contact extraction — best-effort emails & phone numbers pulled from descriptions and walk-in details.

  • 🔁 Incremental monitoring — later runs emit only new / updated / expired jobs, with repost detection — cutting the cost of daily monitoring to pennies.

  • 🔔 Real-time alerts — push new jobs to Telegram, Slack, Discord, WhatsApp, or any webhook (n8n / Make / Zapier).

  • 🤖 AI-friendly — compact mode returns just the core fields for LLM / MCP pipelines.

  • ✅ Reliable & stable — engineered for consistent, complete results, run after run.

  • 🔄 Always fresh — data is pulled straight from Naukri at run time, never a stale cache.

  • 📦 Complete & honest — every field Naukri actually exposes, with filters verified to genuinely filter (not silently ignored). No made-up fields.

  • ⚙️ Production-ready — graceful failure handling, retries, budget-aware, and ready for scheduled runs and data pipelines.

Quick start

Provide at least one search method. Minimal input:

{
"keyword": "data analyst",
"location": "bangalore",
"maxResults": 25
}

Full enrichment + daily monitoring with Telegram alerts:

{
"searchQueries": ["python developer", "data engineer"],
"location": "remote",
"salary": "10to15",
"fetchDetails": true,
"incremental": true,
"notifyOnlyChanges": true,
"telegramToken": "<bot-token>",
"telegramChatId": "<chat-id>",
"maxResults": 100
}

Notes & tips

  • Proxy is optional. Most runs work without one. For scheduled or large-scale jobs, enabling Apify Proxy with country India gives the most consistent results.
  • fetchDetails retrieves each job's full details, so detailed runs take longer and cost a bit more — use it when you need descriptions/enrichment, and lean on incremental mode for routine monitoring.
  • This is an unofficial scraper for publicly available listings and is not affiliated with Naukri / Info Edge.

🚀 How to scrape Naukri

  1. Enter a keyword (and optionally a location) in the input form.
  2. Optionally turn on fetchDetails for full descriptions & enrichment, and incremental for monitoring.
  3. Click Start — then export results as JSON, CSV, or Excel, or pull them via the API.

Works out of the box — no proxy setup required for most runs.

⚙️ Input

  • keyword — your main search term (job title, skill, or company). Alias: query.
  • searchQueries — run several keyword searches in one go; each is capped by maxResults.
  • location — restrict results to a city or region (e.g. bangalore, remote).
  • experience — filter by years of experience (e.g. 3, 0-2, or a label like senior).
  • salary — filter by salary band.
  • skills — require specific skills (e.g. python, sql) in the results.
  • workMode — filter by office, remote, or hybrid roles.
  • freshness — only jobs posted within the last N days.
  • postedBy — set to Company to return direct-employer jobs only and skip recruitment consultants.
  • jobIds / startUrls — scrape exact jobs by ID, or paste Naukri job / search / listing URLs directly.
  • fetchDetails — enrich each job with full descriptions plus company, walk-in, and recruiter-contact data.
  • descriptionFormat — choose the description formats you want: text, HTML, and/or Markdown.
  • compact — return only the core fields (ideal for AI / LLM pipelines).
  • excludeEmptyFields — drop empty fields from each record for cleaner output.
  • incremental — on recurring runs, emit only new, updated, or expired jobs.
  • skipReposts — filter out reposted duplicate listings.
  • emitExpired — include jobs that have disappeared since your last run.
  • maxResults — cap the number of results (0 = unlimited).
  • telegram* / slack* / discord* / whatsapp* / webhookUrl — push new jobs to your channels in real time.

See the input form for the full list and defaults.

📤 Output

{
"jobId": "230326015841",
"title": "Data Scientist",
"companyName": "Movate Technologies",
"location": "Hybrid - Bengaluru",
"experienceText": "5-8 Yrs",
"salary": "Not disclosed",
"skills": ["Machine Learning", "Python", "NLP"],
"shortDescription": "We are looking for an experienced Data Scientist...",
"createdDate": "2026-07-02T08:35:02+00:00",
"portalUrl": "https://www.naukri.com/job-listings-data-scientist-movate-230326015841",
"viewCount": 3692,
"applyCount": 504,
"industry": "IT Services & Consulting",
"roleCategory": "Data Science & Machine Learning",
"ambitionBox": { "rating": "3.1", "reviewsCount": 2706 },
"emails": ["careers@movate.com"],
"walkInDetail": {
"startDate": "2026-07-09", "endDate": "2026-07-10",
"dailyTiming": "10.00 AM - 4.00 PM", "venueAddress": "Hi-Tech City, Hyderabad",
"contactName": "Vishal Reddy", "contactPhone": "7780165167"
},
"changeType": "NEW"
}

With fetchDetails: true you additionally get description, descriptionHtml, descriptionMarkdown, educationUG/educationPG, employmentType, companyDescription, vacancy, consultant, and more. Use compact: true for just the core fields.

Output fields

Always present (listing): jobId, title, companyName, companyId, location, experienceText, minimumExperience, maximumExperience, salary, salaryMin, salaryMax, salaryCurrency, skills, shortDescription, createdDate, portalUrl, logoPath, walkinJob, ambitionBox, emails, phones, scrapedAt, searchKeyword.

Added with fetchDetails: description, descriptionHtml, descriptionMarkdown, industry, roleCategory, functionalArea, jobRole, employmentType, educationUG, educationPG, vacancy, viewCount, applyCount, consultant, companyDescription, and structured walkInDetail.

Incremental mode: changeType (NEW / UPDATED / UNCHANGED / REAPPEARED / EXPIRED), isRepost, repostOfId, repostDetectedAt.

♻️ How to monitor Naukri with incremental mode

Run the same search on a schedule with incremental: true. After the first baseline run, each subsequent run emits only new, updated, or expired jobs — not the whole result set. For a stable daily monitor, that means you pay for a handful of changed records instead of re-scraping hundreds every day. Add notifyOnlyChanges: true to get alerts only when something actually changes.

🔔 How to set up Naukri alerts

Get pinged the moment a matching record appears. Fill in only the channels you want:

ChannelWhat to configure
✈️ TelegramtelegramToken (from @BotFather) + telegramChatId
💬 SlackslackWebhookUrl (Incoming Webhook URL)
🎮 DiscorddiscordWebhookUrl (channel webhook URL)
🪝 WebhookwebhookUrl receives structured JSON — ideal for n8n / Make / Zapier

Credentials are secret inputs — encrypted at rest, masked in the UI and never written to the run log. Every channel fires independently, so a broken channel can't stop the scrape or the others. Pair incremental mode with notify only about changes to hear only about genuinely new records, with no duplicates across runs.

💡 What can you do with Naukri data?

  • 🧑‍💼 Recruiters — track fresh postings for target roles/locations daily and get a Slack/Telegram ping when new ones appear.
  • 🏭 Walk-in drives — collect walk-in venues, dates, and HR contact name & phone for high-volume hiring.
  • 📊 Salary & skills research — aggregate compensation and in-demand skills across regions and roles over time.
  • 📇 Recruiter lead generation — extract recruiter emails & phone numbers from postings and walk-in details.
  • 🏢 Competitive hiring intel — follow a specific company's openings via companyId / companyGroupIds.
  • 🔗 ATS / CRM pipelines — feed apply URLs and structured job data straight into your systems via the API.
  • 🤖 AI & LLM agents — pipe compact structured jobs into agents and RAG pipelines.

💰 How much does it cost to scrape Naukri?

Pay-per-event: a small fee when a run starts, plus a per-result fee — listings are cheap, and results fetched with fetchDetails cost a bit more (they do more work). Incremental mode keeps recurring costs low by emitting only what changed. Exact prices are on the actor's pricing tab, and you stay in control with Apify's per-run spend limits.

🔌 Integrations & export

Export to JSON, CSV, Excel or an HTML table, or pull from the REST API and the JavaScript / Python clients. Runs on a schedule, connects to Google Sheets, Slack, Make, Zapier and n8n, and works as an MCP tool for AI agents — compact mode keeps token usage small.

🔗 Using the API

Run this Actor from your own code. Example with the Apify Python client:

from apify_client import ApifyClient
client = ApifyClient("<YOUR_API_TOKEN>")
run = client.actor("corvuslab/naukri-jobs-scraper").call(run_input={
"keyword": "example",
"maxResults": 50,
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)

It also works with the JavaScript/TypeScript client, the Apify CLI and the REST API.

❓ FAQ

Is scraping Naukri legal? This actor collects publicly available job listings. Scraping public data is generally considered acceptable, but you're responsible for how you use the data (e.g. comply with privacy rules when handling recruiter contact info). This isn't legal advice.

Will it keep working reliably? Yes. It's engineered for stable, consistent results and is actively maintained, so it keeps returning complete, structured Naukri data run after run.

How do I get only new jobs? Turn on incremental mode — later runs emit only changed records, with repost detection. Pair with a schedule for hands-off monitoring.

Can I get real-time alerts? Yes — Telegram, Slack, Discord, WhatsApp, or any webhook (n8n / Make / Zapier). Configure the matching fields in the input.

How do I get full descriptions and recruiter contacts? Enable fetchDetails. It adds full descriptions (text/HTML/Markdown), company profile, education, walk-in HR contacts, and extracted emails/phones.

How many results can I get? As many as the search returns — set maxResults (0 = unlimited). Very large runs take longer, especially with fetchDetails.

Can I use it with AI assistants / my own code? Yes — export JSON/CSV/Excel or call the Apify API from any language. compact mode trims records to core fields for token-efficient LLM use.


Keywords: naukri scraper · naukri.com scraper · naukri job scraper · naukri jobs api · india jobs scraper · indian job board · recruiter contact data · salary data india · walk-in interview scraper · recruitment sourcing · lead generation · job market research · job monitoring · export to CSV/Excel/JSON · MCP tool for AI agents