Naukri Jobs Scraper
Pricing
from $2.49 / 1,000 results
Naukri Jobs Scraper
Naukri Scraper SD - Naukri Scraper is a job data tool that extracts Naukri.com job listings by keyword and city: title, company, experience, salary, location, skills, posting date, AmbitionBox rating, plus optional full job details.
Pricing
from $2.49 / 1,000 results
Rating
0.0
(0)
Developer
Neuro Scraper
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
15 days ago
Last modified
Categories
Share
Naukri Scraper — Naukri.com jobs with experience, salary and skills
The Naukri Scraper searches Naukri.com by keyword and city and returns one row per job: title, company, experience range, salary, location, skills, posting date, vacancies, AmbitionBox rating and reviews and, optionally, the full job details (description, role, industry, department, education, key skills, applicants, views, work mode, company profile).
It works logged out.
How it works, and why a browser
Naukri's job APIs answer 406 "recaptcha required" to a plain HTTP client, because every call needs a token that Naukri's own page script computes. That token is not rebuilt here.
Instead a real headless Chromium opens Naukri's public search page, and the Actor reads the results Naukri's own script loads. Further pages are opened by clicking the page's own "Next" control, as a visitor would.
Only checks a normal browser passes on its own are allowed. A visible challenge or "Access Denied" is never answered: the Actor opens a new browser session (a new proxy IP on Apify) at most 3 times, then stops that search with an error.
Input
| Field | Type | Default | Meaning |
|---|---|---|---|
keywords | list | python developer (prefill) | One Naukri search per line |
location | text | – | City as on Naukri ("bangalore", "pune", "delhi ncr"); empty = all India |
experience | integer | – | Naukri's experience filter, in years |
jobAge | select | any | Freshness: 1, 3, 7, 15 or 30 days |
startUrls | URLs | – | Naukri search URLs (https://www.naukri.com/<keyword>-jobs...) |
scrapeDetails | boolean | false | Open each job page for the full details (about 5 s per job) |
maxItems | integer | 40 | Stop after this many jobs (20 per page) |
proxyConfiguration | proxy | Apify RESIDENTIAL, India | Proxy for the browser |
Output
| Field | Meaning |
|---|---|
jobId, jobUrl, title | Job |
companyName, companyId, logoUrl, companyRating, companyReviews | Company with AmbitionBox rating and review count |
experience, minExperience, maxExperience | "4-6 Yrs" and the numbers |
salary, salaryMin, salaryMax, salaryCurrency | Salary label; numbers only when the employer shows them |
location, skills, descriptionSnippet | From the search results |
postedAgo, postedAt, vacancies, walkIn | Dates and flags |
Details: descriptionText, descriptionHtml, employmentType, role, roleCategory, industry, department, education, keySkills, applicants, views, workMode, companyAbout | From each job page |
searchKeywords, searchLocation, searchUrl, scrapedAt | searchUrl is the results page the row was read from |
Measured (2026-10-03, one residential IP in Bangladesh, no proxy)
| Test | Result |
|---|---|
python developer, 40 jobs | 40 rows in 9 s (2 pages, 38,659 jobs on Naukri) |
data analyst / bangalore, 3 years, last 7 days, 100 jobs | 100 rows in 27 s from 5 pages; 100/100 experience ranges include 3 years, all posted within 7 days |
| Pune java search URL, 6 jobs with job details | 6 rows in 38 s, details read for 6/6 |
Keyword react, node / pune | 5 rows; the keyword stays one search |
| Wrong URLs, empty input | Clean stop with an error line |
Limits (measured)
- Naukri resets connections (
ERR_HTTP2_PROTOCOL_ERROR) when one session loads pages in a burst. Pages 3 and 4 opened directly by URL failed this way, while clicking "Next" at 4–7 s intervals read 5 pages in a row. - Opening the "-2" URL of a filtered search directly made Naukri drop the filters (8,552 jobs instead of 587). That is why pages after the first are opened by clicking "Next".
- Job pages in one session were reset after the first; each job page now gets a fresh browser session (6 of 6 read). Details cost about 5 s per job.
- Logged out, the company website and address in the job details were empty on all 8 jobs checked, so they are not columns.
- The Docker image is Apify's Python + Playwright image; a run needs about 2 GB of memory.
Example input
{"keywords": ["data analyst", "business analyst"], "location": "bangalore", "jobAge": "7", "maxItems": 200}