Naukri Job Scraper avatar

Naukri Job Scraper

Under maintenance

Pricing

from $2.70 / 1,000 job scrapeds

Go to Apify Store
Naukri Job Scraper

Naukri Job Scraper

Under maintenance

Naukri.com job dataset from keywords, locations, search URLs, or company pages, including optional job details, company overview, and AmbitionBox reviews.

Pricing

from $2.70 / 1,000 job scrapeds

Rating

0.0

(0)

Developer

Farhan Ali

Farhan Ali

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

Naukri Job Scraper creates a structured dataset of job listings collected from Naukri.com. Each dataset item represents one job listing and can include title, company, location, experience, salary, skills, work mode, posting dates, and rating. Optional job-detail, company-overview, and AmbitionBox review fields attach to the same row. Query the source with keywords plus locations, Naukri search or listing URLs, or company pages. Control the result limit with maxJobs, and retrieve records through the Apify Dataset API or export them as JSON, CSV, Excel, or another supported format.

Dataset at a glance

PropertyValue
Sourcenaukri.com (job listings; optional AmbitionBox reviews)
Record unitOne job listing, with optional nested company and review fields
Input methodsKeyword + location search (searchQueries, locations), Naukri URLs (startUrls), or company pages (companyUrls)
Main identifiersjobId, url
DeliveryApify Dataset and API
Export formatsJSON, CSV, Excel, XML, HTML (Apify dataset exports)
Update modelFresh records per Actor run
Pricing$3.00 per 1,000 jobs; +$3.00 per 1,000 job details; +$3.00 per unique company overview; +$2.00 per 1,000 reviews

Coverage and available records

