Naukri Job Scraper: Salaries, Contacts & Company Ratings avatar

Naukri Job Scraper: Salaries, Contacts & Company Ratings

Pricing

from $2.00 / 1,000 results

Go to Apify Store
Naukri Job Scraper: Salaries, Contacts & Company Ratings

Naukri Job Scraper: Salaries, Contacts & Company Ratings

Scrape Naukri.com jobs by keyword, city, experience, salary, work mode and freshness. Every job comes with parsed salary and experience ranges, skills, the company rating and review count, the real employer behind consultancy postings, and any recruiter email or phone the posting names.

Pricing

from $2.00 / 1,000 results

Rating

0.0

(0)

Developer

Kelopr_bk

Kelopr_bk

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

Naukri Job Scraper — Jobs, Salaries, Contacts & Company Ratings

Pull job listings from Naukri.com, India's largest job board, by keyword, city, experience, pay, work mode and freshness — and get every posting back as one clean row with the numbers already parsed.

No login. No cookies. No setup.


Why this one

Naukri publishes almost everything as display text: 8-14 Lacs PA, 3-8 Yrs, Not Disclosed. Most scrapers hand you that text and leave the work to you. This one gives you the label and the parsed values, so the data is usable the moment it lands.

It also answers three questions the raw listing does not:

  • Is the pay real? salaryDisclosed separates published salaries from hidden ones, so your averages are not silently poisoned by zeros.
  • Who is actually hiring? Consultancies place a large share of Indian job ads under their own name. isConsultantPosting and hiringForCompany tell you when you are looking at an agency and who the role is really for.
  • Is the employer any good? Every row carries the company's AmbitionBox rating and review count.

What one job looks like

{
"jobId": "011125005678",
"title": "Area Sales Manager",
"url": "https://www.naukri.com/job-listings-area-sales-manager-...",
"companyName": "Onsite Teams",
"companyUrl": "https://www.naukri.com/onsite-teams-jobs-careers-4589122",
"companyLogo": "https://img.naukimg.com/logo_images/groups/v1/4589122.gif",
"companyRating": 4.1,
"companyReviewsCount": 132,
"companyAddress": "F67, Plot 2, Manish Global Mall, Sector 22, Dwarka, New Delhi",
"location": "Hybrid - New Delhi, Gurugram",
"locations": ["New Delhi", "Gurugram"],
"workMode": "Hybrid",
"salaryLabel": "8-14 Lacs PA",
"salaryDisclosed": true,
"salaryMinPerYear": 800000,
"salaryMaxPerYear": 1400000,
"salaryCurrency": "INR",
"experienceLabel": "3-8 Yrs",
"experienceMinYears": 3,
"experienceMaxYears": 8,
"skillsPreferred": ["Field Sales"],
"skillsOther": ["Sales", "Enterprise Sales"],
"jobRole": "Area Sales Manager (B2B)",
"roleCategory": "Enterprise & B2B Sales",
"functionalArea": "Sales & Business Development",
"industry": "IT Services & Consulting",
"employmentType": "Full Time, Permanent",
"educationUG": ["Any Graduate"],
"applyCount": 87,
"viewCount": 411,
"vacancies": 1,
"postedAt": "2026-08-13 13:09:02",
"postedLabel": "Today",
"isConsultantPosting": false,
"isWalkIn": false,
"contactEmails": ["dhruv.tomar@onsiteteams.com"],
"contactWebsites": ["https://onsiteteams.com/"]
}

59 fields in total, including the full description in text and HTML.


The fields worth paying for

Salary you can actually sort on

salaryMinPerYear and salaryMaxPerYear come back as plain INR numbers — lakhs and crores already converted. salaryDisclosed marks the rows where the employer really published a figure.

Most Indian listings hide pay. Filter to salaryDisclosed = true and you get a clean benchmark instead of an average dragged to zero.

Recruiter contacts, when the posting names them

Applications usually route through Naukri, but consultancy ads routinely paste a recruiter's details into the description. When they do, you get them structured:

