# Naukri Jobs Scraper -  Most Comprehensive (`kaix/naukri-jobs-scraper`) Actor

🔥 ~$0.1/1K jobs 🔥 Collect public Naukri jobs by keyword, location, company, salary, work mode, experience, date, and category filters. Fetch known jobs by URL or ID, optionally enrich full details, and export normalized records without a Naukri account.

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

## Pricing

from $0.08 / 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?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — 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 Jobs Scraper

Collect public job listings from Naukri and export them as structured JSON, CSV, Excel, or other Dataset formats.

Use the Actor to:

- search by keyword, location, company, experience, salary, work mode, posting date, or Naukri category IDs;
- collect campus jobs and internships, including stipend and duration filters;
- fetch known jobs directly from Naukri job IDs or URLs;
- add full descriptions, skills, education, company information, salary details, and application data;
- keep one result per Naukri job ID.

No Naukri account or credentials are required.

### Quick start

1. Choose **search** or **direct lookup**.
2. Set `maxItems`, the maximum number of jobs to save.
3. Enable `fetchDetails` when you need full descriptions and detail-only fields.
4. Run the Actor and open the default Dataset to view or export the results.

Search and direct lookup cannot be used in the same run.

Apify Console opens with a runnable demo search for `software engineer` in `Bengaluru`. Change those values for your search, or clear both before using direct lookup. They are Console prefills, not API or CLI defaults.

At least one real search selector is required in search mode. `filters.sort`, an empty `filters.freshness`, false internship flags, either radius by itself, `maxItems`, `fetchDetails`, `requestSettings`, and `proxyConfig` do not select a search. Unknown top-level fields and unknown fields inside the grouped filter objects are rejected.

### Search for jobs

Provide at least one search field. A keyword is optional, so searches such as location-only, company-only, remote-only, or internships-only are valid.

#### Basic search fields

| Field | Type | Default | Example | Description |
| --- | --- | --- | --- | --- |
| `keyword` | string | optional | `"software engineer"` | Job title, skill, or keyword. |
| `location` | string | optional | `"Bengaluru"` | Free-text location. |
| `maxItems` | integer | `20` | `100` | Maximum unique jobs to save, from 1 through 5,000. |

#### Job filters

In Apify Console, these fields appear together under **Job filters**. In JSON input, place them inside `filters`.

| Field | Type | Default | Example | Description |
| --- | --- | --- | --- | --- |
| `filters.sort` | `relevance` or `date` | `relevance` | `"date"` | Sort by Naukri relevance or newest first. |
| `filters.freshness` | `""`, `"1"`, `"3"`, `"7"`, `"15"`, or `"30"` | empty | `"7"` | Jobs posted within the selected number of days. Values are strings in JSON. |
| `filters.experience` | integer | omitted | `5` | Years of experience, from 0 through 30. |
| `filters.workModes` | array, 1 to 3 items | omitted | `["remote", "hybrid"]` | Any combination of `office`, `remote`, and `hybrid`. |
| `filters.salaryRanges` | array, 1 to 9 items | omitted | `["15-25-lakhs"]` | One or more of `0-3-lakhs`, `3-6-lakhs`, `6-10-lakhs`, `10-15-lakhs`, `15-25-lakhs`, `25-50-lakhs`, `50-75-lakhs`, `75-100-lakhs`, and `1-5-crore`. |
| `filters.postedBy` | array, 1 to 2 items | omitted | `["company"]` | Jobs posted by `company`, `consultant`, or both. |
| `filters.locationRadiusKm` | integer | omitted | `25` | Search within 1 through 500 km of `location` or `advancedFilters.cityIds`. |

#### Internship and campus filters

In Apify Console, these fields appear under **Internships and campus**. In JSON input, place them inside `internshipFilters`.

