# Naukri.com Scraper - India Jobs, Salary & Descriptions (`thirdwatch/naukri-jobs-scraper`) Actor

Scrape Naukri.com job listings with full descriptions, structured salary data, skills, experience, and company ratings. India's largest job portal. 20+ cities covered. Fast and full scrape modes available. No login needed.

- **URL**: https://apify.com/thirdwatch/naukri-jobs-scraper.md
- **Developed by:** [Thirdwatch](https://apify.com/thirdwatch) (community)
- **Categories:** Other
- **Stats:** 4 total users, 1 monthly users, 100.0% runs succeeded, 3 bookmarks
- **User rating**: 5.00 out of 5 stars

## Pricing

Pay per usage

This Actor is paid per platform usage. The Actor is free to use, and you only pay for the Apify platform usage, which gets cheaper the higher subscription plan you have.

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

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.
Actors are written with capital "A".

## 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.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## Naukri.com Scraper - India Jobs, Salary & Descriptions

> Scrape thousands of job listings from Naukri.com -- India's #1 job portal with 50M+ monthly visits.

### What you get

Extract full job descriptions, salary ranges, required skills, experience levels, company information, and direct apply links from Naukri.com. Covers 20+ Indian cities and all industries.

No Naukri account needed. No API key required. Just provide your search queries and get structured job data in JSON, CSV, or Excel.

Try it free -- click **Start** in the Input tab.

### Why scrape Naukri.com?

Naukri.com dominates the Indian job market with 80%+ market share. Whether you're building an HR analytics tool, a job aggregator, a salary benchmarking platform, or tracking hiring trends -- Naukri is the definitive source for Indian employment data.

**Use cases:**
- Job aggregation platforms covering India
- Salary benchmarking and compensation analytics
- Hiring trend analysis by role, city, and industry
- Competitor hiring intelligence
- Recruitment automation and candidate sourcing
- Academic research on the Indian labor market

### Output fields

| Field | Description |
|-------|-------------|
| `title` | Job title |
| `company_name` | Hiring company |
| `location` | Job location(s) |
| `salary` | Salary range (when disclosed, e.g., "25-30 Lacs PA") |
| `experience` | Required experience (e.g., "5-8 Yrs") |
| `skills` | Required skills |
| `description` | Full job description (3,000-5,000 characters) |
| `posted_at` | When posted |
| `apply_url` | Direct application link |

### Example output

```json
{
    "title": "Software Engineer",
    "company_name": "Cisco",
    "location": "Bengaluru, Hyderabad",
    "salary": "Not disclosed",
    "experience": "0-1 Yrs",
    "skills": ["Python", "Java", "Agile", "Unit Testing"],
    "description": "Please note this posting is to advertise potential job opportunities...",
    "posted_at": "1 day ago",
    "apply_url": "https://www.naukri.com/job-listings-software-engineer-cisco-..."
}
````

### Input parameters

| Parameter | Required | Description |
|-----------|----------|-------------|
| `queries` | Yes | Search queries (e.g., "software engineer bangalore", "data analyst mumbai") |
| `maxResultsPerQuery` | No | Max results per query (default: 20) |

### Pricing

| Jobs | Estimated cost |
|------|---------------|
| 20 | ~$0.04 |
| 100 | ~$0.20 |
| 500 | ~$1.00 |
| 1,000 | ~$2.00 |

Pay-per-result pricing at $0.002 per job listing.

### Tips

- **Be specific** -- "python developer bangalore" gets better results than "developer"
- **One city per query** -- Naukri returns different results per city
- **Run during Indian night** (UTC 18:00-02:00) for faster page loads
- **Use the Apify scheduler** to run daily and track new listings automatically

### Integrations

Connect Naukri job data to your workflow:

- **Google Sheets** -- auto-export to spreadsheet
- **Webhooks** -- trigger on new data
- **API** -- access results via Apify API
- **Zapier / Make** -- connect to 1000+ apps

### FAQ

**Do I need a Naukri account?**
No. The scraper accesses only publicly visible job listings.

**Why are some salaries "Not disclosed"?**
Many Indian companies choose not to display salary on Naukri. This is a platform limitation.

**How often should I run it?**
For fresh listings, daily runs with 10-20 queries cover the most active Indian tech job market.

### Related Actors

- [LinkedIn Jobs Scraper](https://apify.com/thirdwatch/linkedin-jobs-scraper) -- Global job listings, salary, skills. 30+ countries
- [CutShort Tech Jobs Scraper](https://apify.com/thirdwatch/cutshort-jobs-scraper) -- India tech jobs, salary, skills, funding stage
- [Indeed.com Jobs Scraper](https://apify.com/thirdwatch/indeed-jobs-scraper) -- Global job listings with 22 fields

### Changelog

- **v1.0** -- Initial release with full description extraction, salary, skills, and search support

# Actor input Schema

## `queries` (type: `array`):

Job search queries (e.g., 'software engineer bangalore'). Each query scrapes one search results page.

## `maxResultsPerQuery` (type: `integer`):

Max jobs per query. Naukri shows ~20 per search page.

## `scrapeMode` (type: `string`):

Full mode: complete data with descriptions, salary, ratings via API interception. Returns the most comprehensive job data available.

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

anti-bot

## Actor input object example

```json
{
  "queries": [
    "software engineer bangalore"
  ],
  "maxResultsPerQuery": 20,
  "scrapeMode": "full",
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

# 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 = {
    "queries": [
        "software engineer bangalore"
    ],
    "maxResultsPerQuery": 20
};

// Run the Actor and wait for it to finish
const run = await client.actor("thirdwatch/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 = {
    "queries": ["software engineer bangalore"],
    "maxResultsPerQuery": 20,
}

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

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

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

```

## CLI example

```bash
echo '{
  "queries": [
    "software engineer bangalore"
  ],
  "maxResultsPerQuery": 20
}' |
apify call thirdwatch/naukri-jobs-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=thirdwatch/naukri-jobs-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Naukri.com Scraper - India Jobs, Salary & Descriptions",
        "description": "Scrape Naukri.com job listings with full descriptions, structured salary data, skills, experience, and company ratings. India's largest job portal. 20+ cities covered. Fast and full scrape modes available. No login needed.",
        "version": "1.0",
        "x-build-id": "Lekgxha8AatagpJsw"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/thirdwatch~naukri-jobs-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-thirdwatch-naukri-jobs-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/thirdwatch~naukri-jobs-scraper/runs": {
            "post": {
                "operationId": "runs-sync-thirdwatch-naukri-jobs-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/thirdwatch~naukri-jobs-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-thirdwatch-naukri-jobs-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "queries"
                ],
                "properties": {
                    "queries": {
                        "title": "Job Search Queries",
                        "type": "array",
                        "description": "Job search queries (e.g., 'software engineer bangalore'). Each query scrapes one search results page.",
                        "default": [
                            "software engineer bangalore"
                        ],
                        "items": {
                            "type": "string"
                        }
                    },
                    "maxResultsPerQuery": {
                        "title": "Max Results Per Query",
                        "minimum": 1,
                        "maximum": 20,
                        "type": "integer",
                        "description": "Max jobs per query. Naukri shows ~20 per search page.",
                        "default": 20
                    },
                    "scrapeMode": {
                        "title": "Scrape Mode",
                        "enum": [
                            "full"
                        ],
                        "type": "string",
                        "description": "Full mode: complete data with descriptions, salary, ratings via API interception. Returns the most comprehensive job data available.",
                        "default": "full"
                    },
                    "proxyConfiguration": {
                        "title": "Proxy Configuration",
                        "type": "object",
                        "description": "anti-bot",
                        "default": {
                            "useApifyProxy": true,
                            "apifyProxyGroups": [
                                "RESIDENTIAL"
                            ]
                        }
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
