Naukri Scraper API — Jobs, INR Salaries, Recruiter Leads avatar

Naukri Scraper API — Jobs, INR Salaries, Recruiter Leads

Pricing

from $5.00 / 1,000 job extracteds

Go to Apify Store
Naukri Scraper API — Jobs, INR Salaries, Recruiter Leads

Naukri Scraper API — Jobs, INR Salaries, Recruiter Leads

Scrape Naukri.com jobs with recruiter-focused output: parsed salary ranges (INR), normalized skill tags, freshness filter, location targeting. Pan-India + city scopes.

Pricing

from $5.00 / 1,000 job extracteds

Rating

0.0

(0)

Developer

Tugelbay Konabayev

Tugelbay Konabayev

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

Naukri Jobs Leads (Recruiter Edition)

Scrape Naukri.com — India's #1 job board — and get recruiter-ready output: parsed salary ranges, normalized skill tags, freshness filtering, and pan-India or city-scoped queries.

Why this actor?

NeedThis actor
Salary parsed to numberssalary_min + salary_max + currency
Skills normalized to arrayClean skill tags for CRM and ATS filters
JSON API + Chromium fallbackFast path first, browser fallback when gated
Freshness filtermaxAgeDays for recent openings
India residential proxy defaultPre-configured for more reliable runs
PricingPay per result

This actor is positioned for B2B recruiters and HR-tech tools — not generic job-seeker scrapers.

Input

FieldTypeDefaultDescription
queriesstring[]["python developer"]Job titles / keywords. Each paginates until maxItems.
locationstringCity/region (e.g. "bangalore", "mumbai"). Empty = pan-India.
maxItemsint50Hard cap on dataset items.
maxPagesint5How many paginated pages per query.
maxAgeDaysint0Drop jobs older than N days. 0 = no filter.
proxyConfigurationobjectIN residentialIndia residential reduces recaptcha.

Examples

Pan-India Python jobs:

{
"queries": ["python developer", "django developer"],
"maxItems": 200
}

Bangalore data engineering only, fresh in last 7 days:

{
"queries": ["data engineer", "ml engineer"],
"location": "bangalore",
"maxItems": 100,
"maxAgeDays": 7
}

Output

{
"jobId": "200425901234",
"title": "Senior Python Developer (Django/FastAPI)",
"company": "Acme Tech Pvt Ltd",
"companyId": 12345,
"location": "Bengaluru / Bangalore",
"experience": "5-9 Yrs",
"salary_min": 1200000.0,
"salary_max": 2400000.0,
"salary_unit": "annual",
"currency": "INR",
"salary_raw": "12-24 LPA",
"skills": ["Python", "Django", "FastAPI", "PostgreSQL", "AWS", "Docker"],
"postedDate": "2 Days Ago",
"description": "We are looking for...",
"url": "https://www.naukri.com/job-listings-...",
"source_url": "https://www.naukri.com/python-developer-jobs"
}

Use cases

  1. HR-tech / ATS — daily inbound feed of new openings matching client keywords
  2. Recruiting agencies — competitor job-board scan for placement opportunities
  3. Salary benchmarkingsalary_min/max distribution by skill + experience
  4. Sales prospecting — companies hiring kubernetes engineers are buying cloud tools
  5. Market reports — track demand for skills (Rust, Go, AI) over time
  6. CRM enrichment — match companyId to your prospect database

Cost estimation

  • Proxy cost depends on your Apify plan and residential proxy usage.
  • API mode is lighter than browser fallback, so use focused queries and maxPages for cost control.
  • Pay per result. Start with maxItems: 25 to verify output and cost before larger runs.

No captcha solver setup on your side. When Naukri's API gates a session, the actor switches to a real Chromium browser via Playwright. This improves reliability without requiring a 2Captcha key, but it can be slower and use more proxy traffic.

Safety cap: Set maxCostUsd (e.g. 5) for an additional hard kill-switch on proxy spend. The run aborts cleanly when reached so a single run can't bleed your account.

FAQ

Why two paths (API + browser)? Naukri's /jobapi/v3/search returns rich JSON quickly, but it can demand reCAPTCHA on cold IPs. When that happens the actor transparently switches to a real Chromium browser — slower but always returns data, with no setup or extra credits from you.

What does "recruiter-focused" mean exactly? Recruiters care about salary band, skill match, freshness, and company. Generic scrapers dump raw strings. We pre-parse "12-24 LPA" into salary_min: 1200000, salary_max: 2400000, currency: "INR" so it slots straight into a CRM or ATS.

Can I get the recruiter's name/email? Naukri exposes a recruiter contact only on a small subset of postings. When present we surface it; otherwise the field is null. We don't bypass any login wall.

Why is maxAgeDays not exact? Naukri returns relative timestamps ("2 Days Ago", "30+ Days Ago"). We parse those into approximate cutoffs.

My queries return very few jobs. Naukri's slug pattern matters. Use the exact phrase you'd type into the Naukri search bar. Avoid full sentences.

Can I scrape a specific company page? Not in v0.1. Use the keyword query + filter company client-side for now. Company-page enrichment is on the roadmap.

Troubleshooting

  • Most rows have salary_raw but null salary_min — Naukri shows "Not Disclosed" for ~40% of postings. Filter your downstream queries on salary_min IS NOT NULL.
  • Some jobs missing skills — older postings used free-text skills; we surface raw if normalization fails.
  • Rate limiting / 429 — proxy session burned. Lower maxPages and split queries across runs.
  • Empty description — full job description requires a detail-page hit; v0.1 returns the listing-card snippet.

Limitations

  • INR salary only (no USD/EUR — Naukri is India-focused).
  • Listing-card data only; full job descriptions require detail-page enrichment (planned for v0.2).
  • No company-page scrape (employer profile, glassdoor-style metadata) — v0.2.
  • Naukri may upgrade reCAPTCHA — if so, expect API path success rate to drop and browser fallback usage to rise (cost moves from $0.50 → $1.20 per 1000 jobs; still within PPE).

Changelog

  • 0.1 (2026-05-03) — Initial release. JSON API + Chromium-via-Playwright fallback (no external captcha solver needed), IN residential default, salary parsing, skill normalization.