The Actor collects public Naukri job listings from three entry points. They can be combined in one run.

  • Search-based: Set searchQueries to job titles, skills, or keywords (for example python developer). Each query is searched in every value in locations. Leave locations empty for a nationwide search. sortBy, freshness, and workMode apply to these keyword searches.
  • URL-based: Pass Naukri search pages or job listing URLs in startUrls. Those URLs are used in addition to keyword searches.
  • Company-based: Pass Naukri company overview pages (for example https://www.naukri.com/infosys-overview-13832) or AmbitionBox review pages (for example https://www.ambitionbox.com/reviews/infosys-reviews) in companyUrls. Live jobs for that company are collected up to maxJobs.

Record types and limits:

  • Listing records are always collected: jobId, title, company, URL, location, experience, salary, skills, work mode, posting fields, rating, and the source query when the row came from search.
  • Job-detail fields are conditional: full description, expanded skills, education, and apply/view counts are returned only when scrapeJobDetails is enabled.
  • Company overview fields are conditional: size, headquarters, followers, type, founded year, about text, and offices attach onto each job from that company when scrapeCompanyOverview is enabled. The overview is collected once per unique company.
  • Review records are conditional: an AmbitionBox reviews array attaches onto each job from that company when scrapeCompanyReviews is enabled, up to maxReviewsPerCompany (default 20; 0 means unlimited).
  • Result cap: maxJobs limits the number of job rows (0 means unlimited, the default). Company overview fields and reviews are attached onto those rows; they are not extra dataset items.

Known exclusions: content Naukri or AmbitionBox only shows behind login is not collected; each run captures page state at run time (no historical snapshots); freshness and workMode filters apply to keyword/location searches, not to arbitrary start URLs.

Data dictionary

Field names below match dataset record JSON properties exactly. Fields marked conditional appear only when the corresponding input toggle is enabled. jobId is the recommended deduplication key; url is a reasonable secondary key.

Listing fields

FieldTypeNullableDescriptionExample
jobIdstringNoNaukri job identifier; best stable deduplication key150126031660
titlestringNoJob title as listedPython Developer (@Infosys)
companyNamestringNoHiring company nameInfosys
urlstringNoJob listing URLhttps://www.naukri.com/job-listings-python-developer-infosys-infosys-kolkata-hyderabad-bengaluru-5-to-10-years-150126031660
companyUrlstringYesNaukri company overview URLhttps://www.naukri.com/infosys-overview-13832
locationstringYesJob location as listed (may include multiple cities)Kolkata, Hyderabad, Bengaluru
experiencestringYesExperience range as shown on Naukri5-10 Yrs
minimumExperienceintegerYesMinimum years of experience5
maximumExperienceintegerYesMaximum years of experience10
salarystringYesSalary as shown on the listingNot disclosed
postedAgostringYesRelative posting age as rendered on Naukri7 Days Ago
postedDatestringYesPosting timestamp (ISO 8601)2026-08-11T10:39:09.094000+00:00
skillsstring[]YesSkills shown on the listing["Django", "Python", "Flask"]
workModestringYesWork arrangement when shown (Hybrid, Remote, or office)Hybrid
diversityTagstringYesDiversity label when Naukri shows onePrefers women
ratingnumberYesCompany rating (typically AmbitionBox, 0–5)3.5
reviewCountintegerYesCompany review count shown on the listing50508
sourceQuerystringYesSearch keyword that produced the rowpython developer
sourceLocationstringYesLocation used in the searchbangalore
itemTypestringNoRecord type; always job on dataset rowsjob

Job-detail fields (conditional — scrapeJobDetails)

FieldTypeNullableDescriptionExample
descriptionstringYesFull job descriptionLong-form text
skillsstring[]YesListing skills expanded with detail-page skills["Django", "Python", "Flask"]
educationobjectYes{undergraduate, postgraduate, doctorate} string arraysSee nested object
applyCountintegerYesNumber of applications shown on the listingNull when the listing does not show a count
viewCountintegerYesNumber of views shown on the listingNull when the listing does not show a count
employmentTypestringYesEmployment type when the detail page provides itpermanent

Company overview fields (conditional — scrapeCompanyOverview)

These fields attach onto every job row from that company. The overview is fetched once per unique company.

FieldTypeNullableDescriptionExample
companySizestringYesEmployee-size bucket100001+
headquartersstringYesHeadquarters as shown on the company pageBengaluru
followCountintegerYesNaukri follower count1878902
companyTypestringYesOrganisation typePublic
foundedstringYesFounding year as shown on the company page1981
companyAboutstringYesCompany about textInfosys is a global leader in next-generation digital services and consulting.
companyOfficesobject[]YesOffices: {city, address, pincode, isHeadquarter}See example record

Review fields (conditional — scrapeCompanyReviews)

Each job record may include a reviews array from AmbitionBox. One review object:

FieldTypeNullableDescriptionExample
reviewIdintegerNoAmbitionBox review identifier78544194
titlestringYesReview titlerated by a Technical Lead in Bengaluru
ratingnumberYesOverall company rating on the review (0–5)1.0
likesstringYesWhat the reviewer likedCulture and env.
dislikesstringYesWhat the reviewer dislikedManager are no supportive...
departmentstringYesReviewer departmentSoftware Development
locationstringYesReviewer locationBengaluru
jobProfilestringYesReviewer job titleTechnical Lead
employmentTypestringYesEmployment type on the reviewpermanent
workPolicystringYesWork policy on the reviewHybrid
postedAgostringYesRelative review date as rendered14 Aug 2026
verifiedbooleanYesWhether AmbitionBox marks the review verifiedfalse

Example dataset record

Representative record from a python developer search in bangalore, with company overview and reviews enabled. companyAbout is shortened for length; the JSON below is valid. The reviews array is limited to one item for readability.

{
"jobId": "150126031660",
"title": "Python Developer (@Infosys)",
"companyName": "Infosys",
"url": "https://www.naukri.com/job-listings-python-developer-infosys-infosys-kolkata-hyderabad-bengaluru-5-to-10-years-150126031660",
"companyUrl": "https://www.naukri.com/infosys-overview-13832",
"location": "Kolkata, Hyderabad, Bengaluru",
"experience": "5-10 Yrs",
"minimumExperience": 5,
"maximumExperience": 10,
"salary": "Not disclosed",
"postedAgo": "7 Days Ago",
"postedDate": "2026-08-11T10:39:09.094000+00:00",
"skills": ["Django", "Python", "Flask", "Angularjs", "Full Stack", "Angular"],
"workMode": "Hybrid",
"diversityTag": "Prefers women",
"rating": 3.5,
"reviewCount": 50508,
"sourceQuery": "python developer",
"sourceLocation": "bangalore",
"companySize": "100001+",
"headquarters": "Bengaluru",
"followCount": 1878902,
"companyType": "Public",
"founded": "1981",
"companyAbout": "Infosys is a global leader in next-generation digital services and consulting.",
"companyOffices": [
{
"city": "Bengaluru",
"address": "Infosys, Plot No.44 Hosur Main Road, Electronics City",
"pincode": "Karnataka 560100",
"isHeadquarter": true
}
],
"reviews": [
{
"reviewId": 78544194,
"title": "rated by a Technical Lead in Bengaluru",
"rating": 1.0,
"likes": "Culture and env.",
"dislikes": "Manager are no supportive...",
"department": "Software Development",
"location": "Bengaluru",
"jobProfile": "Technical Lead",
"employmentType": "permanent",
"workPolicy": "Hybrid",
"postedAgo": "14 Aug 2026",
"verified": false
}
],
"itemType": "job"
}

A matching input for that record shape:

{
"searchQueries": ["python developer"],
"locations": ["bangalore"],
"maxJobs": 20,
"scrapeCompanyOverview": true,
"scrapeCompanyReviews": true,
"maxReviewsPerCompany": 20,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}

Job-detail fields such as description, education, applyCount, and viewCount appear when scrapeJobDetails is enabled.

Query and input reference

InputTypeRequiredDefaultAccepted valuesDescription
searchQueriesstring[]No*[]Job titles, skills, or keywordsCombined with each location. Prefill: python developer
locationsstring[]No[]Indian cities or regions as shown on NaukriEach query is searched in every location. Empty = nationwide. Prefill: bangalore
startUrlsarray (requestListSources)No*[]Naukri search pages or /job-listings-... URLsUsed in addition to search queries
companyUrlsarray (requestListSources)No*[]Naukri overview or AmbitionBox review pagesCollects live jobs for that company up to maxJobs
maxJobsintegerNo00 or any positive integerMaximum job rows; 0 = unlimited. Overview and reviews attach onto those rows
sortBystringNorelevancerelevance, dateSearch-result sort (date is newest first)
freshnessstringNoanyany, 1, 3, 7, 15, 30Posted-within window for keyword/location searches (days)
workModestringNoanyany, office, hybrid, remoteWork-arrangement filter for keyword/location searches
scrapeJobDetailsbooleanNofalsetrue / falseCollect full description, skills, education, and apply/view counts (charged as job-details)
scrapeCompanyOverviewbooleanNofalsetrue / falseAttach company profile fields onto each job (charged once per unique company)
scrapeCompanyReviewsbooleanNofalsetrue / falseAttach AmbitionBox reviews onto each job (charged per review)
maxReviewsPerCompanyintegerNo200 or any positive integerReview cap per company; 0 = unlimited. Ignored when reviews are disabled
detailConcurrencyintegerNo5120Maximum parallel job-detail and company requests
proxyConfigurationobjectNoApify proxy, RESIDENTIAL groupApify proxy groups or custom proxiesResidential proxies are recommended

* Provide at least one of searchQueries, startUrls, or companyUrls.

Minimal request:

{ "searchQueries": ["python developer"], "locations": ["bangalore"], "maxJobs": 20 }

Advanced request (search filters plus a company page and enrichment):

{
"searchQueries": ["python developer"],
"locations": ["bangalore"],
"companyUrls": [{ "url": "https://www.naukri.com/infosys-overview-13832" }],
"maxJobs": 100,
"sortBy": "date",
"freshness": "7",
"workMode": "hybrid",
"scrapeJobDetails": true,
"scrapeCompanyOverview": true,
"scrapeCompanyReviews": true,
"maxReviewsPerCompany": 20,
"proxyConfiguration": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"] }
}

Retrieve the data through the API

The Actor runs on the Apify platform, so there is no server to host and no crawling infrastructure to maintain.

  1. Start the Actor with a JSON input (console or API).
  2. Wait for the run to finish, or use a synchronous endpoint if you want the response inline.
  3. Retrieve items from the run's default dataset.
  4. Paginate or export the dataset.

Python example:

from apify_client import ApifyClient
client = ApifyClient("YOUR-APIFY-TOKEN")
run_input = {
"searchQueries": ["python developer"],
"locations": ["bangalore"],
"maxJobs": 20,
"scrapeJobDetails": True,
}
run = client.actor("datascrapers/naukri-scraper").call(run_input=run_input)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item["jobId"], item["title"], item["companyName"])

