Naukri Job Scraper avatar

Naukri Job Scraper

Pricing

from $3.99 / 1,000 results

Go to Apify Store
Naukri Job Scraper

Naukri Job Scraper

Pricing

from $3.99 / 1,000 results

Rating

0.0

(0)

Developer

Scrapio

Scrapio

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

🇮🇳 Naukri Job Scraper

Scrape Naukri.com job listings at scale — search results, individual job postings, full company branding, AmbitionBox reviews, and SEO metadata — all in one Actor. Just paste a Naukri URL (or a keyword), pick how many jobs you want, and press Start.


✨ Why this Actor?

  • 🔗 Bulk URLs in, JSON out — paste a mix of Naukri search pages and individual job-listing URLs; the Actor auto-detects each one.
  • 🛡️ Smart proxy fallback — starts direct, falls back to datacenter if Naukri blocks, then to residential with 3 retries, and sticks with residential for the rest of the run.
  • 🧠 Rich detail mode — pulls the full Naukri detail-API payload for every job (branding banner, company rating, follower count, AmbitionBox reviews, SEO block, cards sequence).
  • 💾 Live saving — every job is pushed to the dataset the moment it's parsed, so a crash never loses already-scraped rows.
  • 🪟 Headless Chromium — runs entirely inside the Apify Playwright image, no local browser setup needed.
  • 🧭 Pagination handled for you — listing URLs are automatically followed page by page until your maxJobs cap is reached.

🚀 How to use (Apify Console)

  1. Log in at console.apify.comActors.

  2. Find Naukri Job Scraper and click Try for free.

  3. Paste one or more URLs into the 🔗 Naukri URLs field, or set a 🔍 Keyword.

  4. Tune 📊 Maximum jobs, 🕒 Posted within, 🔃 Sort by, and any filter IDs you need.

  5. Pick a proxy mode (or leave 🛡️ Proxy off — the Actor will escalate automatically when needed).

  6. Click ▶️ Start.

  7. Watch the live logs — you'll see something like:

    🔎 Discovered search-listing URL #1
    📦 Page 1: collected 50 jobs (50/100)
    📦 Page 2: collected 50 jobs (100/100)
    📋 Fetching detail #1/100 — Software Engineer @ Infosys
    ✅ Saved job 140526018212
  8. Open the Output tab for the dataset — export to JSON, CSV, Excel, or call the dataset API.


📥 Input

{
"urls": [
{ "url": "https://www.naukri.com/software-developer-jobs?src=gnbjobs_homepage_srch" }
],
"keyword": "software developer",
"maxJobs": 100,
"fetchDetails": true,
"freshness": "all",
"sortBy": "relevance",
"experience": "all",
"workMode": [],
"cities": [],
"department": [],
"proxyConfiguration": { "useApifyProxy": false }
}

Field reference

FieldTypeDefaultDescription
urlsarray[]Bulk Naukri URLs — search listings or individual job pages. Auto-detected.
keywordstring"software developer"Used when urls is empty to build a search URL.
maxJobsinteger (≥50)100Hard cap across all input URLs combined.
fetchDetailsbooleantrueCall the Naukri detail API for each job to get the rich record.
freshnessenum"all"Posted within: all / 30 / 15 / 7 / 3 / 1 days.
sortByenum"relevance"relevance or date.
experiencestring"all"Min experience in years (all or 030).
workModestring[][]1 = WFH, 2 = Hybrid, 3 = Office.
citiesstring[][]Naukri city IDs (e.g. "97" = Bangalore).
departmentstring[][]Naukri function-area IDs (e.g. "4" = IT).
salaryRange / companyType / roleCategory / industry / topCompanies / postedBystring[][]Additional Naukri filter ID lists — see the input form for the exact query parameter each one maps to.
maxRequestRetriesinteger3Per-request retry budget.
proxyConfigurationobject{ "useApifyProxy": false }Defaults to direct — see the proxy section below.

🛡️ How the proxy fallback works

