Naukri Jobs Scraper -  Most Comprehensive avatar

Naukri Jobs Scraper - Most Comprehensive

Pricing

from $0.08 / 1,000 jobs

Go to Apify Store
Naukri Jobs Scraper -  Most Comprehensive

Naukri Jobs Scraper - Most Comprehensive

๐Ÿ”ฅ ~$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.

Pricing

from $0.08 / 1,000 jobs

Rating

0.0

(0)

Developer

Kai

Kai

Maintained by Community

Actor stats

0

Bookmarked

7

Total users

5

Monthly active users

2 days ago

Last modified

Share

Naukri Jobs Scraper

Collect public Naukri job listings as structured dataset records. No Naukri account is required.

Use search when you need current jobs by role, location, work mode, company, or Naukri category. Use direct lookup when you already have job URLs or IDs.

Search Naukri jobs

Start with a keyword and location

A keyword is optional. A location-only, company-only, remote-only, or internship-only search is valid.

{
"keyword": "software engineer",
"location": "Bengaluru",
"maxItems": 20,
"fetchDetails": true
}

Search without details includes the job ID, title, URL, company, location, experience, salary text, skills, posting age, and available application links.

Choose core or full job details

Search resultfetchDetailsData returned
Core jobfalseSearch-card fields.
Full jobtrueCore fields plus the full description, classification, education, company, application, walk-in, and internship fields.
Direct lookupEither valueFull details are always collected.

Filter job searches

This example combines common public filters:

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

Find internships and campus jobs

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

A stipend or duration filter can start an internship search without internships: true.

Search with Naukri taxonomy IDs

Naukri exposes IDs for exact company, location, department, role, industry, and education filters. These examples were observed in public Naukri responses on 2026-08-12. Naukri can change the mappings.

InputObserved value
companyId"7053" โ€” Capgemini
companyGroupIds["1288"] โ€” Capgemini
cityIds and originCityIds["97"] โ€” Bengaluru
departmentIds["5"] โ€” Engineering - Software & QA
industryIds["109"] โ€” IT Services & Consulting
roleIds["255"] โ€” Back End Developer
undergraduateCourseIds["9502"] โ€” Any Graduate
postgraduateCourseIds["9511"] โ€” Any Postgraduate
{
"maxItems": 20,
"advancedFilters": {
"companyId": "7053",
"companyGroupIds": ["1288"],
"companyName": "Capgemini",
"cityIds": ["97"],
"originCityIds": ["97"]
}
}

Use the other advanced fields when you have the corresponding current Naukri IDs. The complete constraints are in the input reference.

Fetch known jobs

You can combine job URLs and IDs. Their combined input count must not exceed 5,000.

{
"jobUrls": [
"https://www.naukri.com/job-listings-software-engineer-capgemini-bengaluru-0-to-5-years-110826930912"
],
"jobIds": ["110826505835"],
"maxItems": 2
}

Before you start, replace the example URL and ID with jobs that are still available. The Actor removes tracking query parameters and URL fragments. If the same job ID occurs more than once, the Actor fetches it once.

Input-mode rules

ModeSelect it withDetail behaviour
SearchA keyword, location, experience or freshness value, enabled internship or campus flag, non-empty filter array, company value, or education-specialisation value.Core fields are included. fetchDetails: true adds the full job fields. sort and radius fields only adjust an existing search.
Direct lookupjobUrls, jobIds, or both.Full details are always collected. Search fields cannot be combined with direct lookup.

New runs in Apify Console prefill software engineer and Bengaluru. These values are Console examples, not API defaults. Clear both values before you use direct lookup.

Input reference

FieldTypeDefaultDescription
keywordstringnoneJob title, skill, or keyword.
locationstringnoneFree-text location.
maxItemsinteger20Maximum unique jobs for the entire run. Range: 1 through 5,000.
filtersobjectnoneJob filter group described below.
internshipFiltersobjectnoneInternship and campus filter group described below.
jobUrlsstring[]noneUp to 5,000 HTTPS www.naukri.com job URLs that end in a 12-to-30-digit job ID.
jobIdsstring[]noneUp to 5,000 job IDs, each 12 to 30 digits.
fetchDetailsbooleanfalseAdd full descriptions, classification, education, company, application, walk-in, and internship fields. Direct lookup always gets details.
advancedFiltersobjectnoneCompany, location, role, industry, and education filters described below.
requestSettingsobjectnoneDelay and retry settings described below.
proxyConfigobject{"useApifyProxy":true}Apify connection configuration accepted by the Actor.

