# Naukri Scraper - India Jobs, Salaries & Companies (`automly/naukri-jobs-scraper`) Actor

Scrape Naukri.com job listings by keyword, location and filters, or from any Naukri link: title, company, rating, salary, experience, skills, work mode, role, industry, education, applicants and full description.

- **URL**: https://apify.com/automly/naukri-jobs-scraper.md
- **Developed by:** [Automly](https://apify.com/automly) (community)
- **Categories:** Jobs, Lead generation
- **Stats:** 1 total users, 1 monthly users, 46.2% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.27 / 1,000 jobs

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Naukri Scraper - India Jobs, Salaries & Companies

### What is Naukri Scraper?

**Naukri Scraper** is a tool that lets you **scrape job listings from Naukri.com**, India's largest job site: title, company, company rating and reviews, salary in rupees, experience, locations, skills, posting date, work mode, role, department, industry, education, applicant and view counts and the full job description. Search by keyword and location with Naukri's own filters, or add any Naukri link, click **Start**, and download the jobs as Excel, CSV or JSON.

- ⚡ **Fast:** 6,600 jobs from one search in about 20 seconds, or all of them with every detail in under 3 minutes (our tests)
- 🔎 **Whole searches:** every job a search matches, not only the first few hundred
- 🧹 **Clean data:** salary and experience as numbers, posting dates as real dates, skills and locations as lists
- 🔓 **No login:** no Naukri account needed
- 💸 **Free to try:** the $5 of free usage every Apify account gets each month covers about 5,000 jobs with full details (about 12,000 without)

### What can Naukri Scraper do?

- **Scrape Naukri job search results** for any keyword, like `python developer`, `data analyst` or `sales manager`
- **Scrape Naukri jobs by city or region**: Bangalore, Delhi NCR, Mumbai, Pune, Hyderabad, Chennai or anywhere in India
- **Filter Naukri jobs** with the site's own filters: experience, salary range, posted within, work mode (office, hybrid, remote), company type, industry, department, company or consultancy jobs, newest first or by relevance
- **Scrape all Naukri jobs of a company** from its company jobs link
- **Scrape single Naukri job postings** from their links
- **Monitor new Naukri jobs** daily with "Posted within: last 1 day" and a schedule
- Export to Excel, CSV, JSON, HTML or XML, or send the data to Google Sheets, Make, Zapier and more

### What data can you extract from Naukri?

| | | |
|---|---|---|
| 💼 Job title and link | 🏢 Company name, logo and jobs page | ⭐ Company rating and review count |
| 💰 Salary range in INR (or "Not disclosed") | 🎓 Experience range in years | 📍 Locations |
| 🛠️ Skills and preferred skills | 📅 Posting date | 🏠 Work mode: office, hybrid or remote |
| 🧑‍💼 Role and role category | 🗂️ Department | 🏭 Industry |
| 📜 Employment type | 🎓 Education asked for | 👥 Applicants and views |
| 🔢 Openings | 🚶 Walk-in jobs | 📝 Full job description |

### How to scrape Naukri jobs

1. [Create a free Apify account](https://console.apify.com/sign-up).
2. Open **Naukri Scraper**.
3. Enter search keywords and a location, or paste Naukri links, one per line.
4. Pick filters if you like, and set how many jobs you want per search.
5. Click **Start**, then download the jobs as Excel, CSV, JSON or HTML.

### How much does it cost to scrape Naukri jobs?

You pay per job saved. A job with full details (the default) costs more than a job from the list alone (with **Include full job details** turned off):

| Apify plan | Jobs per 1,000 | Jobs with full details per 1,000 |
|---|---|---|
| Free | $0.40 | $1.00 |
| Starter (Bronze) | $0.37 | $0.90 |
| Scale (Silver) | $0.34 | $0.80 |
| Business (Gold) and higher | $0.30 | $0.70 |

Platform usage is included in these prices, so you pay nothing else for the run.

Example: 1,000 jobs with full details cost $1.00 on the Free plan and $0.70 on Business. The same 1,000 jobs from the list alone cost $0.40 on the Free plan.

Every Apify account gets **$5 of free usage each month**, enough for about 12,000 jobs without full details. See the **Pricing** tab for details.

### ⬇️ Input

| Setting | What it does |
|---|---|
| **Search keywords** | Job titles, skills or companies to search for, like `python developer` |
| **Location** | City or region for the keyword searches, like `Bangalore` or `Bangalore, Pune`. Empty for all of India |
| **Naukri links** | Search result pages (`https://www.naukri.com/python-developer-jobs-in-bangalore`, with any filters you set on the site), company job pages (`https://www.naukri.com/infosys-jobs-careers-11244`) and job pages |
| **Max jobs per search or link** | How many jobs to save for each keyword or link (default 100). Set 0 for every matching job |
| **Include full job details** | On by default: adds work mode, employment type, role, department, industry, education, preferred skills, applicants, views and the full description. Turn off for a faster, cheaper list |
| **Sort by** | Newest first (default) or relevance |
| **Posted within** | Last 1, 3, 7, 15 or 30 days |
| **Your experience (years)** | Only jobs open to someone with this many years (0 for freshers) |
| **Salary** | One or more ranges, from 0-3 lakhs to 1 crore+ a year |
| **Work mode** | Work from office, hybrid, remote |
| **Company type** | Foreign MNC, Indian MNC, corporate, startup, Govt/PSU, MNC, others |
| **Posted by** | Companies or recruitment consultancies |
| **Industries** and **Departments** | Names as Naukri shows them, like `Software Product` or `Data Science & Analytics` |
| **Connection settings** | The default works for most runs |

Remote and hybrid Python jobs in Bangalore posted in the last 7 days:

```json
{
  "keywords": ["python developer"],
  "location": "Bangalore",
  "workModes": ["remote", "hybrid"],
  "postedWithin": "7",
  "maxItems": 200
}
```

Every job of a company, and a search page copied from Naukri with its filters:

```json
{
  "startUrls": [
    "https://www.naukri.com/infosys-jobs-careers-11244",
    "https://www.naukri.com/data-analyst-jobs-in-new-delhi?experience=2&jobAge=7"
  ],
  "maxItems": 0
}
```

Fresher jobs at startups, paying 3-6 lakhs, list only:

```json
{
  "keywords": ["software engineer", "frontend developer"],
  "experience": 0,
  "companyTypes": ["startup"],
  "salaryRanges": ["3to6"],
  "includeDetails": false
}
```

### ⬆️ Output

Every job is one row. A job with full details:

```json
{
  "jobId": "011026022771",
  "url": "https://www.naukri.com/job-listings-python-software-developer-hexaware-technologies-bengaluru-5-to-10-years-011026022771",
  "title": "Python Software Developer",
  "companyName": "Hexaware Technologies",
  "companyId": "16564",
  "companyJobsUrl": "https://www.naukri.com/hexaware-technologies-jobs-careers-9815",
  "companyLogo": "https://img.naukimg.com/logo_images/groups/v1/12466.gif",
  "companyRating": 3.4,
  "companyReviewCount": 8456,
  "companyReviewsUrl": "https://www.ambitionbox.com/reviews/hexaware-technologies-reviews",
  "companyWebsite": null,
  "companyDescription": "Hexaware is a fast growing automation-led next-generation service provider delivering excellence in IT, BPO and Consulting services...",
  "location": "Bengaluru",
  "locations": ["Bengaluru"],
  "experienceText": "5-10 Yrs",
  "experienceMin": 5,
  "experienceMax": 10,
  "salaryText": "12-20 Lacs P.A.",
  "salaryMin": 1200000,
  "salaryMax": 2000000,
  "salaryCurrency": "INR",
  "salaryDisclosed": true,
  "workMode": "Hybrid",
  "employmentType": "Full Time, Permanent",
  "role": "Software Development - Other",
  "roleCategory": "Software Development",
  "department": "Engineering - Software & QA",
  "industry": "IT Services & Consulting",
  "educationUG": ["B.Tech / B.E. in Any Specialization"],
  "educationPG": [],
  "educationDoctorate": [],
  "skills": ["Message Queue - RabitMQ", "Fast API", "Ai Platform", "Python", "Kafka"],
  "preferredSkills": ["Message Queue - RabitMQ", "Fast API", "Ai Platform", "Python"],
  "applicants": 156,
  "views": 302,
  "vacancies": 100,
  "postedAt": "2026-10-01T10:01:15Z",
  "postedText": "1 Day Ago",
  "walkIn": false,
  "postedByConsultant": false,
  "applyUrl": null,
  "descriptionText": "Role: Python software developer\n\nExperience: 5-10years\n\nSkill: Python, FastAPI, Message Queue - RabitMQ or similar tools and AI tools...",
  "descriptionHtml": "<p><strong>Role: Python software developer </strong></p><br /><p><strong>Experience: 5-10years</strong></p>...",
  "source": "python developer in Bangalore",
  "scrapedAt": "2026-10-02T07:53:23Z"
}
```

Salaries are in rupees a year. When the employer hides the salary, `salaryText` says "Not Disclosed" and the numbers are empty. The **Overview** tab shows the main fields as a table; every field is in the downloads. The run report lists how many jobs Naukri has for each search and how many were saved, and names any job link that is no longer on Naukri.

### Which fields need full details?

| Field | List only | With full details |
|---|---|---|
| Title, company, rating, location, experience, salary, skills, posting date | ✅ | ✅ |
| Description | short summary | full text |
| Work mode, employment type, role, department, industry | | ✅ |
| Education, preferred skills, applicants, views | | ✅ |
| Company website and description | | ✅ |

With full details off, the work mode and applicants columns of the **Overview** tab stay empty.

### How can I use Naukri data?

- **Job market research:** demand for skills, roles and cities across India, and how it changes week to week
- **Salary benchmarking:** published salary ranges by role, experience and city
- **Recruitment and staffing:** find companies hiring for the roles you place, with their ratings and openings
- **Lead generation for HR tech and training:** companies hiring in volume, by industry and company type
- **Job boards and aggregators:** fresh Indian job listings with clean, structured fields
- **Career planning:** which skills and degrees employers ask for in a role

### How many jobs can I get?

Practically every job a search matches. A search with 60,000 matching jobs gives close to 60,000 rows when you set **Max jobs** to 0 (in our tests 99% or more of the count Naukri shows; jobs posted or taken down during the run account for the rest). A job that turns up in two of your searches is saved once. With **Sort by: relevance**, Naukri may reorder a few jobs during a long search; **newest first** gives the most complete result.

### Scrape more jobs data

| Actor | What it gets |
|---|---|
| [LinkedIn Jobs Scraper](https://apify.com/automly/linkedin-jobs-scraper) | LinkedIn job listings with salaries, company info and descriptions |
| [HiringCafe Jobs Scraper](https://apify.com/automly/hiringcafe-jobs-scraper) | HiringCafe jobs with salary ranges, experience, skills and apply links |
| [LinkedIn Company Employees Scraper + Emails (No Login)](https://apify.com/automly/linkedin-company-employees-scraper) | A company's employees from LinkedIn, filtered by job title |
| [LinkedIn People Search Scraper (No Login)](https://apify.com/automly/linkedin-people-search-scraper) | LinkedIn profiles by job title, company, location or school |
| [Google Maps Scraper](https://apify.com/automly/google-maps-scraper) | Businesses from Google Maps with addresses, phones, websites and ratings |

### ❓FAQ

#### How much does it cost to scrape Naukri?

$1.00 per 1,000 jobs with full details, or $0.40 per 1,000 jobs from the list alone, on the Free plan, less on paid plans. See the **How much does it cost to scrape Naukri jobs?** section above. **Max jobs per search or link** keeps the cost of a run under control, and you can also set a maximum cost per run.

#### Can I scrape Naukri jobs from a link I copied?

Yes. Paste any Naukri search page, with the filters you set on the site, a company's jobs page or a single job page into **Naukri links**. Filters you set in the input are added to a link that does not already have them.

#### Can I get only new jobs every day?

Yes. Set **Posted within** to the last 1 day, keep **Sort by** on newest first, and run the scraper on a schedule.

#### Do I need a Naukri account?

No. The scraper gets the same public job listings anyone can see on Naukri without signing in, with no cookies or API key. It does not collect recruiter contact details or job seekers' data.

#### What happens with a job that was taken down or a wrong link?

The run goes on with the other inputs, and the run report names the job links that are no longer on Naukri. A link that is not a Naukri search, company jobs or job page is named in the error message before the run starts.

#### Can I call it as an API?

Yes. Run it through the Apify API from any language, or use its real-time API (`/jobs?keyword=...&location=...`), which answers with the jobs directly without starting a run.

#### Can I connect Naukri Scraper to other tools or AI agents?

Yes. Start runs and download results with the Apify API or the Python and JavaScript clients, send results to Make, Zapier, n8n, Google Sheets or Slack with Apify integrations and webhooks, or let AI assistants and agents run it through the Apify MCP server at [mcp.apify.com](https://mcp.apify.com).

#### Is it legal to scrape Naukri?

This scraper only collects public job listings that anyone can see on Naukri without signing in. Job descriptions can still name people, and personal data may be protected by laws such as GDPR and India's data protection law, so only use the data for a legitimate reason, do not use it to contact people without one, and ask a lawyer if you are unsure. You can read more in [Is web scraping legal?](https://blog.apify.com/is-web-scraping-legal/)

Naukri Scraper is an independent tool. It is not affiliated with, endorsed by or sponsored by Naukri.com or Info Edge.

#### Something isn't working?

Open an issue in the **Issues** tab with your input and what you expected. We read every one and usually reply within a day.

### ⭐ Your feedback

Have an idea or found a problem? Tell us in the **Issues** tab. If Naukri Scraper saved you time, a short review on the **Reviews** tab helps other people find it.

# Actor input Schema

## `keywords` (type: `array`):

Job titles, skills or companies to search Naukri for, one per line ("python developer", "data analyst", "sales manager").

## `location` (type: `string`):

City or region in India for the keyword searches, like "Bangalore", "Delhi NCR" or "Pune". Several places: separate them with commas. Leave empty for all of India.

## `startUrls` (type: `array`):

Paste Naukri links in any mix: search result pages (naukri.com/python-developer-jobs-in-bangalore, with any filters you set on the site), company job pages (naukri.com/infosys-jobs-careers-11244) and single job pages (naukri.com/job-listings-...).

## `maxItems` (type: `integer`):

How many jobs to save for each keyword or link. Set 0 for every matching job.

## `includeDetails` (type: `boolean`):

Adds work mode, employment type, role, department, industry, education, preferred skills, applicant and view counts to every job. Turn off for a faster, cheaper list with the main fields only.

## `sortBy` (type: `string`):

Order in which jobs are collected. Newest first is the most complete when you collect a whole search.

## `postedWithin` (type: `string`):

Only jobs posted in this period.

## `experience` (type: `integer`):

Only jobs open to someone with this many years of experience (0 for freshers).

## `salaryRanges` (type: `array`):

Only jobs paying in these ranges. Pick several to combine them.

## `workModes` (type: `array`):

Only jobs with these work modes.

## `companyTypes` (type: `array`):

Only jobs at these kinds of companies.

## `postedBy` (type: `string`):

Only jobs posted by the hiring company itself, or only by recruitment consultancies.

## `industries` (type: `array`):

Only jobs in these industries, named as on Naukri ("IT Services & Consulting", "Software Product", "Banking").

## `departments` (type: `array`):

Only jobs in these departments, named as on Naukri ("Engineering - Software & QA", "Data Science & Analytics", "Sales & Business Development").

## `proxyConfiguration` (type: `object`):

Apify Proxy works out of the box.

## Actor input object example

```json
{
  "keywords": [
    "python developer"
  ],
  "location": "Bangalore",
  "maxItems": 50,
  "includeDetails": true,
  "sortBy": "date",
  "postedWithin": "any",
  "postedBy": "any",
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

## `jobs` (type: `string`):

No description

## `results` (type: `string`):

No description

## `report` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "keywords": [
        "python developer"
    ],
    "location": "Bangalore",
    "maxItems": 50,
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("automly/naukri-jobs-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "keywords": ["python developer"],
    "location": "Bangalore",
    "maxItems": 50,
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("automly/naukri-jobs-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "keywords": [
    "python developer"
  ],
  "location": "Bangalore",
  "maxItems": 50,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call automly/naukri-jobs-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,automly/naukri-jobs-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/u0wNAwBVpvfojeIcT/builds/uagZJIHWebJpkuupw/openapi.json