"contactEmails": ["hiring@acme.co.in"],
"contactPhones": [{ "raw": "+91 98765 43210", "digits": "919876543210" }],
"contactWebsites": ["https://acme.co.in/careers"],
"contactSocialProfiles": { "linkedin": ["https://linkedin.com/company/acme"] }

Nothing is invented — these appear only when the posting actually contains them.

Signals nobody else surfaces

  • diversityTag / isExclusiveRole — Naukri marks roles reserved for specific groups, e.g. "For women"
  • skillsPreferred vs skillsOther — the must-haves separated from the nice-to-haves
  • isWalkIn — walk-in interviews, which hire on a completely different timeline
  • applyCount and viewCount — how much competition a posting already has
  • appliesOffsite — whether applying leaves Naukri for the company's own site

Every run also saves a breakdown of the whole result set — not just the rows you paid for:

{
"totalJobsAvailable": 28571,
"breakdown": {
"salaryRanges": [{ "label": "6-10 Lakhs", "count": 26445 }, ...],
"cities": [{ "label": "Bengaluru", "count": 8112 }, ...],
"departments": [...], "industries": [...], "workModes": [...]
}
}

Size a market, then decide how much of it to scrape. It lands in the run's key-value store as SUMMARY-<your-keyword>.


Input

fieldwhat it does
keywordsone search phrase per entry — each is searched separately
locationcity or region, as typed on Naukri
jobIdsscrape specific postings directly, skipping search
maxItemsstops the run once this many jobs are saved
sortByrelevance · newest first · salary high→low · salary low→high
jobAgeDayslast 24 hours · 3 days · week · 15 days · 30 days
experienceYearsjobs open to a candidate with this many years
workModework from office · remote · hybrid
salaryBandone of Naukri's pay bands, from 0-3 up to 75-100 lakhs
fetchJobDetailsoff = faster and cheaper, search fields only
dedupeone row per job ID across all your keywords

Bad input never costs you a run: it is rejected before a single request, with a message naming the field and the fix.


Recipes

Fresh remote jobs, best paid first

{ "keywords": ["python developer"], "workMode": "remote",
"jobAgeDays": "7", "sortBy": "salaryHighToLow", "maxItems": 200 }

Direct employers only — skip the agencies

{ "keywords": ["data analyst"], "location": "Bengaluru", "maxItems": 300 }

Then keep rows where isConsultantPosting is false.

Recruiter leads

{ "keywords": ["urgent hiring"], "location": "Mumbai", "maxItems": 300 }

Then keep rows that have contactEmails or contactPhones.

Salary benchmark for a role

{ "keywords": ["devops engineer"], "maxItems": 500 }

Filter to salaryDisclosed = true, then average salaryMinPerYear and salaryMaxPerYear.

Track one company's hiring

{ "keywords": ["Infosys"], "jobAgeDays": "7", "maxItems": 200 }

Output

Three ready-made views, exportable to CSV, Excel, JSON or XML, or readable straight from the API:

  • Jobs — title, company, location, salary, experience, rating, link
  • Salary & experience — the parsed numeric ranges
  • Contacts & employer — agency flag, real employer, recruiter contacts

FAQ

Do I need a Naukri account? No. Nothing here needs a login or cookies.

Why is salary often "Not Disclosed"? Because most Indian employers hide it. salaryDisclosed tells you which rows carry real figures.

Why do some jobs have no contacts? Because the posting did not include any — applications normally go through Naukri itself. Consultancy ads are where contacts usually show up.

Why only one work mode or pay band at a time? Naukri itself accepts a single value for each. The input mirrors what the site can actually do, rather than pretending and returning nothing.

How fresh is the data? Every run is live — nothing is served from a cache.

Does it cover Naukri Gulf? Not yet. This scraper targets naukri.com (India).

How much does it cost? You pay per job saved, and the price on this page is all-in.

Something looks wrong? The run summary lists every issue, and skipped items go to a separate errors dataset with the reason — nothing fails silently.