Unknown top-level fields are rejected. Unknown child fields are also rejected in filters, internshipFilters, advancedFilters, and requestSettings.

Job filters

FieldType and allowed valuesDefault
filters.sortrelevance or daterelevance
filters.freshness"", 1, 3, 7, 15, or 30, written as stringsempty
filters.experienceInteger from 0 through 30none
filters.workModesOne or more of office, remote, and hybridnone
filters.salaryRangesOne 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-crorenone
filters.postedBycompany, consultant, or bothnone
filters.locationRadiusKmInteger from 1 through 500. Requires location or advancedFilters.cityIds.none

Internship filters

FieldType and allowed valuesDefault
internshipFilters.internshipsbooleanfalse
internshipFilters.internshipStipendsOne or more of unpaid, 0-10k, 10-20k, 20-30k, 40-50k, and 50k-plusnone
internshipFilters.internshipDurationsOne or more of 2-months, 3-months, 4-months, 6-months, and flexiblenone
internshipFilters.campusJobsbooleanfalse

A stipend or duration filter can start an internship search without internships: true. Repeated enum values and repeated ID values are removed before requests are sent.

Advanced filters

All ID arrays accept 1 through 50 values. Each value can contain letters, digits, _, or - and can contain at most 100 characters.

FieldTypeDescription
advancedFilters.companyIdpositive-integer stringOne company ID.
advancedFilters.companyGroupIdsstring[]Company-group IDs. These differ from company IDs.
advancedFilters.companyNamestringSource company value, 1 through 200 characters.
advancedFilters.cityIdsstring[]City IDs.
advancedFilters.localityIdsstring[]Locality IDs.
advancedFilters.localityRadiusKmintegerRadius from 1 through 500 km. Requires localityIds.
advancedFilters.originCityIdsstring[]Origin-city IDs.
advancedFilters.departmentIdsstring[]Department or functional-area IDs.
advancedFilters.industryIdsstring[]Industry IDs.
advancedFilters.roleIdsstring[]Role IDs.
advancedFilters.jobTypeIdsstring[]Job-type IDs.
advancedFilters.employmentTypeIdsstring[]Employment-type IDs.
advancedFilters.undergraduateCourseIdsstring[]Undergraduate-course IDs.
advancedFilters.undergraduateSpecializationstringSource specialization value, 1 through 200 characters.
advancedFilters.postgraduateCourseIdsstring[]Postgraduate-course IDs.
advancedFilters.postgraduateSpecializationstringSource specialization value, 1 through 200 characters.

Request settings

FieldTypeDefaultDescription
requestSettings.requestDelayMillisinteger, 0 through 10,0002000Delay before search detail requests, between search pages, and between direct lookups, in milliseconds.
requestSettings.maxRequestRetriesinteger, 0 through 52Retry count after a temporary request failure.

Complete input reference example

This valid search shows every nested input path. Naukri can change its opaque taxonomy IDs.

Job output

Each dataset item is one job. Without fetchDetails, a search item still has the job identity, company, location, experience, salary text, skills, posting age, and application links. Turn on fetchDetails for the full description and the other detail fields.

GroupData you can use
id, title, urlsJob identity, public page, and available application links.
description, classificationSearch snippet, full text and HTML when requested, skills, role, industry, employment type, and education.
companyCompany identity, rating, public media, branding, benefits, and salary insights when available.
location, workArrangement, experienceSource location IDs, locality labels, office or remote status, and parsed experience range.
salary, applyDisplayed and structured compensation, application method, count, vacancies, and availability.
dates, signals, walkIn, internshipPosting dates, source flags, views, tags, walk-in schedule, and internship terms.
source, metaNaukri source fields, collection time, search context, page, position, and detail status.

Saved job sample

These unchanged values came from one saved Naukri job on 2026-08-12. The sample shows selected fields. The job can be unavailable now.