You don't need to configure anything — the Actor manages this for you:

  1. Direct — first request goes out from the Apify cloud IP, no proxy.
  2. Datacenter — if Naukri blocks (HTTP 4xx/5xx, captcha, or empty payload), the Actor switches to Apify Proxy / DATACENTER group and retries.
  3. Residential — if datacenter is also blocked, it switches to RESIDENTIAL and retries up to 3 times.
  4. Sticky residential — once the Actor falls back to residential, every remaining request in the run uses residential, so you don't pay the latency tax of repeated escalations.

Every escalation is logged with an emoji prefix so you can spot it instantly:

🛡️ Switching proxy tier: direct → datacenter
🛡️ Switching proxy tier: datacenter → residential
✅ Residential proxy unblocked Naukri — staying on residential

If you set proxyConfiguration explicitly, that user choice is honored first; the fallback ladder only kicks in if your selection also gets blocked.


📤 Output

Each row in the default dataset is one Naukri job. With fetchDetails: true (default) the row matches Naukri's detail-API shape exactly:

{
"jdBrandingBanner": { "image": { "desktop": "..." } },
"brandedJd": true,
"jdBrandingDetails": { "overallRating": 3.5, "followCount": "1355271", "sections": { "aboutUs": { ... } } },
"jobDetails": {
"jobId": "140526018212",
"title": "Software Engineer",
"companyName": "Infosys",
"experience": "2-5 years",
"location": "Bangalore",
"salary": "Not disclosed",
"tagsAndSkills": "Java,Spring Boot,Microservices",
"jobDescription": "...",
"jdURL": "https://www.naukri.com/job-listings-software-engineer-infosys-...",
"createdDate": "2026-05-22T08:14:11.000Z"
},
"ambitionBoxDetails": { "overallRating": "3.5", "reviewsCount": "...", "title": "Infosys Reviews" },
"seo": { "title": "...", "description": "...", "breadcrumbCards": [...] },
"cardsSequence": ["jobDescription", "skills", "aboutCompany", ...]
}

With fetchDetails: false, only the jobDetails slot is filled (all the heavyweight branding / reviews / SEO blocks stay empty), so the row shape is still the same — useful if you only need the basic fields.

Dataset views

The Actor ships with five preset views in the Output tab:

  • 📋 Overview — title, company, salary, location, link
  • 🎨 Branding — branded JD banners and overview sections
  • 🏢 AmbitionBox Reviews — review aggregates per company
  • 🔎 SEO & Metadata — SEO block and card sequence
  • 🧾 Full record — every key from the detail payload

💡 Best use cases

  • 📊 Talent intelligence — track which companies are hiring for which roles week-over-week.
  • 🧲 Lead generation — surface companies actively expanding a function (e.g. IT, Sales) in a target city.
  • 🤖 Job-board aggregators — feed Naukri inventory into your own search index.
  • 📈 Salary benchmarking — pull salary + experience + tagsAndSkills across a role.
  • 🔍 Competitor monitoring — watch a specific company's job page for new openings.

❓ FAQ

Will it work without a proxy? Yes. Direct requests succeed most of the time. The Actor only escalates if Naukri actually returns a block.

What does the residential proxy cost? Apify Proxy billing applies as usual to residential GB. The Actor only stays on residential after it had to fall back, so most runs never touch it.

Can I scrape behind login? No. This Actor only reads Naukri's public search API and public detail API — no scraping of saved jobs, applied jobs, recruiter chats, or recruiter dashboards.

Why is maxJobs minimum 50? Naukri's first search page returns 50 jobs in one batch — anything lower would still trigger that one request, so the minimum keeps cost transparent.

Can I export to Google Sheets / Make / Zapier? Yes. The dataset is accessible through every Apify integration: webhooks, Zapier, Make, n8n, the REST API, or the Apify MCP server for AI agents.


  • Only scrapes publicly available Naukri pages and APIs.
  • Does not bypass login, captcha solving services, or anti-bot WAFs beyond standard proxy rotation.
  • The end user is responsible for compliance with Naukri's Terms of Service, GDPR/DPDP, and any applicable scraping or data-protection laws.

🛟 Support

Found a bug or a Naukri page that confuses the parser? Open an issue on the Actor's Issues tab in the Apify Console and include the input you used — we'll take a look.