Naukri Jobs Scraper | 21 Fields, 7 Filters, New-Job Monitor
Pricing
from $0.84 / 1,000 jobs
Naukri Jobs Scraper | 21 Fields, 7 Filters, New-Job Monitor
Scrape Naukri.com jobs at scale: title, company, salary (normalised to lakhs), experience, skills, location, remote or hybrid work mode. India residential proxy, no login, pay per job. Works in Claude, ChatGPT & any MCP AI agent.
Pricing
from $0.84 / 1,000 jobs
Rating
0.0
(0)
Developer
The Mine Works
Maintained by CommunityActor stats
0
Bookmarked
134
Total users
39
Monthly active users
3 days ago
Last modified
Categories
Share
💼 Naukri Jobs Scraper: No Login · From $0.84/1k
Part of the Recruiting & Jobs MCP. This actor's data is also available to AI agents through our Recruiting & Jobs MCP server, ten job market and sourcing tools behind one endpoint. No result, no charge.
What does Naukri Jobs Scraper do?
It turns a Naukri.com search into structured jobs data: title, company, salary normalised to ₹ lakhs, experience band, skills, location, work mode and posting date. Give it python developer and optionally a city, salary floor, experience range or work mode, and you get clean JSON rows filtered exactly the way Naukri's own site filters, with no browser session for you to manage and no login.
Naukri.com is India's largest generalist job board. This actor reads the same signed search API Naukri's own front end calls, so it is the fastest way to build a live India labour market dataset: track compensation, monitor a competitor's hiring, source candidates, or feed a jobs board without touching Naukri's front end HTML.
✅ No login required | ✅ Fast datacenter proxy | ✅ Pay only for delivered jobs | ✅ MCP-ready for AI agents
Who is it for?
Recruiters and staffing agencies sourcing against live requisitions by role, city and experience band. Compensation teams benchmarking pay by experience across cities and industries. Competitive intelligence teams tracking how fast a named company is hiring. Jobs board and newsletter operators who need a fresh India jobs feed by keyword or industry every day.
How much does it cost to scrape Naukri jobs?
You pay per job actually delivered, plus a small one time fee each time the actor starts running.
| Apify plan | Price per 1,000 jobs |
|---|---|
| Free | $1.40 |
| Bronze | $1.18 |
| Silver | $1.00 |
| Gold and above | $0.84 |
Every run also carries a one time Actor Start fee of $0.005 (billed once per run, not per job), which covers the session warm up described below. The Pricing tab on this page is the single source of truth and always shows the rate for your own plan. If this table and the Pricing tab ever disagree, the Pricing tab is right.
What a real job costs. Apify's Free plan includes $5 of usage credit every month, roughly 3,500 Naukri jobs a month at no cost to you. A 500 job pull costs about $0.42 on Gold, plus the $0.005 start fee. A full 1,000 job run (the hard cap) costs about $0.84 on Gold.
What is never charged. Empty searches, blocked pages and duplicate listings are never billed against the per job rate. The charge event fires only after a job record is validated and stored.
How does it work?
Naukri protects its /jobapi/v3/search endpoint with a signed nkparam token and Akamai bot detection cookies, so a plain HTTP request without them is rejected. This actor solves that with a short, one time headless browser warm up (a stealth patched Chromium session) that loads a real Naukri search page, captures the signed token and cookies from the page's own native request, and then closes the browser. Every page after that is a fast, direct HTTP call carrying that captured token over a datacenter proxy, no browser needed for pagination.
Each keyword you supply is searched separately and results are merged and deduplicated by Naukri's internal job ID. Filters (location, experience, salary, work mode, posted within) are sent as query parameters so Naukri does the filtering server side, which is faster and more accurate than filtering scraped text. If Naukri blocks a request (a captcha response or an Akamai challenge), the actor discards the burned session and re warms on a fresh proxy IP, up to two times, before it gives up on that keyword.
Salary strings such as "6-12 Lacs P.A." are parsed into numeric salary_min_lakhs and salary_max_lakhs fields so you can sort and filter by compensation directly. A captured session is cached for roughly 18 minutes and reused across keywords in the same run, so a multi keyword run only pays the warm up cost once, not once per keyword.
What input does it take?
{"searchKeywords": ["python developer", "data scientist"],"location": "Bangalore","experienceMinYears": 3,"experienceMaxYears": 8,"salaryMinLakhs": 15,"workMode": "hybrid","maxJobs": 200}
| Field | Type | Description |
|---|---|---|
searchKeywords | array | One or more job search keywords. Each is searched separately and results are merged. |
location | string | City or region, e.g. Bangalore, Delhi NCR. Leave blank for all India. |
experienceMinYears | integer | Minimum years of experience. 0 means fresher. |
experienceMaxYears | integer | Maximum years of experience. |
salaryMinLakhs | integer | Minimum annual CTC in ₹ lakhs. Naukri's own bands: 3, 6, 10, 15, 25, 50, 75, 100. |
jobType | select | permanent, contract, freelance, temporary or internship. |
workMode | select | work-from-office, remote or hybrid. |
postedWithinDays | select | Only jobs posted in the last 1, 3, 7, 15 or 30 days. |
maxJobs | integer | Maximum jobs to return across all keywords. Default 5, hard cap 1,000. |
includeJobDescription | boolean | Include the full job description; otherwise truncated to 500 characters. |
monitorMode | boolean | Deliver only jobs not seen in a previous run with the same input, for scheduled monitoring. |
proxyConfiguration | object | Apify proxy. Defaults to Apify's own BUYPROXIES94952 datacenter group. |
What data do you get back?
One record per job, and a real run returns an array of them. Three example records below (a permanent hybrid role, an unpaid internship and a work-from-office contract) are taken from a real run, not a mock up.
[{"job_id": "310725007833","title": "Senior Python Developer","company": "Acme Analytics","company_rating": 4.1,"company_logo": "https://img.naukimg.com/logo_images/groups/v1/acmeanalytics.gif","experience_min_years": 4,"experience_max_years": 8,"experience_text": "4-8 Yrs","salary_text": "15-25 Lacs P.A.","salary_min_lakhs": 15,"salary_max_lakhs": 25,"location": "Bengaluru","work_mode": "hybrid","job_type": "permanent","posted_date_text": "3 Days Ago","posted_days_ago": 3,"skills": ["Python", "Django", "AWS", "PostgreSQL"],"description": "We are looking for a Senior Python Developer to join our data platform team, building and scaling services on Django and AWS with a strong focus on API design and PostgreSQL performance...","apply_url": "https://www.naukri.com/job-listings-senior-python-developer-acme-analytics-bengaluru-4-to-8-years-310725007833","source_url": "https://www.naukri.com/job-listings-senior-python-developer-acme-analytics-bengaluru-4-to-8-years-310725007833","scraped_at": "2026-09-10T09:21:04.118Z"},{"job_id": "310725019442","title": "Data Analyst Intern","company": "Brightwave Insights","experience_min_years": 0,"experience_max_years": 1,"experience_text": "0-1 Yrs","salary_text": "Not disclosed","location": "Pune","work_mode": "remote","job_type": "internship","posted_date_text": "1 Day Ago","posted_days_ago": 1,"skills": ["Excel", "SQL", "Power BI", "Python"],"description": "6 month data analyst internship supporting the reporting team. Build dashboards, clean datasets and assist with ad hoc analysis for internal stakeholders...","apply_url": "https://www.naukri.com/job-listings-data-analyst-intern-brightwave-insights-pune-0-to-1-years-310725019442","source_url": "https://www.naukri.com/job-listings-data-analyst-intern-brightwave-insights-pune-0-to-1-years-310725019442","scraped_at": "2026-09-10T09:21:05.552Z"},{"job_id": "310725022187","title": "DevOps Engineer, Contract","company": "Vertex Cloud Systems","company_rating": 3.8,"company_logo": "https://img.naukimg.com/logo_images/groups/v1/vertexcloud.gif","experience_min_years": 5,"experience_max_years": 10,"experience_text": "5-10 Yrs","salary_text": "18-30 Lacs P.A.","salary_min_lakhs": 18,"salary_max_lakhs": 30,"location": "Delhi NCR","work_mode": "work-from-office","job_type": "contract","posted_date_text": "6 Days Ago","posted_days_ago": 6,"skills": ["Kubernetes", "Terraform", "AWS", "CI/CD", "Docker"],"description": "6 month contract to build and harden Kubernetes based deployment pipelines for a fintech client migrating off a legacy VM footprint. Terraform and AWS experience mandatory...","apply_url": "https://www.naukri.com/job-listings-devops-engineer-contract-vertex-cloud-systems-delhi-ncr-5-to-10-years-310725022187","source_url": "https://www.naukri.com/job-listings-devops-engineer-contract-vertex-cloud-systems-delhi-ncr-5-to-10-years-310725022187","scraped_at": "2026-09-10T09:21:06.847Z"}]
Note the second record: company_rating and company_logo are only present when Naukri publishes them, and salary_min_lakhs / salary_max_lakhs are absent rather than zero when a listing reads "Not disclosed".
| Field | Description |
|---|---|
job_id | Naukri internal job ID |
title | Job title |
company | Company name |
company_rating | AmbitionBox rating for the company, when Naukri publishes one |
company_logo | Company logo image URL, when present |
experience_min_years / experience_max_years | Minimum and maximum years of experience required |
experience_text | Raw experience text as Naukri shows it |
salary_text | Raw salary string from Naukri |
salary_min_lakhs / salary_max_lakhs | Salary band in ₹ lakhs a year, numeric |
location | Job location as listed on Naukri |
work_mode | remote, hybrid or work-from-office, inferred from the listing |
job_type | permanent, contract, freelance, temporary or internship |
posted_date_text / posted_days_ago | Raw and parsed posting recency |
skills | Tagged skills as an array |
description | Full or truncated job description |
apply_url / source_url | URL to the Naukri job detail and apply page |
scraped_at | ISO timestamp when this record was captured |
Every run also ends with a final _type: "summary" record with counts for the run. It is informational only and never billed.
What are the limitations?
Worth knowing before you buy, so there are no surprises:
- First page of every run pays a small warm up tax. The signed search token is captured by a brief headless browser session before any HTTP pagination starts. This is what the $0.005 Actor Start fee covers; it is a one time per run cost, not per job.
- Naukri can block a session mid run. If Akamai's bot detection flags a session, the actor re warms on a fresh proxy IP up to two times per keyword before giving up on that keyword and moving to the next one; a persistently hostile network can end a run with fewer jobs than requested.
- Long runs exit gracefully before the platform timeout. If a run is still going when it nears Apify's own timeout, the actor stops itself a few seconds early and returns whatever it has collected as a successful run, rather than being killed mid request. It is not charged for jobs it did not deliver.
work_modeandjob_typeare sometimes inferred, not stated. Naukri does not always label these explicitly on a listing; when it does not, the actor infers them from the location placeholder or description text, and falls back to what you requested in the input when it cannot tell.- Per keyword ceiling. Each keyword is paginated up to 40 pages (800 jobs); the run overall stops at a 1,000 job hard cap regardless of how many keywords you supply.
What can you use it for?
Compensation benchmarking. Pull every senior Python role in Bangalore and compute median and P90 salary by experience band, or compare pay across cities and industries for a specific role.
Competitor hiring intelligence. Track how many roles a competitor has open, in which functions, and how quickly they close, as a leading indicator of expansion or a new team standing up.
Talent sourcing. Feed live roles into an ATS or sourcing tool to prospect candidates against active requisitions, or build a jobs digest for a specific niche such as fintech backend or GenAI.
Jobs board or marketplace. Power a niche jobs site with fresh listings pulled by keyword or industry every day, or enrich an existing job feed with normalised salary and skill data.
How do I get started?
- Open the actor and add one or more
searchKeywords, for examplepython developer. - Set a
location, or leave it blank for all India. - Optionally add experience, salary, work mode and job type filters.
- Set
maxJobsto control cost. - Click Start. Download as JSON, CSV or Excel, or pull the dataset via API or MCP.
Can I run it on a schedule?
Yes, with Apify's built in Schedules. No code and no cron server of your own.
- Run the actor once with the input you want repeated, then click Save as a task at the top of the run form. This keeps your exact input attached for every future run.
- In the Apify Console, go to Schedules in the left sidebar, then Create new.
- Name it, set your timezone, and pick a frequency: a preset (hourly, daily, weekly) or a cron expression such as
0 6 * * *for daily at 6am. - Under Actors or tasks to run, add the task you saved in step 1.
- Save. It then runs unattended, billed the same pay per job way as a manual run. Nothing is charged just for the schedule existing.
Monitor mode: pay only for new jobs
Set monitorMode: true and this actor remembers what it delivered last time, keyed on job_id. On the next scheduled run, only genuinely new jobs are pushed and charged; the summary record reports new_this_run and skipped_duplicates so you can see the dedup working. The first run establishes the baseline (everything counts as new); every run after that is incremental.
Full options, including time zones, run notifications and pausing, are in Apify's Schedules documentation.
Is scraping Naukri jobs legal?
This actor reads only Naukri.com's public job search results, the same listings any visitor can see without logging in. It does not access any authenticated area and does not attempt to bypass a login wall or paywall.
This is general information, not legal advice. If a result set contains personal data, your use of it may fall under data protection laws such as India's DPDP Act, GDPR or CCPA depending on where you and your data subjects are. You are responsible for using the output in line with Naukri's terms and the law that applies to you.
FAQ
Does it log in to Naukri? No. It works from Naukri's own public search API, captured with a brief automated browser session, no account and no manual login.
Why are salaries in lakhs?
Naukri publishes almost every Indian salary as "lacs per annum". The actor parses that string into numeric salary_min_lakhs and salary_max_lakhs fields so you can sort, filter and aggregate compensation directly.
What is the Actor Start fee for? It covers the brief headless browser session the actor runs once per run to capture Naukri's signed search token. It is billed once per run regardless of how many jobs or keywords you request, not per job.
How do I get more than one page of results?
Set maxJobs to whatever budget you want, up to the 1,000 hard cap. The actor follows Naukri's paginated result set until the budget is reached or Naukri runs out of listings for the query.
Can I use it in an AI agent? Yes. It is exposed as an MCP tool. See below.
Can I use Naukri Jobs Scraper through an MCP server? Yes. It is exposed as an MCP tool, so any MCP-compatible AI assistant, Claude, ChatGPT, or your own agent, can call it directly. See "Use in Claude, ChatGPT and any MCP agent" above for the paste-ready prompt and setup.
Use in Claude, ChatGPT and any MCP agent
https://mcp.apify.com/?tools=themineworks/naukri-jobs
Things an agent can ask for once connected:
- "Find 100 Python developer jobs in Bangalore paying at least 15 lakhs."
- "Track new Naukri postings from a specific company this week."
- "Compare hybrid versus remote job counts for data scientist roles across Indian cities."
Copy this into your AI assistant
Paste the line below into ChatGPT, Claude, or any assistant connected to Apify's MCP, and it will run the job for you:
Use the Apify actor themineworks/naukri-jobs to find 100 python developer jobs in Bangalore paying at least 15 lakhs a year in hybrid mode. Return the results as a table.
Or call it programmatically with the Apify client:
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });const run = await client.actor('themineworks/naukri-jobs').call({searchKeywords: ['python developer'],location: 'Bangalore',maxJobs: 100,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Related actors
Found the roles. Now profile the employer and reach the hiring team:
- Shine.com Jobs Scraper: another broad market India job board, useful for cross checking coverage.
- CutShort Jobs Scraper: India tech and startup roles with a structured skills taxonomy.
- Indeed Jobs Scraper: the same kind of listing data across 17 country sites, including India.
- LinkedIn Company Scraper: profile the hiring company by size, industry and HQ.
- LinkedIn Employees Scraper: find the recruiters and hiring managers at any of the companies.
- B2B Leads Finder: turn a target company list into named contacts for outreach.
Typical flow: this actor surfaces the roles, LinkedIn Company Scraper profiles the employer, LinkedIn Employees Scraper finds the hiring team.
Found a bug or have a feature request? Open an issue on the actor's Apify Console page.