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

2

Total users

1

Monthly active users

a day ago

Last modified

Share

Naukri Jobs Scraper 🇮🇳

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.

Why this scraper

Get complete, reliable Naukri job data — every run returns full, structured results instead of empty or partial output. Built for real production use: scheduled monitoring, data pipelines, and large one-off exports.

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

What you get

  • 🔎 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-friendlycompact mode returns just the core fields for LLM / MCP pipelines.

Getting started

  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.

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
}

Example 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.

Input highlights

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

Incremental monitoring — pay only for what changed

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.

Use cases

  • 🧑‍💼 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.

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.

Pricing

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.

Notes & tips

  • Proxy is optional. Most runs work without one. For scheduled or large-scale jobs, set Apify Proxy → Residential, country India for maximum reliability and consistency.
  • 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.