| Field | Type | Default | Example | Description |
| --- | --- | --- | --- | --- |
| `internshipFilters.internships` | boolean | `false` | `true` | Use Naukri's internship search. |
| `internshipFilters.internshipStipends` | array, 1 to 6 items | omitted | `["unpaid", "0-10k"]` | One or more of `unpaid`, `0-10k`, `10-20k`, `20-30k`, `40-50k`, and `50k-plus`. |
| `internshipFilters.internshipDurations` | array, 1 to 5 items | omitted | `["3-months", "flexible"]` | One or more of `2-months`, `3-months`, `4-months`, `6-months`, and `flexible`. |
| `internshipFilters.campusJobs` | boolean | `false` | `true` | Use Naukri's Campus jobs search. |

Stipend and duration filters can select a search without setting `internships` to `true`. Repeated enum and ID values are de-duplicated before requests.

```json
{
  "location": "Bengaluru",
  "maxItems": 20,
  "internshipFilters": {
    "internships": true,
    "internshipStipends": ["unpaid", "0-10k"],
    "internshipDurations": ["3-months", "flexible"],
    "campusJobs": false
  }
}
```

Example search:

```json
{
  "keyword": "software engineer",
  "location": "Bengaluru",
  "filters": {
    "workModes": ["remote", "hybrid"],
    "salaryRanges": ["15-25-lakhs", "25-50-lakhs"],
    "postedBy": ["company"],
    "freshness": "7"
  },
  "maxItems": 50,
  "fetchDetails": true
}
```

The Actor sends each selected filter value to Naukri. Naukri decides how multiple values are matched and can return jobs whose salary or other values are not disclosed.

#### Advanced search fields

In Apify Console, these fields appear under **Advanced filters**. In JSON input, place them inside `advancedFilters`.

Use string IDs, even when an ID contains digits only. Each ID array accepts 1 to 50 entries. An entry may contain letters, digits, underscores, or hyphens and may be up to 100 characters.

The concrete examples below were observed in live Naukri responses on 2026-08-12. A dash means the current response did not expose a stable value-to-label mapping, so the README does not invent an ID.

| Field | Type | Live example | Description |
| --- | --- | --- | --- |
| `advancedFilters.companyId` | positive-integer string | `"7053"` (Capgemini) | One Naukri company ID. |
| `advancedFilters.companyGroupIds` | ID array | `["1288"]` (Capgemini) | Company-group IDs. These differ from `companyId`. |
| `advancedFilters.companyName` | string, 1 to 200 characters | `"Capgemini"` | Source-native company value. Prefer `companyId` for an exact company. |
| `advancedFilters.cityIds` | ID array | `["97"]` (Bengaluru) | Naukri city IDs. |
| `advancedFilters.localityIds` | ID array | — | Naukri locality IDs. |
| `advancedFilters.localityRadiusKm` | integer, 1 to 500 | `25` | Radius around `localityIds`. It requires at least one locality ID and does not select a search by itself. |
| `advancedFilters.originCityIds` | ID array | `["97"]` (Bengaluru) | Naukri origin-city IDs. |
| `advancedFilters.departmentIds` | ID array | `["5"]` (Engineering - Software & QA) | Department or functional-area IDs. |
| `advancedFilters.industryIds` | ID array | `["109"]` (IT Services & Consulting) | Industry IDs. |
| `advancedFilters.roleIds` | ID array | `["255"]` (Back End Developer) | Role IDs. |
| `advancedFilters.jobTypeIds` | ID array | — | Source job-type IDs. |
| `advancedFilters.employmentTypeIds` | ID array | — | Source employment-type IDs. |
| `advancedFilters.undergraduateCourseIds` | ID array | `["9502"]` (Any Graduate) | Undergraduate course IDs. |
| `advancedFilters.undergraduateSpecialization` | string, 1 to 200 characters | — | Source-native undergraduate specialization value. |
| `advancedFilters.postgraduateCourseIds` | ID array | `["9511"]` (Any Postgraduate) | Postgraduate course IDs. |
| `advancedFilters.postgraduateSpecialization` | string, 1 to 200 characters | — | Source-native postgraduate specialization value. |

Naukri controls these taxonomies and can change them. The Actor sends supplied values as filters; it does not convert arbitrary labels into IDs.

