Naukri Job Scraper
Pricing
from $0.50 / 1,000 base jobs
Naukri Job Scraper
[💵 $1.50 / 1K · no start fee] Scrape Naukri.com and Naukrigulf jobs by keyword, location, URL or exact Naukri job ID. Clean company, salary, skills, experience, work mode and full descriptions.
Pricing
from $0.50 / 1,000 base jobs
Rating
0.0
(0)
Developer
WebData Labs
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Naukri Job Scraper - India's biggest job board, in a spreadsheet
Scrape Naukri.com and Naukrigulf job listings into clean rows: title, company, salary, skills, experience and work mode. Search India, the Gulf, or both in one run.
Naukri holds the largest pool of Indian job postings anywhere, and none of it is exportable. The website shows you 20 jobs at a time, hides the salary behind a label, and jams three cities and the work mode into one string. This Actor opens the public result pages in an isolated browser session, normalizes the cards, and hands you every field as its own column - no login and no start fee.
🔎 Why your Naukri search returns fewer jobs than Naukri claims
Naukri's match count is optimistic. In a measured run, a search claiming 3,751 jobs served 751 unique jobs before the source ran dry. This Actor keeps paging, deduplicates repeated sponsored listings, and reports both Naukri's claimed count and the rows actually returned. Fewer rows than your limit usually means the source stopped serving results, not that the run silently failed.
✅ What you get / ❌ what this isn't
| ✅ This Actor gives you | ❌ This Actor is not |
|---|---|
| Automatic browser pagination beyond the first result page | Not a manual copy-paste workflow |
| Up to 10,000 served cards per search | Not just the first 20 jobs |
| Many keywords x many cities in one run | Not one run per search box |
India + Gulf coverage through platform: naukri / naukrigulf / both | Not a separate Actor and schema for every region |
Exact jobIds refresh mode for jobs you already track | Not a full search just to re-check one posting |
Salary as numbers - salaryMinLakhs, salaryMaxLakhs, plus an honest salaryDisclosed flag | Not "12-22 Lacs PA" as a string you have to parse |
Work mode split out of the location blob into remote / hybrid / office | Not "Hybrid - Pune, Chennai, Bengaluru" in one cell |
| AmbitionBox rating and review count on every row | Not a company name you have to look up separately |
| Full descriptions, education, role, industry, applicant and view counts on demand | Not a truncated card snippet |
| No start fee - a 5-job lookup costs 5 jobs | Not a per-run charge that punishes small queries |
🔎 Why use this Actor
- It follows Naukri's current public browser flow. Naukri replaced its reusable API signature with a single-use browser token in July 2026. The Actor now uses a real Chromium session instead of shipping a brittle hard-coded token.
- Deep pagination with deduplication. Naukri repeats promoted listings across pages, so rows are deduplicated by job id as they arrive and the Actor continues until your limit is met, the source runs dry, or the 500-page safety ceiling is reached.
- Salary you can filter on. Most Indian postings hide the salary. Rather than pretend, every row carries
salaryDisclosed, and the numeric fields stay empty when it is false - so a "minimum 15 lakhs" filter never silently drops jobs whose pay is simply unknown. - Failure-aware collection. Page timeouts and source blocks are reported in the run summary instead of being silently treated as an empty search.
- Weekly new-jobs mode. Turn on Only jobs not seen in previous runs and every scheduled run returns only postings you have not already been charged for.
- Filters Naukri does not have. Experience, salary band, work mode, freshness and employer type go to Naukri; exact salary floors, title must-include/must-exclude, company blocklists and a minimum AmbitionBox rating are applied on top.
- Paste-a-URL mode. Built the right search on naukri.com? Paste the URL and every filter in it is honoured.
- Competitor-compatible inputs.
keywordaliasessearchQueries,startUrlsaliasessearchUrls, and directjobIdsoverride search mode. - Exact taxonomy filters.
companyId,industryandroleCategoryare sent to Naukri's API as IDs, so irrelevant rows are filtered before download and billing. - Naukrigulf support. Select
naukrigulffor UAE, Saudi Arabia, Qatar and the wider GCC, orbothto run every keyword/location combination against India and Gulf sources. Every row carriessourcePlatform.
👥 Who it's for
Recruiters, staffing agencies, HR analysts and job-market researchers working across India and the Gulf.
- Build a live pipeline of open roles for a niche you recruit for, refreshed weekly.
- Benchmark pay bands by role, city and experience level using the disclosed-salary rows.
- Track which companies are hiring for which skills, and how fast their postings accumulate applicants.
- Feed a job board, a newsletter or an internal Slack alert with genuinely new postings only.
- Study demand for a technology across India by counting postings that name it.
Example tasks
Ready-made configurations you can open, tweak and run:
- Scrape Naukri Python developer jobs in Bangalore
- Scrape remote jobs on Naukri across India
- Monitor Naukri jobs posted in the last 24 hours
- Find Naukri jobs paying above 25 lakhs
- Scrape Naukri data analyst jobs with full descriptions
- Track which companies are hiring on Naukri
⚙️ How to scrape Naukri jobs
- Open the Actor on Apify.
- Type one or more search keywords, for example
python developer. - Optionally add cities -
bangalore,pune,delhi-ncr. Leave empty to search all of India. - Set Maximum jobs - the budget for the whole run, shared across your searches.
0means everything Naukri will serve. - Optionally narrow with experience, salary, work mode, freshness or employer type.
- Optionally turn on Fetch full job descriptions for the complete text, education requirements, role, industry and applicant counts.
- Click Start, then export as CSV, JSON or Excel.
Prefer a URL? Skip steps 2-5 and paste your naukri.com search URL into Or paste Naukri search URLs.
Get only the new jobs every week
Turn on Only jobs not seen in previous runs, save the configuration as a task, and schedule it. The Actor remembers every job id it has returned in a named store, so run two gives you only what appeared since run one. Give each scheduled search its own Name of the memory store so two schedules do not hide each other's results.
📥 Input
{"searchQueries": ["python developer", "data engineer"],"locations": ["bangalore", "pune"],"maxItems": 500,"experienceYears": 5,"minSalaryLakhs": 15,"workMode": "remote","postedWithinDays": "7","employerType": "company","includeJobDescription": true,"sortBy": "date"}
searchQueries- keywords as you would type them on Naukri. Each one is combined with each city, so 2 keywords x 2 cities is 4 searches.locations- Naukri's own city names (bangalore,mumbai,delhi-ncr,hyderabad,chennai,pune,kolkata,remote). Empty means all of India.searchUrls- paste naukri.com result-page URLs instead of building the search here.maxItems- total jobs for the run, shared across searches. Default 100,0means unlimited.includeJobDescription- fetch each job's own page for the full text and extra fields. One extra request per job. Off by default.experienceYears- keep jobs open to a candidate with this many years.minSalaryLakhs/maxSalaryLakhs- annual CTC bounds in lakhs. Re-checked exactly on every row.onlyWithSalary- drop the "Not disclosed" majority.workMode-any,remote,hybridoroffice.postedWithinDays-1,3,7,15or30.employerType-companyfor direct employers,consultancyfor staffing agencies.minCompanyRating- minimum AmbitionBox rating, 1-5. Advanced.titleMustInclude/titleMustExclude- word filters on the job title. Advanced.excludeCompanies- company names to skip entirely. Advanced.sortBy-relevance(Naukri's default) ordatefor newest first.onlyNewJobs+dedupStoreName- the recurring-run dedup switch and which store remembers it.maxConcurrency,requestsPerSecond,maxRequestRetries- advanced controls for detail and API-backed collection paths. Naukri search-page navigation is sequential.proxyConfiguration- proxy settings used by the API-backed Naukrigulf path.
📤 Output
One row per job:
| title | companyName | location | workMode | experienceLabel | salaryLabel | companyRating | postedAt |
|---|---|---|---|---|---|---|---|
| Senior Python Developer | Infosys | Pune, Chennai, Bengaluru | hybrid | 5-10 Yrs | Not disclosed | 3.5 | 2026-07-25T17:43:56Z |
| Data Engineer - AWS | Zomato | Gurugram | office | 3-6 Yrs | 18-28 Lacs PA | 3.8 | 2026-07-24T09:12:03Z |
| Backend Engineer (Remote) | Postman | Remote | remote | 4-8 Yrs | Not disclosed | 4.2 | 2026-07-23T11:05:44Z |
Every row also carries jobId, jobUrl, companyId, companyUrl, companyLogoUrl, companyReviewsCount, companyReviewsUrl, isConsultancy, locations as an array, experienceMin / experienceMax as numbers, skills as an array, descriptionSnippet, salaryDisclosed, salaryMin / salaryMax in rupees and salaryMinLakhs / salaryMaxLakhs in lakhs, salaryCurrency, vacancies, postedLabel, diversityTag, plus searchQuery, searchLocation, totalJobsMatchingSearch and scrapedAt so you can trace which search produced the row.
With Fetch full job descriptions on, each row gains description (plain text), descriptionHtml, highlights, role, roleCategory, industry, functionalArea, employmentType, educationUg, educationPg, applyCount, viewCount, isWalkIn, companyDescription and companyWebsite.
💵 How much does it cost?
You pay per job returned, and there is no start fee - a search that returns 5 jobs costs 5 jobs, not 5 jobs plus a run charge. Filtered-out rows are free: the salary, title and company filters run before anything is written to the dataset, so you are only billed for jobs that survived your criteria. A typical single-keyword city search matches thousands of jobs, so the Maximum jobs setting, not the search, is what decides your bill.
| Result | Free | Bronze | Silver | Gold and above |
|---|---|---|---|---|
Base job (job-scraped) | $1.50 / 1,000 | $1.20 / 1,000 | $0.90 / 1,000 | $0.50 / 1,000 |
Full detail (job-detail-scraped) | $4.50 / 1,000 | $3.60 / 1,000 | $2.70 / 1,000 | $1.50 / 1,000 |
Every returned row incurs the base event. A successful full-detail fetch incurs the detail event as well. Exact jobIds fetches are detail records, so both events apply.
🔁 Run it on the Apify platform
Schedule it daily or weekly, call it from the Apify API or any of the client libraries, export results as CSV, JSON, Excel or XML, or push rows straight into Make, Zapier, a webhook, Google Sheets or your ATS. The Only jobs not seen in previous runs switch is built for exactly this: schedule it once and every run delivers only the new postings.
⚠️ Limits and caveats
- Most salaries are hidden. Indian recruiters overwhelmingly post "Not disclosed", and Naukri returns zeros for those. The Actor reports
salaryDisclosed: falserather than inventing a number, but it means pay-band analysis runs on a minority of rows. - Naukri search is browser-backed. Expect roughly one page navigation per 20 served cards. Full descriptions require an additional job-page navigation per result, so large enriched runs are intentionally slower.
- Naukrigulf full descriptions are not fetched yet. Naukrigulf rows contain the public search-card summary in
descriptionSnippet;includeJobDescriptioncurrently enriches Naukri.com rows only. Gulf rows are billed only at the base event. - No recruiter contact details. Naukri does not expose recruiter emails or phone numbers to logged-out clients, and this Actor does not log in. Apply links go to the posting.
vacanciesis often empty. Naukri stores "unspecified" as a sentinel value; rather than pass that off as a headcount, the field is left blank.- Filters are Naukri's, with their quirks.
experienceYearsmatches against a job's range, not exactly; salary filtering is banded server-side and only refined exactly on rows where the salary is visible. - Sponsored listings are included. Naukri injects promoted jobs into the result pages. They are deduplicated, but not labelled - there is no flag in the source to read.
- Some rows have no posting date. A handful of listings, mostly internships, carry no timestamp at all; where possible
postedAtis reconstructed from the relative label Naukri shows.
🧩 Related Actors
- Company Career Page Jobs API - pull the same roles straight from a company's own careers page, to check whether a Naukri posting is still live.
- ATS Hiring Monitor API - watch a company's applicant-tracking system for new openings between Naukri runs.
- Website Contact Extractor - turn the employer names in your job rows into emails and phone numbers.
- Lead List Deduplicator - merge several Naukri runs into one clean list without repeats.
❓ FAQ
Am I charged for jobs that my filters remove? No. Title, company, rating and exact-salary filters run before rows reach the dataset, so you only pay for jobs you keep.
Does it need a Naukri login or an API key? No. It reads only what naukri.com serves to a logged-out visitor.
How deep does it really go? Deeper than you will usually want. A broad search paginates past 40,000 jobs. The practical limit is your Maximum jobs budget and how long you let the run go.
Why is salaryMinLakhs empty on most rows?
Because the recruiter hid the salary. Check salaryDisclosed; when it is false the numbers are deliberately blank rather than zero. Turn on Only jobs with a disclosed salary to keep only rows with real figures.
How does the weekly new-jobs mode know what it has seen? It stores every returned job id in a named key-value store that persists between runs. Change Name of the memory store to start a fresh memory, or to keep two schedules independent.
Can I just paste a search URL from the website?
Yes. Both URL shapes work - naukri.com/python-developer-jobs-in-pune and the query-string form with k= and l=.
Does it cover internships and walk-in interviews?
Yes, they come through the same search. Use titleMustExclude with intern or walk-in if you would rather not see them.
🛠️ Support
Something wrong or missing? Open an issue on the Actor's Issues tab with the run URL, the input you used and what you expected. Fixes usually ship the same week.
⭐ Rate this Actor
If this saved you time, please leave a review on the Reviews tab. Review count is the main trust signal buyers have on the Apify Store, and reviews are what decide which improvements get built next. If something is broken, please open an issue first - it will usually be fixed faster than a rating can be changed.