{
"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
},
"company": {
"id": "7053",
"groupId": "1288",
"name": "Capgemini",
"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"
}
},
"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
},
"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
}
}

More fields from the saved job

The same saved item contained these detail groups. The false walk-in and internship flags agree with their empty values.

Output reference

FieldType and contents
idstring. Naukri job ID.
titleobject. text is a string.
urlsobject. naukri is a string; apply and external are strings or null.
descriptionobject. snippet, text, and html are strings or null. Full values usually need details.
companyobject. Identity, text, URL, address, and industry values are strings or null; isKycVerified and isCustomName are booleans or null. It also contains the objects below.
company.ratingobject. value and count are numbers or null; source is ambitionbox or null; url and title are strings or null.
company.mediaobject. photos, videos, and presentations are object arrays. Each item has a string url and nullable string thumbnailUrl, title, description, and caption.
company.brandingobject. bannerUrl is a string or null.
company.ambitionBox.benefitsobject. names is string[]; reportedBy is a number or null; url is a string or null.
company.ambitionBox.salaryInsightsobject. role, minCtcText, averageCtcText, maxCtcText, and url are strings or null.
company.ambitionBox.awardobject. title and url are strings or null.
locationobject. text is a string or null; places is string[]; countryCode is IN or null; details is an object array. Each detail has nullable string id and url, string label, and string[] localities.
workArrangementobject. type is office, remote, hybrid, or unknown; label and hybridDetail are strings or null.
experienceobject. text is a string or null; minYears and maxYears are numbers or null.
salaryobject. Text, currency, and period fields are strings or null; numeric amounts are numbers or null; disclosed is boolean; breakdown is an array of {label: string, value: string}.
classificationobject. skills, preferredSkills, otherSkills, and employmentTypes are string arrays. department, roleCategory, role, industry, and jobType are strings or null.
classification.educationobject. Course groups are string arrays; doesNotMatter is boolean or null; requirementText and degreeCombination are strings or null.
applyobject. method is naukri, external, walk_in, or unknown; URL and text values are strings or null; counts are numbers or null; flags are booleans or null.
datesobject. posted, postedText, and validThrough are strings or null.
signalsobject. status is active, expired, or unknown; postedBy is company, consultant, or unknown; isWalkIn is boolean; other flags are booleans or null; viewCount is a number or null; tags is string[].
signals.diversityobject. gender is women or null; label, url, and bannerUrl are strings or null.
walkInobject. start, end, timing, venue, and mapUrl are strings or null; workingDays is string[].
sourceobject. board, mode, and roleCategoryId are strings or null; isTopGroup is boolean or null.
internshipobject. isInternship and hasPrePlacementOffer are booleans or null; dates and duration are strings or null; perks is string[]; stipend.text and stipend.currency are strings or null.
metaobject. schemaVersion is 2.1; source is naukri; scrapedAt is a string; detailStatus is not_requested, complete, or failed; page and position are numbers or null. search contains nullable string keyword and location, and nullable number totalResults.

Limits

  • A search needs at least one selector. filters.sort, either radius field, maxItems, detail settings, and request settings do not start a search by themselves.
  • Search fields cannot be combined with jobUrls or jobIds. Direct lookup can combine URLs and IDs, but their combined count cannot exceed 5,000.
  • filters.locationRadiusKm requires location or a city ID. advancedFilters.localityRadiusKm requires a locality ID.
  • Naukri controls its ID taxonomies. An accepted ID can later stop matching the same label.
  • Search results keep Naukri's order. Duplicate job IDs are removed before maxItems is applied. maxItems is a cap and does not guarantee that the source will return that many jobs.
  • Search records can contain meta.detailStatus: "not_requested" or "failed" when full details are not present. A direct lookup can return no item when Naukri reports that the job is unavailable.
  • A hidden salary keeps its displayed text but uses null numeric values and disclosed: false.
  • Numeric salary amounts are normalised only when Naukri provides structured INR values or clear INR text.
  • Naukri does not show every field on every job. Missing scalar values use null or an explicit unknown enum; repeated fields use empty arrays.
  • Naukri can change or remove jobs after collection.