Example using IDs confirmed by live responses:

```json
{
  "maxItems": 20,
  "advancedFilters": {
    "companyId": "7053",
    "cityIds": ["97"]
  }
}
```

### Fetch known jobs

Use direct lookup when you already have Naukri job IDs or job URLs. Both fields stay at the top level of the input.

| Field | Type and limits | Live example | Description |
| --- | --- | --- | --- |
| `jobIds` | Array of 12 to 30 digit strings; 1 to 5,000 items | `["110826930912"]` | Fetch known jobs by Naukri job ID. |
| `jobUrls` | Array of HTTPS `www.naukri.com` URLs ending in a 12 to 30 digit job ID; 1 to 5,000 items | See below | Fetch known jobs by Naukri URL. |

The fields can be used together, but their combined input count cannot exceed 5,000. Tracking parameters and URL fragments are removed. Duplicate IDs are fetched once, `maxItems` applies to the combined list, and full details are fetched automatically.

This job was available during the live documentation run on 2026-08-12:

```json
{
  "jobUrls": [
    "https://www.naukri.com/job-listings-software-engineer-capgemini-technology-services-india-limited-bengaluru-0-to-5-years-110826930912"
  ],
  "maxItems": 1
}
```

Jobs can be removed after this README is published. Jobs that Naukri reports as unavailable are skipped. Other source failures stop the run so they are not mistaken for missing jobs.

### Detail and connection settings

`fetchDetails` and `proxyConfig` stay at the top level. In JSON input, place delay and retry controls inside `requestSettings`.

| Field | Type | Default | Example | Description |
| --- | --- | --- | --- | --- |
| `fetchDetails` | boolean | `false` | `true` | In search mode, fetch full public job details. Direct lookup always fetches details. |
| `requestSettings.requestDelayMillis` | integer, 0 to 10,000 | `2000` | `1000` | Delay before detail requests and between search pages, in milliseconds. |
| `requestSettings.maxRequestRetries` | integer, 0 to 5 | `2` | `3` | Retry count after a temporary request failure. |
| `proxyConfig` | object | `{ "useApifyProxy": true }` when omitted | `{ "useApifyProxy": false }` | Apify Proxy or custom proxy settings. Named fields are listed below. |

`proxyConfig` accepts the standard Apify proxy configuration:

| Field | Type | Example | Description |
| --- | --- | --- | --- |
| `proxyConfig.useApifyProxy` | boolean | `false` | Use Apify Proxy. Set to `false` for a direct connection or when supplying custom proxy URLs. |
| `proxyConfig.proxyUrls` | string array | custom proxy URLs | Custom proxy URLs accepted by Apify's proxy configuration. |
| `proxyConfig.groups` | string array | `["RESIDENTIAL"]` | Apify Proxy groups. |
| `proxyConfig.countryCode` | string or `null` | `"IN"` | Requested Apify Proxy country. |

Other properties supported by Apify's proxy editor are passed to the Apify SDK.

Search without details is faster and still includes the job ID, title, URL, company, location, experience, salary text, skills, posting age, and available application links. Enable details for descriptions and the fields listed below.

### Output

Results are saved to the default Dataset. Each result has the same nested structure, so missing values are represented by `null`, `unknown`, or an empty array.

| Group | Included data |
| --- | --- |
| `id`, `title`, `urls` | Naukri job ID, title, job URL, and available application URLs. |
| `description` | Search snippet and, when requested, full text and HTML. |
| `company` | Company IDs, name, logo, website, address, description, industry, rating, benefits, salary insights, and public media when available. |
| `location` | Displayed location, individual places, locality details, and source location IDs. |
| `workArrangement`, `experience` | Office, remote, or hybrid status, source work-mode labels, and the displayed/parsed experience range. |
| `salary` | Displayed salary, normalized values, currency, period, monthly range, variable percentage, and compensation breakdown when disclosed. |
| `classification` | Skills, preferred skills, department, role, role category, industry, job type, employment types, and education. |
| `apply` | Application URL/method, application count, vacancies, reference code, availability, and questionnaire flags. |
| `dates`, `signals` | Posting dates, poster type, sponsorship, branding, diversity labels, walk-in status, tags, and views. |
| `walkIn` | Public schedule, venue, map, and working days. Contact details are not collected. |
| `internship` | Duration, stipend, dates, perks, and pre-placement-offer status. |
| `source` | Naukri board, mode, role-category ID, and top-group flag. These are source fields, not Actor settings. |
| `meta` | Scrape time, search context, page, position, and detail status. Search results also include Naukri's reported total result count; direct lookups use `null`. |