Apify generates ready-to-run Python, JavaScript, and cURL examples on the Actor's API tab. Do not put a real API token in shared code or URLs.

Data quality and record handling

  • Conditional fields: job-detail, company-overview, and review fields are present only when their input toggle is enabled. Listing-only runs return a leaner record.
  • Attached enrichments: company overview and reviews are nested on the job row. A company with 20 reviews still produces one dataset item per job, not extra rows.
  • Source changes: Naukri and AmbitionBox page structure and values can change; unreadable fields are returned as null rather than fabricated. Salary is often the string Not disclosed.
  • Deduplication: within a run, listings are deduplicated by jobId. Across runs, use jobId (or url) as the stable key and filter against previously stored IDs.
  • Detail fallback: listing data is returned even when job-detail enrichment fails.
  • Normalization: minimumExperience and maximumExperience are integers; postedDate is ISO 8601; skills is a string array. sourceQuery and sourceLocation are written on search-produced rows.
  • Location spelling: keyword search locations should match Naukri's search labels (for example bangalore). Listing text may use a different spelling (for example Bengaluru).

Export and pipeline examples

DestinationRecommended methodTypical use
PostgreSQL / SupabaseDataset API poll or webhook consumerStore job listings alongside talent tables
Google SheetsApify Google Sheets integrationShare role shortlists with recruiting teams
CRM / ATS pipelineWebhook on run completionPush new listings into applicant tracking
S3 / cloud storageScheduled export via Apify scheduler + integrationArchival of labor-market snapshots

