Naukri India Jobs Scraper — Keyword + City API avatar

Naukri India Jobs Scraper — Keyword + City API

Pricing

from $2.00 / 1,000 jobs

Go to Apify Store
Naukri India Jobs Scraper — Keyword + City API

Naukri India Jobs Scraper — Keyword + City API

Scrape Naukri.com India job listings by keyword and optional city: title, company, experience, posted date, URL and description. Salary only when Naukri discloses it (Not disclosed stays empty). HTTP jobapi — PPE per job, Residential IN if blocked.

Pricing

from $2.00 / 1,000 jobs

Rating

0.0

(0)

Developer

Noah Adler

Noah Adler

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Naukri India Jobs Scraper

Naukri.com India jobs scraper by keyword + optional location: title, company, experience, city, posted label, job URL, and description — one clean Dataset row per listing. Salary is filled only when Naukri discloses a real figure (rows with “Not disclosed” leave salary empty).

Built for recruiting intel, salary benchmarking, lead gen (IN), and PPE-friendly exports. No browser automation — HTTP + Chrome TLS fingerprint + RSA nkparam + Naukri jobapi/v3/search.

Naukri’s public search UI calls jobapi/v3/search with a short-lived RSA-encrypted nkparam header. This Actor warms a session on the SEO search page, generates a fresh token per request, and paginates until maxJobs. India residential proxy is optional (often works without proxy).

Why this Actor: Keyword + city · Clean schema · No Playwright · Regional SEO (India) · Cheaper than bloated multi-board incumbents · CSV / API / webhooks ready

Store icon: set the Actor icon in Apify Console (PNG not shipped in this repo).


Table of contents

  1. What this Actor does
  2. What you get
  3. Features
  4. Input
  5. Output example
  6. Output fields
  7. Quick start (API)
  8. Use cases
  9. Limitations
  10. FAQ
  11. Keywords

What this Actor does

StepAction
1Accept keyword + optional location / days / maxJobs
2Warm session: GET Naukri SEO search page (cookies)
3Generate RSA nkparam (`v0
4GET jobapi/v3/search with keyword, location, pageNo
5Parse jobDetails[] → Dataset rows
6Paginate until maxJobs or empty page

Input: keyword, location, max jobs, optional days filter, proxy.
Output: one Dataset row per job (title, companyName, salary, jobUrl, …).


What you get

Job

  • jobId, title, companyName, salary, experience, location

Timing / links

  • postedLabel, postedAt, jobUrl, description

Meta

  • keyword, scrapedAt, error, errorMessage

Features

CapabilityDetail
Keyword + locatione.g. python developer in bangalore
No browsercurl_cffi impersonate chrome124 + browserforge headers
Live jobapiOfficial Naukri search JSON (jobDetails)
RSA nkparamFresh token per request via cryptography
Recency filterOptional days param
Proxy-awareOptional Apify proxy (IN RESIDENTIAL recommended if blocked)

Input

FieldRequiredDescription
keywordYesSearch term (e.g. python developer)
locationNoCity / slug (e.g. bangalore, mumbai)
maxJobsNoCap (default 40, max 500)
daysNoOnly jobs posted within N days
proxyConfigurationNoDefault off; enable RESIDENTIAL if needed

Example

{
"keyword": "python developer",
"location": "bangalore",
"maxJobs": 20,
"proxyConfiguration": {
"useApifyProxy": false
}
}

Example with recency

{
"keyword": "data analyst",
"location": "hyderabad",
"maxJobs": 50,
"days": 7
}

Output example

{
"jobId": "123456789012",
"title": "Python Developer",
"companyName": "Acme Technologies Pvt Ltd",
"salary": "8-12 Lacs P.A.",
"experience": "2-5 Yrs",
"location": "Bengaluru",
"postedLabel": "2 Days Ago",
"postedAt": "2026-09-18T10:00:00Z",
"jobUrl": "https://www.naukri.com/job-listings-python-developer-acme-...",
"description": "We are hiring a Python developer with Django experience...",
"keyword": "python developer",
"scrapedAt": "2026-09-20T22:00:00Z",
"error": false,
"errorMessage": null
}

Output fields

FieldNotes
jobId, title, companyNameCore listing identity
salaryFrom placeholders type=salary
experienceexperienceText
locationFrom placeholders type=location
postedLabel, postedAtFooter label + createdDate (ISO when parseable)
jobUrlAbsolute URL from jdURL
descriptionjobDescription when present in search payload
keyword, scrapedAt, error, errorMessageRun metadata

Quick start (API)

from apify_client import ApifyClient
client = ApifyClient("<YOUR_TOKEN>")
run = client.actor("YOUR_USERNAME/naukri-india-jobs").call(
run_input={
"keyword": "python developer",
"location": "bangalore",
"maxJobs": 20,
"proxyConfiguration": {"useApifyProxy": False},
}
)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item.get("title"), item.get("companyName"), item.get("salary"))

Use cases

  • India hiring pipelines and agency sourcing lists
  • Salary / experience market snapshots by city
  • Competitor employer monitoring on Naukri
  • Feed ATS / CRM with fresh public listings
  • Regional SEO niche: India jobs vs global multi-board scrapers

Limitations

  • Public search only: no apply, no login, no CV download.
  • Description depth: search jobDetails may include a snippet; full JD detail endpoint is out of v0.1.
  • Blocking: usually works without proxy; if you see 403, enable Apify RESIDENTIAL (India preferred).
  • Pagination: capped by maxJobs (500) and internal page safety limit.
  • Respect Naukri Terms of Service and applicable laws when scraping.

FAQ

Do I need a location?
No. Omit location for a broader India-wide keyword search.

How do I get only recent jobs?
Set "days": 7 (or another N) — passed through to Naukri’s days param.

403 / empty results?
Retry with residential proxy. Warm session + fresh nkparam are already handled.

Does this use Playwright?
No. HTTP only (curl_cffi + browserforge + cryptography for RSA).

Icon missing?
Configure the Actor icon in Apify Console when you publish.


Keywords

naukri scraper, naukri jobs api, naukri india jobs export, scrape naukri by keyword location, india job listings dataset, bangalore jobs scraper, naukri salary experience, PPE naukri jobs, india recruitment lead gen, naukri.com jobapi