#### Example output

```json
{
  "id": "110826930912",
  "title": {
    "text": "Software Engineer"
  },
  "urls": {
    "naukri": "https://www.naukri.com/job-listings-software-engineer-capgemini-technology-services-india-limited-bengaluru-0-to-5-years-110826930912",
    "apply": null,
    "external": null
  },
  "description": {
    "snippet": "The software engineer collaborates and acts as team player with other software engineers and stakeholders. . - Grade Specific . Has more than a year of relevant work experience",
    "text": "Job Description Works in the area of Software Engineering, which encompasses the development, maintenance and optimization of software solutions/applications. 1. Applies scientific methods to analyse and solve software engineering problems. 2. He/she is responsible for the development and application of software engineering practice and knowledge, in research, design, development and maintenance. 3. His/her work requires the exercise of original thought and judgement and the ability to supervise the technical and administrative work of other software engineers. 4. The software engineer builds skills and expertise of his/her software engineering discipline to reach standard software engineer skills expectations for the applicable role, as defined in Professional Communities. 5. The software engineer collaborates and acts as team player with other software engineers and stakeholders. Job Description - Grade Specific Has more than a year of relevant work experience. Solid understanding of programming concepts, software design and software development principles. Consistently works to direction with minimal supervision, producing accurate and reliable results. Individuals are expected to be able to work on a range of tasks and problems, demonstrating their ability to apply their skills and knowledge. Organises own time to deliver against tasks set by others with a mid term horizon. Works co-operatively with others to achieve team goals and has a direct and positive impact on project performance and make decisions based on their understanding of the situation, not just the rules.",
    "html": "<div> <div> <div> <br /><br /><b>Job Description</b> <br /><br /><div>Works in the area of Software Engineering, which encompasses the development, maintenance and optimization of software solutions/applications.<br />1. Applies scientific methods to analyse and solve software engineering problems.<br />2. He/she is responsible for the development and application of software engineering practice and knowledge, in research, design, development and maintenance.<br />3. His/her work requires the exercise of original thought and judgement and the ability to supervise the technical and administrative work of other software engineers.<br />4. The software engineer builds skills and expertise of his/her software engineering discipline to reach standard software engineer skills expectations for the applicable role, as defined in Professional Communities.<br />5. The software engineer collaborates and acts as team player with other software engineers and stakeholders.</div> </div> <br /><div> <br /><br /><b>Job Description - Grade Specific</b> <br /><br />Has more than a year of relevant work experience. Solid understanding of programming concepts, software design and software development principles. Consistently works to direction with minimal supervision, producing accurate and reliable results. Individuals are expected to be able to work on a range of tasks and problems, demonstrating their ability to apply their skills and knowledge. Organises own time to deliver against tasks set by others with a mid term horizon. Works co-operatively with others to achieve team goals and has a direct and positive impact on project performance and make decisions based on their understanding of the situation, not just the rules.</div> </div> </div>"
  },
  "company": {
    "id": "7053",
    "groupId": "1288",
    "name": "Capgemini",
    "url": "https://www.naukri.com/capgemini-overview-1288",
    "logoUrl": "https://img.naukimg.com/logo_images/groups/v1/mobile/1288.gif",
    "website": null,
    "address": "Godrej and Boyce Compound, Plant No. 05,LBS Marg, Vikhroli - West, Mumbai, NAVI MUMBAI, Maharashtra, India",
    "isKycVerified": true,
    "isCustomName": true,
    "hiringFor": null,
    "description": "Capgemini Technology Services India Limited",
    "industry": "IT Services & Consulting",
    "rating": {
      "value": 3.6,
      "count": 55488,
      "source": "ambitionbox",
      "url": "https://www.ambitionbox.com/reviews/capgemini-reviews",
      "title": "Capgemini Reviews by Employees"
    },
    "media": {
      "photos": [],
      "videos": [],
      "presentations": []
    },
    "branding": {
      "bannerUrl": null
    },
    "ambitionBox": {
      "benefits": {
        "names": [
          "Learning & Development Support",
          "Health & Wellness Support",
          "Transport / Travel Support",
          "Free Meal",
          "Performance Bonus",
          "Relocation Assistance",
          "Generous & Flexible Leaves",
          "ESOPs / Stock Options"
        ],
        "reportedBy": 3857,
        "url": "https://www.ambitionbox.com/benefits/capgemini-benefits"
      },
      "salaryInsights": {
        "role": "Software Engineer",
        "minCtcText": "5.0",
        "averageCtcText": "5.3",
        "maxCtcText": "5.5",
        "url": "https://www.ambitionbox.com/salaries/capgemini-salaries/software-engineer"
      },
      "award": {
        "title": null,
        "url": null
      }
    }
  },
  "location": {
    "text": "Bengaluru",
    "places": [
      "Bengaluru"
    ],
    "countryCode": null,
    "details": [
      {
        "id": "97",
        "label": "Bengaluru",
        "url": "https://www.naukri.com/jobs-in-bangalore",
        "localities": []
      }
    ]
  },
  "workArrangement": {
    "type": "office",
    "label": null,
    "hybridDetail": null
  },
  "experience": {
    "text": "0-5 Yrs",
    "minYears": 0,
    "maxYears": 5
  },
  "salary": {
    "text": "Not Disclosed",
    "min": null,
    "max": null,
    "currency": null,
    "period": null,
    "disclosed": false,
    "monthlyMin": null,
    "monthlyMax": null,
    "variablePercentage": null,
    "breakdown": []
  },
  "classification": {
    "skills": [
      "software development",
      "development",
      "c++",
      "python",
      "c",
      "software design",
      "methods",
      "business analysis",
      "engineering",
      "software installation",
      "technical support",
      "requirement gathering",
      "java",
      "concepts",
      "software solutions",
      "software engineering",
      "programming"
    ],
    "preferredSkills": [
      "software development"
    ],
    "otherSkills": [
      "development",
      "c++",
      "python",
      "c",
      "software design",
      "methods",
      "business analysis",
      "engineering",
      "software installation",
      "technical support",
      "requirement gathering",
      "java",
      "concepts",
      "software solutions",
      "software engineering",
      "programming"
    ],
    "department": "Engineering - Software & QA",
    "roleCategory": "Software Development",
    "role": "Software Development - Other",
    "industry": "IT Services & Consulting",
    "jobType": "fulltime",
    "employmentTypes": [
      "Full Time",
      "Permanent"
    ],
    "education": {
      "undergraduate": [
        "Any Graduate"
      ],
      "postgraduate": [
        "Any Postgraduate"
      ],
      "postPostgraduate": [],
      "tenth": [],
      "twelfth": [],
      "doesNotMatter": null,
      "requirementText": null,
      "degreeCombination": "ugorpgorppg"
    }
  },
  "apply": {
    "url": null,
    "method": "naukri",
    "count": 2763,
    "vacancies": 1,
    "deadline": null,
    "referenceCode": "495855",
    "isAvailable": true,
    "requiresQuestionnaire": false,
    "hasMultipleMethods": false
  },
  "dates": {
    "posted": "2026-08-11T12:04:02.000Z",
    "postedText": "1 Day Ago",
    "validThrough": null
  },
  "signals": {
    "status": "unknown",
    "isSponsored": null,
    "postedBy": "company",
    "isWalkIn": false,
    "viewCount": 4242,
    "isPostedToday": false,
    "isBranded": false,
    "tags": [
      "1 Vacancy"
    ],
    "diversity": {
      "gender": null,
      "label": null,
      "url": null,
      "bannerUrl": null
    }
  },
  "walkIn": {
    "start": null,
    "end": null,
    "timing": null,
    "venue": null,
    "mapUrl": null,
    "workingDays": []
  },
  "internship": {
    "isInternship": false,
    "duration": null,
    "stipend": {
      "text": null,
      "currency": null
    },
    "startDate": null,
    "endDate": null,
    "applyBy": null,
    "hasPrePlacementOffer": null,
    "perks": []
  },
  "source": {
    "board": "1",
    "mode": "jp",
    "roleCategoryId": "1028",
    "isTopGroup": true
  },
  "meta": {
    "schemaVersion": "2.1",
    "source": "naukri",
    "scrapedAt": "2026-08-12T12:37:49.511Z",
    "detailStatus": "complete",
    "search": {
      "keyword": "software engineer",
      "location": "Bengaluru",
      "totalResults": 15877
    },
    "page": 1,
    "position": 0
  }
}
```