Pricing and cost examples

The Actor uses pay-per-event pricing. Events are tiered by Apify plan. Published event rates:

EventTriggerRate
Actor startOnce per run$0.00005
dataset-itemEvery job record pushed to the dataset$0.003 / job ($3.00 per 1,000 jobs)
job-detailsscrapeJobDetails enabled, detail data fetched$0.003 / job ($3.00 per 1,000 jobs)
company-overviewscrapeCompanyOverview enabled, once per unique company$0.003 / company ($3.00 per 1,000 companies)
company-reviewsscrapeCompanyReviews enabled, per AmbitionBox review$0.002 / review ($2.00 per 1,000 reviews)

Example costs at the published event rates (Actor start is $0.00005 per run):

RecordsConfigurationEstimated base cost
1,000 jobsListing only$3.00
10,000 jobsListing only$30.00
1,000 jobsListing + job details$6.00
1,000 jobs + 200 unique companiesListing + company overview$3.60
1,000 jobs + 1,000 reviewsListing + reviews$5.00
1,000 jobs + details + 200 overviews + 1,000 reviewsAll enrichments$8.60

Paid Apify plans apply lower tiered event rates. Compute units consumed by the run are billed by your Apify plan. Estimates depend on the verified pricing model, unique-company count, review volume, and the options selected for the run.

Limitations and responsible data use

  • The Actor collects publicly accessible data from Naukri job and company pages, and from AmbitionBox review pages when reviews are enabled.
  • Field availability depends on what the source renders at run time; some values can be null or missing, and site changes can alter fields.
  • freshness and workMode apply to keyword/location searches. Location values should match Naukri search labels.
  • Company overview and reviews attach onto job rows; they are not standalone dataset items.
  • The Actor does not provide historical snapshots unless you store them yourself.
  • You are responsible for compliance with Naukri and AmbitionBox terms of service, applicable privacy law, and any contractual obligations before using the data.

Dataset questions

What does one dataset item represent?

One Naukri job listing. Company overview fields and AmbitionBox reviews attach onto that job row. A job whose company has 20 reviews still produces a single dataset item.

Which field should I use as a unique identifier?

jobId is the stable Naukri job identifier and is the recommended deduplication key. The url is a reasonable secondary key.

Are fields nullable or conditional?

Yes. Job-detail fields exist only when scrapeJobDetails is enabled; company overview fields exist only when scrapeCompanyOverview is enabled; the reviews array exists only when scrapeCompanyReviews is enabled. Within available records, fields the listing does not render are returned as null. salary is often the string Not disclosed.

How do I collect live jobs for one company?

Add the Naukri overview URL or AmbitionBox review URL to companyUrls. The Actor collects that company's live jobs up to maxJobs and attaches overview and review fields onto those rows when the corresponding toggles are on.

Can I retrieve the records as CSV or JSON?

Yes. The dataset can be exported as JSON, CSV, Excel, XML, or HTML from the Apify Console, and queried through the Dataset API.

Does the Actor return historical data?

No. Each run captures the state of the listings at run time. To track posting or salary changes, schedule repeated runs and store the outputs yourself.

What counts as a billable result?

Four pay-per-event charges apply after a $0.00005 Actor-start charge: a dataset-item charge for every job row ($3.00 per 1,000), a job-details charge for each enriched job ($3.00 per 1,000), a company-overview charge once per unique company ($3.00 per 1,000), and a company-reviews charge per AmbitionBox review ($2.00 per 1,000). A listing-only run incurs Actor start plus dataset-item charges.

Data Scrapers support

Need an additional field, record type, or export workflow? Contact Data Scrapers at stardustspotlight@gmail.com. Include a sample source URL, required fields, expected record volume, and preferred delivery format.