# Naukri Jobs Scraper: Keyword, City, Experience | $1/1K (`one_dollar_store/naukri-job-listings-scraper`) Actor

$1 per 1,000 results, platform usage included. Naukri.com jobs by keyword, city, experience, salary band and work mode: title, company and rating, salary, skills, location, posting date and job link. No login.

- **URL**: https://apify.com/one_dollar_store/naukri-job-listings-scraper.md
- **Developed by:** [One Dollar Store](https://apify.com/one_dollar_store) (community)
- **Categories:** Jobs, Lead generation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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 Jobs Scraper: Jobs, Salaries and Skills by Keyword and City

**$1 per 1,000 jobs. Platform usage included. No rental, no minimum.**

One row per Naukri.com job: title, company and its AmbitionBox rating, experience, salary when shown, city, work mode, skills, posting date and job link. No login.

[Open it in Apify Console](https://console.apify.com/actors/p6YT3Xn3zha6J7Kbp/input)

### What it costs

| Jobs | This actor |
|---|---|
| 1,000 | $1.00 |
| 10,000 | $10.00 |
| 100,000 | $100.00 |

Plus $0.001 per run. One run returns up to 3,000 jobs. One flat price, platform usage included, so there is no separate compute or proxy bill. A daily run of 200 jobs costs $0.201, or about $6 a month.

### Why use it

- **One flat price.** The 1 GB browser and Indian residential proxy the run needs are included, so the bill follows the number of jobs.
- **Naukri's own filters.** Experience, salary bands, work mode and posting date, set the way Naukri's filter buttons set them.
- **Salary as numbers.** Rupees and lakhs a year from Naukri's own salary fields, not read from text. Hidden salaries are flagged.
- **Clean rows.** A job found by two searches is returned once, and only job rows are charged.

### Quick start

1. Open the actor, type a job title or skill and a city, press **Start**.
2. Or paste this input:

```json
{ "keywords": ["python developer"], "locations": ["Bangalore"], "experienceYears": 3, "maxItems": 40 }
```

3. Download the results as JSON, CSV or Excel, or read them through the API.

### Use it from code

```bash
curl -X POST "https://api.apify.com/v2/acts/one_dollar_store~naukri-job-listings-scraper/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"keywords": ["python developer"], "locations": ["Bangalore"], "experienceYears": 3, "maxItems": 40}'
```

```python
from apify_client import ApifyClient

client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("one_dollar_store/naukri-job-listings-scraper").call(
    run_input={"keywords": ["python developer"], "locations": ["Bangalore"], "experienceYears": 3, "maxItems": 40}
)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item["title"], item.get("company"), item.get("salaryText"), item.get("jobUrl"))
```

### Use it from an AI assistant

Claude, ChatGPT, Cursor and other assistants can call this actor through Apify's MCP server. Add it with this server address:

```
https://mcp.apify.com?tools=one_dollar_store/naukri-job-listings-scraper
```

Then ask, for example: "Find 100 remote data engineer jobs on Naukri posted in the last 7 days."

### Switching from another Naukri actor

Search terms go in `keywords` (a list, so one run covers many searches), cities in `locations`, the limit in `maxItems`. Single `keyword`, `query` or `location` values also work. Naukri page links are not taken. The core fields are `title`, `company`, `experienceText`, `salaryText`, `location`, `postedAt` and `jobUrl`.

### Input

| Field | Type | Default | What it does |
|---|---|---|---|
| `keywords` | list of text | required | Job titles, skills or companies. Each is a separate search. |
| `locations` | list of text | empty | Cities, each a separate search. Empty means all of India. |
| `experienceYears` | number | none | Naukri's experience filter: jobs open to someone with this many years. |
| `salaryRanges` | list of choices | none | Naukri's salary bands in lakh rupees a year: `0to3`, `3to6`, `6to10`, `10to15`, `15to25`, `25to50`, `50to75`, `75to100`. |
| `workMode` | choice | `any` | `office`, `hybrid` or `remote`. |
| `postedWithinDays` | choice | `any` | Posted in the last `1`, `3`, `7`, `15` or `30` days. |
| `maxItems` | number | 100 | Stop after this many jobs (minimum 10, maximum 3,000). |
| `proxyConfiguration` | proxy | Indian residential | Leave as is unless you have an Indian proxy. |

### Output fields

| Field | Meaning |
|---|---|
| `jobId`, `title`, `jobUrl` | Job id, title and Naukri job page. |
| `company`, `companyId`, `companyUrl`, `companyLogo` | Employer and its Naukri page. |
| `companyRating`, `companyReviews` | AmbitionBox rating and reviews, as shown on Naukri. |
| `experienceMinYears`, `experienceMaxYears`, `experienceText` | Experience asked for. |
| `salaryText`, `salaryMin`, `salaryMax`, `salaryMinLakhs`, `salaryMaxLakhs`, `salaryCurrency`, `salaryHidden` | Pay a year from Naukri's salary fields. Left out when hidden. |
| `location`, `locations`, `workMode` | Place as shown, cities, and `office`, `hybrid` or `remote`. |
| `skills`, `descriptionSnippet` | Skill tags and the results page text. |
| `postedAt`, `postedText` | Posting time and Naukri's label, such as "5 Days Ago". |
| `vacancies`, `walkIn`, `postedByConsultant`, `applyOnCompanySite` | Flags when Naukri shows them. |
| `searchKeyword`, `searchLocation`, `scrapedAt` | Which search found the job, and when. |

### Sample results

Real rows from test runs on 4 October 2026 (some fields and skills left out, links shortened).

```json
[
  {"jobId": "300926014291", "title": "Business Analyst", "company": "PERSOL", "experienceText": "2-5 Yrs",
   "salaryText": "10-12 Lacs PA", "salaryMinLakhs": 10, "salaryMaxLakhs": 12, "location": "Hybrid - Pune",
   "workMode": "hybrid", "skills": ["Business Analytics", "BI Tools", "SQL"], "postedAt": "2026-09-30T07:36:51.798Z",
   "jobUrl": "https://www.naukri.com/job-listings-business-analyst-persol-pune-2-to-5-years-300926014291"},
  {"jobId": "140826030866", "title": "CAT - Sr Risk Analyst | Noida/Gurugram & Pune", "company": "Xceedance",
   "companyRating": 3.5, "companyReviews": 1071, "experienceText": "2-4 Yrs", "salaryText": "5-9 Lacs PA",
   "salaryMinLakhs": 5, "salaryMaxLakhs": 9, "location": "Hybrid - Pune, Noida, Gurugram", "postedText": "3 Days Ago",
   "jobUrl": "https://www.naukri.com/job-listings-cat-sr-risk-analyst-noida-gurugram-pune-xceedance-..."},
  {"jobId": "190826038442", "title": "Backend Python Developer", "company": "Infosys", "companyRating": 3.5,
   "companyReviews": 52733, "experienceText": "2-3 Yrs", "salaryText": "Not disclosed", "salaryHidden": true,
   "location": "Hyderabad, Chennai, Bengaluru", "workMode": "office", "skills": ["Django", "MySQL", "Python"],
   "jobUrl": "https://www.naukri.com/job-listings-backend-python-developer-infosys-hyderabad-chennai-..."}
]
```

### Limits

- Naukri shows 20 jobs per page, and each page takes roughly 10 to 20 seconds in the browser, so large runs take time.
- The run needs 1 GB of memory for the browser; that is the default.
- `descriptionSnippet` is the text from the results page, not the full job description.
- Naukri's salary bands also match jobs whose salary is hidden on the listing.
- If Naukri refuses a visit or asks for a check, that search stops; the actor never tries to get past a check. After two refusals it stops the run and keeps what it found.

### FAQ

**How much does it cost to scrape 10,000 Naukri jobs?**
$10, plus $0.001 for each run. One run returns up to 3,000 jobs, so 10,000 jobs take at least four runs.

**Do I pay for compute or proxy on top?**
No. Platform usage, including the browser and the Indian residential proxy, is included in the $1 per 1,000 price.

**Do I need a Naukri account?**
No. The actor reads public results pages only.

**Why residential addresses?**
Naukri does not answer searches from Apify's own servers. The proxy carries only Naukri's page and its search answers.

**What is in the run summary?**
The key-value store record `RUN_SUMMARY` lists, per search, Naukri's job count, pages read, rows and why it stopped.

**Is it legal?**
The actor collects only public job listings that anyone can see without logging in. You are responsible for using the data in line with Naukri's terms and the law where you work, including data protection rules.

**Is this an official Naukri product?**
No. It is an independent tool and is not affiliated with or endorsed by Naukri.com.

**Something broke?**
Open an issue on the Issues tab with the input you used.

**Do I need an Apify account?**
Yes. Actors run from an Apify account, and a free account is enough to start: it includes $5 of platform usage every month. You can [sign up here](https://www.apify.com?fpr=ymnoit). This is a referral link and it costs you nothing.

**Is there a limit on the free plan?**
Yes. A run started from a free plan account delivers the first 10 results, then ends with a message and a link to the plans. Any paid plan returns everything you ask for, up to your own limit. The price per result is the same on every plan.

### More from The One Dollar Store

Every actor here costs $1 per 1,000 results, platform usage included.

**Google and search**

- [Google News Scraper](https://apify.com/one_dollar_store/google-news-articles-scraper): News articles by keyword, topic or country.
- [Google Maps Leads Scraper](https://apify.com/one_dollar_store/google-maps-leads-scraper): Local businesses with phones, websites and emails.
- [Google Ads Transparency Scraper](https://apify.com/one_dollar_store/google-ads-transparency-scraper): Ads any advertiser or domain runs on Google.

**Maps and local business**

- [2GIS Business Scraper](https://apify.com/one_dollar_store/2gis-business-scraper): Businesses in Russia, Central Asia and the UAE.
- [Yandex Maps Scraper](https://apify.com/one_dollar_store/yandex-maps-business-scraper): Businesses on Yandex Maps around any city.
- [IndiaMART Supplier Scraper](https://apify.com/one_dollar_store/indiamart-supplier-scraper): Indian suppliers for any product, with phones.

**Social media**

- [Threads Scraper](https://apify.com/one_dollar_store/threads-post-scraper): Public Threads posts by keyword or profile.
- [Instagram Profile Scraper](https://apify.com/one_dollar_store/instagram-profile-data-scraper): Followers, posts and engagement for public profiles.
- [TikTok Hashtag Scraper](https://apify.com/one_dollar_store/tiktok-hashtag-videos-scraper): Videos, views and creators for any hashtag.
- [Pinterest Pin Search Scraper](https://apify.com/one_dollar_store/pinterest-pin-search-scraper): Public pins with images and outbound links.
- [Telegram Channel Scraper](https://apify.com/one_dollar_store/telegram-channel-posts-scraper): Posts, views and media from public channels.
- [Xiaohongshu Scraper](https://apify.com/one_dollar_store/xiaohongshu-explore-feed-scraper): RedNote notes from the public explore feeds.
- [Facebook Ad Library Scraper](https://apify.com/one_dollar_store/facebook-ad-library-scraper): Meta ads by keyword or advertiser page.

**Shopping**

- [Amazon Reviews Scraper](https://apify.com/one_dollar_store/amazon-product-reviews-scraper): Public reviews for any Amazon product.
- [AliExpress Product Scraper](https://apify.com/one_dollar_store/aliexpress-product-search-scraper): Products with prices, orders sold and ratings.
- [Etsy Scraper](https://apify.com/one_dollar_store/etsy-listings-scraper): Listings with prices, shops and badges.
- [Carsales Scraper](https://apify.com/one_dollar_store/carsales-car-listings-scraper): Australian car listings with prices and specs.

**Real estate**

- [Zillow Rentals Scraper](https://apify.com/one_dollar_store/zillow-rentals-scraper): US rentals by city, ZIP or search link.
- [Zillow Sold Homes Scraper](https://apify.com/one_dollar_store/zillow-sold-homes-scraper): Recently sold US homes with prices and dates.
- [Zillow Photos Scraper](https://apify.com/one_dollar_store/zillow-listing-photos-scraper): Every photo of a Zillow listing.

**Jobs**

- [Foundit Jobs Scraper](https://apify.com/one_dollar_store/foundit-jobs-search-scraper): Indian jobs with salary and experience filters.

**Company records**

- [Bundesanzeiger Scraper](https://apify.com/one_dollar_store/bundesanzeiger-filings-scraper): German company filings and notices.
- [US Business Registry Search](https://apify.com/one_dollar_store/us-business-registry-search): Company records from 6 US state registries.

### Changelog

- October 2026: first release.

# Actor input Schema

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

Job titles, skills or companies to search, for example "python developer". Each keyword is a separate search; a job found twice is returned once.

## `locations` (type: `array`):

Cities to search in, for example "Bangalore" or "Pune". Each city is a separate search. Leave empty for all of India.

## `experienceYears` (type: `integer`):

Naukri's own experience filter: only jobs open to someone with this many years. Leave empty for any experience.

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

Naukri's own salary bands. Pick one or more, or leave empty for any salary. Naukri also matches jobs whose salary is hidden on the listing.

## `workMode` (type: `string`):

Office, hybrid or remote jobs only. Leave on Any for all.

## `postedWithinDays` (type: `string`):

Only jobs posted in this period. Leave on Any time for all.

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

Stop after this many jobs in total (minimum 10, maximum 3,000). Naukri shows 20 jobs per page.

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

Where the browser connects from. Naukri turns away Apify's own addresses, so the default is Indian residential addresses. Only Naukri's page and search answers use the proxy; its scripts load directly.

## Actor input object example

```json
{
  "keywords": [
    "python developer"
  ],
  "locations": [
    "Bangalore"
  ],
  "workMode": "any",
  "postedWithinDays": "any",
  "maxItems": 40,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "IN"
  }
}
```

# Actor output Schema

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

No description

## `summary` (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"
    ],
    "locations": [
        "Bangalore"
    ],
    "maxItems": 40,
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ],
        "apifyProxyCountry": "IN"
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("one_dollar_store/naukri-job-listings-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"],
    "locations": ["Bangalore"],
    "maxItems": 40,
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
        "apifyProxyCountry": "IN",
    },
}

# Run the Actor and wait for it to finish
run = client.actor("one_dollar_store/naukri-job-listings-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"
  ],
  "locations": [
    "Bangalore"
  ],
  "maxItems": 40,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "IN"
  }
}' |
apify call one_dollar_store/naukri-job-listings-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,one_dollar_store/naukri-job-listings-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/p6YT3Xn3zha6J7Kbp/builds/REzrAuvVR6QkmMhJ8/openapi.json