#### Detail status

- `not_requested`: the result came from search and `fetchDetails` was disabled.
- `complete`: full public details were fetched.
- `failed`: the search result was saved, but its optional detail request failed.

### Data quality and privacy

- Results keep Naukri's order and are deduplicated by job ID.
- `maxItems` is a maximum, not a guaranteed result count.
- Salary amounts are normalized only when Naukri supplies structured INR values or clear INR text.
- Salary and client values marked as hidden by Naukri remain hidden.
- The Actor does not collect Naukri account state, saved or applied-job state, recruiter contacts, walk-in phone/email contacts, or employee review text.

Jobs can change or disappear. Verify current details on the linked Naukri page.

This Actor is not affiliated with Naukri or Info Edge. If a search stops working, include the Actor run ID when reporting the issue.

# Actor input Schema

## `keyword` (type: `string`):

Job title, skill, or keyword, such as software engineer. Leave empty when another search filter is enough.

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

Location such as Bengaluru, Mumbai, Delhi NCR, or Pune.

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

Maximum number of unique jobs to save. Applies to search and direct lookup.

## `filters` (type: `object`):

Optional date, experience, work-mode, salary, poster, and distance filters.

## `internshipFilters` (type: `object`):

Optional internship, stipend, duration, and campus-job filters.

