# Naukri Jobs Scraper - Salary, Skills, Applicants & Details (`scrapersdelight/naukri-jobs-scraper`) Actor

Scrape Naukri.com jobs: title, company, experience, salary in LPA, locations, work mode, skills, posted date, full description, applicants, views, education, walk-in venue and AmbitionBox rating. Naukri's filters, company job lists, search URLs, job ids, monitor mode. No login.

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

## Pricing

$0.09 / 1,000 jobs

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

### What does Naukri Jobs Scraper do?

**Naukri Jobs Scraper** exports jobs from [Naukri.com](https://www.naukri.com), India's largest job portal, into a clean table: one row per job with the title, company, experience range, salary (as shown and in lakhs per annum), locations, work mode, key skills, posted date, the full job description, how many people applied and viewed it, the industry, department and role, the education asked for, walk-in venue and timings, and the company's AmbitionBox rating, salary band and benefits. Recruiters, staffing agencies, salary researchers, job boards and HR-tech teams use it to track who is hiring in India, where, and at what pay.

*Naukri scraper · Naukri jobs API · naukri.com job export · Naukri job listings to CSV*

- 🔎 **Search like the site does:** keywords x Indian cities, with Naukri's own filters - freshness, experience, work mode, salary band, posted by, company type, walk-ins, internships, department, industry, role, education and top companies.
- 🏢 **Every job of a company:** paste its Naukri jobs or overview page, its group id, or just its name.
- 📋 **Or paste URLs:** Naukri search pages (every filter on the page is kept), company pages, job pages or job ids.
- 📄 **The full job page on every row by default:** description, applicants, views, openings, industry, department, role, education, company profile and AmbitionBox - same price per job.
- 💰 **Salary you can sort on:** the text Naukri shows plus min/max in INR and in lakhs per annum.
- 🚶 **Walk-in drives:** dates, timings, venue and the contact person as published.
- 🔁 **Monitor mode:** only NEW or UPDATED jobs on scheduled runs, with alerts to Slack, Discord, Telegram, WhatsApp or any webhook.
- 🤖 **Compact output** for AI agents and MCP, plus raw Naukri objects for full fidelity.
- ✅ **No login, no cookies, no API key.**

### What data can you get from Naukri?

| | | |
|---|---|---|
| 🆔 Job id and URL | 💼 Title | 🏢 Company, company id, group id |
| 🔗 Company jobs page + overview page | 📝 About the company + address | 🧑‍💼 Consultant flag, "hiring for" |
| 🎓 Experience text, min, max | 💰 Salary text, min/max INR, LPA | 🙈 Salary hidden flag |
| 📍 Locations | 🏠 Work mode (office / hybrid / remote) | 🛠️ Skills (all, preferred, other) |
| 📅 Posted date, label, days ago | 📄 Description (HTML, text, Markdown) | 🧾 Naukri's job summary |
| 👥 Applicants (`applyCount`) | 👀 Views (`viewCount`) | 🪑 Openings + applicants per opening |
| 🏭 Industry, department, role category, role | 📃 Employment type, job type | 🎓 UG / PG qualifications |
| 🚶 Walk-in dates, timings, venue, contact | 🎒 Internship stipend, duration, start | 📨 Apply type + employer's apply link |
| ⭐ AmbitionBox rating + review count | 💵 AmbitionBox salary band for the role | 🎁 AmbitionBox benefits, reviews, interview questions |
| ✉️ Emails printed in the ad | 🏷️ Naukri tags | 🔁 Monitor change type, first/last seen |

### How to scrape Naukri with Naukri Jobs Scraper

1. [Sign up for a free Apify account](https://console.apify.com/sign-up) (the free plan includes monthly credit).
2. Open **Naukri Jobs Scraper** and click **Try for free**.
3. Type one or more keywords (e.g. `data analyst`) and cities (e.g. `Bengaluru`), or add companies, Naukri URLs or job ids.
4. Pick filters (posted within, experience, work mode, salary…) and **Max jobs**.
5. Click **Start**. The prefilled search (`data analyst` in `Bengaluru`, 10 jobs with details) finishes in a few seconds.
6. Download the jobs as JSON, CSV, Excel or HTML, or read them through the API.

### ⬇️ Input

| Section | Parameter | Type | Description |
|---|---|---|---|
| What to scrape | `keywords` | array | Job titles, skills or designations. Each keyword runs in each location. Prefilled `["data analyst"]`. |
| | `locations` | array | Indian cities or areas (`Bengaluru`, `Delhi / NCR`, `Remote`). Empty or `India` = all of India. Prefilled `["Bengaluru"]`. |
| | `companies` | array | Company jobs page, overview page, group id (`12466`) or company name (`Infosys`). |
| | `startUrls` | array | Naukri search pages (filters kept), company pages or job pages. |
| | `jobIds` | array | Naukri job ids, e.g. `160126029546`. |
| Filters (applied by Naukri) | `sortBy` | string | `relevance` (default) or `date`. |
| | `postedWithinDays` | string | 1, 3, 7, 15 or 30 days. Default any time. |
| | `experienceYears` | integer | Jobs whose range includes your years, 0-30. |
| | `workModes` | array | office, hybrid, remote, temporary_wfh. |
| | `salaryRanges` | array | Naukri's bands: `0to3` … `75to100` lakhs, `100to500` (1-5 Cr), `501` (5+ Cr). |
| | `postedBy` | array | company, consultant. |
| | `companyTypes` | array | corporate, foreign_mnc, indian_mnc, startup, govt_psu, mnc, others. |
| | `walkInOnly`, `walkInWhen` | boolean, array | Walk-in drives only; this week / next week / this month. |
| | `freshersCampusOnly` | boolean | Naukri's campus filter. |
| | `internshipStipends`, `internshipDurations` | array | Internship stipend bands and lengths. |
| | `cityIds`, `departmentIds`, `industryIds`, `roleCategoryIds`, `roleIds`, `ugCourseIds`, `pgCourseIds`, `topCompanyIds` | array | Naukri's own ids for exact filters. |
| | `extraSearchParams` | array | Any other Naukri search parameter as `{key, value}`. |
| Refine (applied by the actor) | `titleKeywords`, `excludeKeywords`, `excludeCompanies`, `onlyWithSalary`, `minAmbitionBoxRating` | | Filtered jobs are not delivered. |
| Extra data | `includeDetails` | boolean | The job page on every row. Default **true**, same price. |
| Monitoring | `monitorMode`, `monitorStoreName`, `includeUnchanged` | | Only new or changed jobs between runs. |
| | `notifyOnlyChanges`, `notificationLimit`, Slack / Discord / Telegram / WhatsApp / webhook fields | | A summary message after the run. |
| Output | `maxResults` | integer | Most jobs per run. Default **100** (prefilled 10). 0 = no limit. |
| | `maxResultsPerSearch`, `maxPagesPerSearch` | integer | Caps per search. |
| | `descriptionFormat`, `descriptionMaxLength` | | all / html / text / markdown / none; length cap. |
| | `compact`, `excludeEmptyFields`, `includeRawData` | boolean | Output shape. |
| Advanced | `maxConcurrency`, `maxRequestsPerSecond`, `proxyConfiguration` | | Defaults work; no proxy needed. |

#### Input JSON

```json
{
  "keywords": ["data analyst", "business analyst"],
  "locations": ["Bengaluru", "Pune"],
  "postedWithinDays": "7",
  "experienceYears": 3,
  "workModes": ["hybrid", "remote"],
  "salaryRanges": ["6to10", "10to15"],
  "maxResults": 500
}
```

#### Use places Naukri knows

Naukri ignores a place it does not recognise and answers for the whole of India. The actor checks this on every keyword x location search: an unknown place returns no rows (and costs nothing) with the reason in the run summary, instead of all-India jobs. Use the city names Naukri's own search box suggests (`Bengaluru` and `Bangalore` both work, `Gurugram`, `Delhi / NCR`, `Navi Mumbai`), or `cityIds` for an exact city.

#### Copy a search from naukri.com

Set every filter on naukri.com, copy the address bar into **Naukri URLs**, and the actor reads the page's own search parameters, so experience, freshness, salary, work mode, location and the rest are kept exactly.

#### Split very large searches

Naukri pages up to about 15,000 jobs per search (100 per page, 150 pages). Every job in Delhi / NCR matched 119,436 on 2026-10-14; split such a search by keyword, freshness or salary band to reach the rest.

### ⬆️ Output

```json
{
  "jobId": "141026012185",
  "url": "https://www.naukri.com/job-listings-java-developer-bfsi-honeybee-tech-solutions-pune-3-to-7-years-141026012185",
  "title": "Java Developer - BFSI",
  "companyName": "Honeybee Tech Solutions",
  "experienceText": "3-7 Yrs",
  "salaryText": "3.75-4.25 Lacs",
  "salaryMinLpa": 3.75,
  "salaryMaxLpa": 4.25,
  "location": "Pune",
  "workMode": "Work from office",
  "skills": ["Java", "Spring Boot", "React.js", "AWS", "Angular", "Microservices", "SQL", "Bfsi"],
  "postedAt": "2026-10-14T04:54:17.917Z",
  "applyCount": 1307,
  "viewCount": 2164,
  "industry": "IT Services & Consulting",
  "department": "Engineering - Software & QA",
  "role": "Full Stack Developer",
  "educationUG": ["Any Graduate"],
  "ambitionBoxRating": 3.6,
  "ambitionBoxSalaryRange": "₹7.5L – ₹8.3L/yr",
  "applyType": "naukri"
}
```

A walk-in row adds `walkInStartDate`, `walkInEndDate`, `walkInTimings` (e.g. `9.30 AM - 5.30 PM`), `walkInVenue`, `walkInContactName` and `walkInContactPhone`; an internship row adds `internshipStipend` (`15,000/month`), `internshipDuration` (`3 months`) and `internshipStart`.

#### Fields and how often they are filled

Measured on real runs of 2026-10-16, with job-page details on: `java developer` in Pune (100 jobs), `software engineer` across India (1,000 jobs).

| Field | Java developer, Pune | Software engineer, India |
|---|---|---|
| jobId, url, title, companyName, location, experience, skills, postedAt | 100% | 100% |
| description (HTML / text / Markdown), industry, department, role, employmentType | 100% | 100% |
| applyCount, viewCount | 100% | 100% |
| educationUG / educationPG | 100% / 46% | 100% / 98% |
| vacancies | 97% | 99% |
| salary figures (salaryMin/Max, LPA) - the rest are "Not disclosed" | 18% | 2% |
| companyAddress | 72% | 94% |
| ambitionBoxRating, review count | 81% | 99% |
| AmbitionBox salary band / benefits / reviews | 73-76% | 99% |
| externalApplyUrl (jobs that send you to the employer's site) | 9% | 96% |
| emails printed in the ad | 11% | 0% |

Monthly salary figures and variable pay are rarely published (under 1% of jobs). Walk-in fields are filled on walk-in jobs (a walk-in search: venue, dates and timings 100 of 100, contact name 94, contact phone 77); internship fields on internships. Every key is always present (null when Naukri does not publish the value) unless you turn on `excludeEmptyFields`.

### How can I use Naukri job data?

- 🎯 **Recruitment and staffing agencies:** companies hiring in your niche and city right now, with openings, applicant counts and the company profile.
- 💰 **Salary benchmarking:** disclosed salary ranges by role, experience and city, next to AmbitionBox's employee-reported band for the same role.
- 📈 **Hiring-demand research:** applicants per opening, views and posting freshness show which roles are crowded and which are hard to fill.
- 🏭 **Competitor hiring signals:** every open job of a list of companies, scheduled weekly in monitor mode.
- 🔔 **Job alerts:** a daily monitor run that posts only new jobs to Slack, Telegram or WhatsApp.
- 🧠 **AI and RAG pipelines:** compact rows or Markdown descriptions for screening and matching.

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

Naukri Jobs Scraper is priced per job: **$0.00009 per job**, the job page included, no start fee.

| Jobs | Price |
|---|---|
| 10 | $0.0009 |
| 100 | $0.009 |
| 1,000 | $0.09 |
| 10,000 | $0.90 |

Apify's free plan includes monthly credit. Duplicates, filtered jobs, unchanged monitor jobs, jobs that expired before their page was read and searches for a place Naukri does not know are never charged, and a run that finds nothing costs nothing.

### Integrations, API, scheduling and MCP

Schedule the actor (daily with monitor mode is the usual set-up), send results to Google Sheets, Slack, Make, Zapier or n8n, or call it from your code with the [Apify API](https://apify.com/scrapersdelight/naukri-jobs-scraper/api/python) (`apify-client` for Python and JavaScript). AI agents can run it through the [Apify MCP server](https://apify.com/scrapersdelight/naukri-jobs-scraper/api/mcp).

### More job scrapers

- 💼 [LinkedIn Jobs Scraper](https://apify.com/scrapersdelight/linkedin-jobs-scraper) — LinkedIn job listings worldwide, India included.
- 🏢 [Glassdoor Jobs Scraper](https://apify.com/scrapersdelight/glassdoor-jobs-scraper) — Glassdoor jobs with company ratings.
- 🌏 [JobStreet Jobs Scraper](https://apify.com/scrapersdelight/jobstreet-jobs-scraper) — South-East Asia's job board.
- 🦘 [SEEK Jobs Scraper](https://apify.com/scrapersdelight/seek-jobs-scraper) — Australia and New Zealand.
- 🧩 [ATS Jobs Scraper](https://apify.com/scrapersdelight/ats-jobs-scraper) — jobs straight from company applicant-tracking systems.

See all our actors on the [ScrapersDelight profile](https://apify.com/scrapersdelight).

### Limits and empty runs

- **~15,000 jobs per search** (Naukri answers page 150 and refuses page 160+); split large searches by city or filter.
- **Speed:** a search page brings 100 jobs in one request; job pages are read at up to 8 requests a second. 100 jobs with details took 7-9 s locally; 1,000 jobs with details 2.5 minutes; 1,000 without details 17 s.
- **Short pages:** a 100-job page sometimes comes back with 99; the actor walks to Naukri's own total and each job is delivered and charged once.
- **Not available:** recruiter contact details behind Naukri's login, and company websites (Naukri's job pages leave that field empty).
- **Empty runs:** an unknown keyword, place or company returns no rows and the reason is in the run summary (`RUN_SUMMARY` in the key-value store). Nothing is charged.

### ❓ FAQ

#### How much does Naukri Jobs Scraper cost?

$0.00009 per job with the full job page, no start fee: 1,000 jobs cost $0.09. Filtered, duplicate and unchanged jobs are free.

#### How many jobs can Naukri Jobs Scraper get?

Up to ~15,000 per search and as many searches as you list (keywords x locations, companies, URLs). Naukri listed about 724,000 jobs in total on 2026-10-14.

#### Does Naukri Jobs Scraper get the full job description and applicant count?

Yes, by default: every row carries the description in HTML, text and Markdown, `applyCount`, `viewCount` and the number of openings. Turn `includeDetails` off for search-card rows only (faster, same price).

#### Can Naukri Jobs Scraper list every job of a company?

Yes. Put the company's Naukri jobs page, overview page, group id (the `groupId` on any of its jobs) or its name in **Companies**.

#### Can Naukri Jobs Scraper monitor new jobs on a schedule?

Yes. Turn on monitor mode and schedule the actor: each run delivers only jobs that are NEW (or UPDATED) since earlier runs with the same store name, and can message Slack, Discord, Telegram, WhatsApp or a webhook.

#### Can I filter Naukri jobs by salary, experience, work mode or date?

Yes, with Naukri's own filters: salary band, experience years, office / hybrid / remote, posted within 1-30 days, company or consultant, company type, walk-ins, internships, department, industry, role, education and top companies.

#### Does Naukri Jobs Scraper need a login, cookies or a Naukri API key?

No. It reads the same public search and job data naukri.com shows any visitor.

#### Can I use Naukri Jobs Scraper with the Apify API?

Yes, from any language through the Apify API, or with `apify-client` for Python and JavaScript. See the API tab.

#### Can AI agents use Naukri Jobs Scraper through MCP?

Yes, through the Apify MCP server. Turn on `compact` for smaller rows.

#### Why did Naukri Jobs Scraper return no results?

The keyword, place or company is unknown to Naukri (see `RUN_SUMMARY`), or your filters removed every job. Try the same search on naukri.com first.

#### Is it legal to scrape Naukri?

The actor reads publicly available job ads. Review Naukri's terms and make sure your use complies with applicable law, including India's Digital Personal Data Protection Act where personal data such as walk-in contact names is involved. This actor is not affiliated with Naukri.com or Info Edge (India) Ltd.

#### Your feedback

Found a bug or need a field? Open an issue on the [Issues tab](https://apify.com/scrapersdelight/naukri-jobs-scraper/issues/open) and we will look at it quickly.

# Actor input Schema

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

Job titles, skills or designations, e.g. "data analyst", "python developer", "sales". Empty with a location = every job in that location.

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

Indian cities or areas, e.g. "Bengaluru", "Pune", "Delhi / NCR", "Remote". Empty or "India" = all of India. A place Naukri does not recognise is reported in the run summary and returns nothing (never all-India rows).

## `companies` (type: `array`):

List every job of a company: its Naukri jobs page (e.g. https://www.naukri.com/hexaware-technologies-jobs-careers-9815), its overview page (…-overview-12466), a company group id (12466 - the groupId field on every row) or a company name ("Infosys").

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

Search result pages copied from your browser (every filter on the page is kept), company pages, or job pages (https://www.naukri.com/job-listings-…-160126029546).

## `jobIds` (type: `array`):

Naukri job ids (12+ digits, the jobId field), e.g. "160126029546". Each one returns the full job page.

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

Order of the results.

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

Freshness filter (Naukri's jobAge).

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

Jobs whose experience range includes this many years, e.g. 5 matches "3-8 Yrs". Empty = any.

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

One or more work modes.

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

Naukri's salary bands (annual CTC).

## `postedBy` (type: `array`):

Jobs posted by the employer, by recruitment consultants, or both.

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

Employer types as Naukri classifies them.

## `walkInOnly` (type: `boolean`):

Only walk-in drives (venue, dates, timings and the contact person come with each job).

## `walkInWhen` (type: `array`):

When the walk-in drive takes place (use with Walk-in jobs only).

## `freshersCampusOnly` (type: `boolean`):

Naukri's campus filter (jobs for freshers and recent graduates).

## `internshipStipends` (type: `array`):

Internships with this stipend (restricts the search to internships).

## `internshipDurations` (type: `array`):

Internships of this length (restricts the search to internships).

## `cityIds` (type: `array`):

Naukri city ids for an exact city filter, e.g. 97 = Bengaluru, 17 = Hyderabad, 9508 = Delhi / NCR, 139 = Pune, 183 = Chennai.

## `departmentIds` (type: `array`):

Naukri department (functional area) ids, e.g. 5 = Engineering - Software & QA.

## `industryIds` (type: `array`):

Naukri industry ids, e.g. 109 = IT Services & Consulting.

## `roleCategoryIds` (type: `array`):

Naukri role category ids (the roleCategoryId field), e.g. 1028 = Software Development.

## `roleIds` (type: `array`):

Naukri role ids (from a Naukri search URL's roleTypeFilterGid).

## `ugCourseIds` (type: `array`):

Undergraduate course ids, e.g. 9502 = Any Graduate.

## `pgCourseIds` (type: `array`):

Postgraduate course ids, e.g. 9511 = Any Postgraduate.

## `topCompanyIds` (type: `array`):

Naukri's "Top companies" filter: company group ids (the groupId field), e.g. 242.

## `extraSearchParams` (type: `array`):

Any other parameter of Naukri's search API, as \[{"key": "functionAreaIdGid", "value": "5"}]. Applied to every keyword, location and company search.

## `titleKeywords` (type: `array`):

Keep a job only if its title contains one of these words, e.g. "senior", "lead".

## `excludeKeywords` (type: `array`):

Drop a job whose title, company, snippet or skills contain one of these words, e.g. "intern", "night shift".

## `excludeCompanies` (type: `array`):

Drop jobs from companies whose name contains one of these, e.g. "Infosys".

## `onlyWithSalary` (type: `boolean`):

Drop jobs whose salary is "Not disclosed" (internships with a stipend are kept).

## `minAmbitionBoxRating` (type: `number`):

Keep only companies rated at least this on AmbitionBox, e.g. 3.5. 0 = no filter.

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

Read each job's page (one extra request per job, same price per job). Turn off for faster search-card rows.

## `monitorMode` (type: `boolean`):

Remember delivered jobs in a named store and skip them on later runs; changeType says NEW or UPDATED.

## `monitorStoreName` (type: `string`):

Name of the key-value store that remembers delivered jobs. Use one name per tracked search. Default: naukri-jobs-monitor.

## `includeUnchanged` (type: `boolean`):

In monitor mode, also deliver (and pay for) jobs seen before that did not change, marked UNCHANGED.

## `notifyOnlyChanges` (type: `boolean`):

Notifications list only NEW and UPDATED jobs (monitor mode).

## `notificationLimit` (type: `integer`):

How many jobs each notification lists.

## `slackWebhookUrl` (type: `string`):

Post a summary of the delivered jobs to Slack.

## `discordWebhookUrl` (type: `string`):

Post a summary of the delivered jobs to Discord.

## `telegramBotToken` (type: `string`):

Bot token from @BotFather (use with Telegram chat id).

## `telegramChatId` (type: `string`):

Chat, group or channel id to message.

## `whatsappAccessToken` (type: `string`):

WhatsApp Cloud API access token.

## `whatsappPhoneNumberId` (type: `string`):

WhatsApp Cloud API phone number id.

## `whatsappTo` (type: `string`):

Recipient number in international format, e.g. 919812345678.

## `webhookUrl` (type: `string`):

POST a JSON summary (and the first jobs) to any URL.

## `webhookHeaders` (type: `object`):

Extra headers for the webhook, e.g. {"Authorization": "Bearer …"}.

## `maxResults` (type: `integer`):

Maximum jobs for the whole run. Naukri pages up to ~15,000 jobs per search (100 per page, ~150 pages). 0 = no limit.

## `maxResultsPerSearch` (type: `integer`):

Cap for each keyword x location / company search, so one big search does not use the whole run. 0 = no per-search cap.

## `maxPagesPerSearch` (type: `integer`):

Stop each search after this many result pages (up to 100 jobs each). 0 = until the end.

## `descriptionFormat` (type: `string`):

Which forms of the full job description each row carries.

## `descriptionMaxLength` (type: `integer`):

Cut descriptions to this many characters (… appended). 0 = full length.

## `compact` (type: `boolean`):

Core fields only (id, link, title, company, location, work mode, experience, salary, skills, posted, apply) - small rows for AI agents and spreadsheets.

## `excludeEmptyFields` (type: `boolean`):

Leave out null and empty fields from each row.

## `includeRawData` (type: `boolean`):

Add Naukri's own search card (raw) and job page (rawJobPage) objects to each row.

## `maxConcurrency` (type: `integer`):

Job pages read in parallel.

## `maxRequestsPerSecond` (type: `integer`):

Pace for all requests to Naukri. Naukri blocks an IP that sends too many requests too fast; 8 per second has been safe.

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

Not needed: the actor connects directly and falls back to Indian residential proxies by itself if Naukri refuses. Add your own proxy URLs to use them first.

## Actor input object example

```json
{
  "keywords": [
    "data analyst"
  ],
  "locations": [
    "Bengaluru"
  ],
  "sortBy": "relevance",
  "postedWithinDays": "0",
  "walkInOnly": false,
  "freshersCampusOnly": false,
  "onlyWithSalary": false,
  "minAmbitionBoxRating": 0,
  "includeDetails": true,
  "monitorMode": false,
  "includeUnchanged": false,
  "notifyOnlyChanges": false,
  "notificationLimit": 5,
  "maxResults": 10,
  "maxResultsPerSearch": 0,
  "maxPagesPerSearch": 0,
  "descriptionFormat": "all",
  "descriptionMaxLength": 0,
  "compact": false,
  "excludeEmptyFields": false,
  "includeRawData": false,
  "maxConcurrency": 6,
  "maxRequestsPerSecond": 8
}
```

# Actor output Schema

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

One item per Naukri.com job.

## `summary` (type: `string`):

Per search: Naukri page, jobs Naukri counted, pages read, jobs delivered, status. Filter, duplicate, monitor and job-page counters; routes used.

# 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": [
        "data analyst"
    ],
    "locations": [
        "Bengaluru"
    ],
    "maxResults": 10
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapersdelight/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": ["data analyst"],
    "locations": ["Bengaluru"],
    "maxResults": 10,
}

# Run the Actor and wait for it to finish
run = client.actor("scrapersdelight/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": [
    "data analyst"
  ],
  "locations": [
    "Bengaluru"
  ],
  "maxResults": 10
}' |
apify call scrapersdelight/naukri-jobs-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,scrapersdelight/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/Ss1jThTq3b1xiQoNc/builds/ona8M6ilju6T7JHio/openapi.json