## `jobUrls` (type: `array`):

Fetch known jobs from their HTTPS Naukri URLs. You can combine URLs and IDs.

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

Fetch known jobs from their 12 through 30 digit Naukri job IDs.

## `fetchDetails` (type: `boolean`):

Add full descriptions, classification, education, company, application, walk-in, and internship fields. Search runs are slower when enabled.

## `advancedFilters` (type: `object`):

Optional company, location, role, industry, and education IDs for advanced searches.

## `requestSettings` (type: `object`):

Optional request delay and retry settings.

## `proxyConfig` (type: `object`):

Apify Proxy or custom proxy settings. Apify Proxy is enabled by default.

## Actor input object example

```json
{
  "keyword": "software engineer",
  "location": "Bengaluru",
  "maxItems": 20,
  "fetchDetails": false,
  "proxyConfig": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

## `dataset` (type: `string`):

Strict schema-version-2.1 jobs collected from Naukri's logged-out mobile search or direct job lookup, with optional search-result enrichment.

# 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 = {
    "keyword": "software engineer",
    "location": "Bengaluru"
};

// Run the Actor and wait for it to finish
const run = await client.actor("kaix/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 = {
    "keyword": "software engineer",
    "location": "Bengaluru",
}

# Run the Actor and wait for it to finish
run = client.actor("kaix/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 '{
  "keyword": "software engineer",
  "location": "Bengaluru"
}' |
apify call kaix/naukri-jobs-scraper --silent --output-dataset

```

## MCP server setup

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