Apify Store
AS
Apify Store
/memo23/naukri-scraper

Naukri Job Scraper — India + Gulf · Emails & 41 Fields

Scrape Naukri and NaukriGulf jobs for recruiting intel, talent-market research, and lead gen — employer emails included. One run covers India + the Gulf: 41 fields per job (salary bands, skills, educa

liveasyncunknown~30s typical
jobslead generationmcp serversnaukri
$0.0019
per result + $0.005 call
plus $0.001 platform fee per run
Actor charges $0.0015 per result; Cracked adds 25% plus a $0.005 call fee
Bring your own Apify Store key: provider portion drops to $0.
$Set up https://cracked-ai-pearl.vercel.app/SKILL.md, then use Cracked to run apify /memo23/naukri-scraper for me.

Input

FieldTypeDescription
startUrlsarrayJob list / search / company-overview URLs. Supports Naukri search URLs, Naukri company pages (<code>*-overview-{id}</code>), Naukrigulf search URLs, and direct job-detail URLs. Non-empty list = only these URLs are used. Prefill is empty so new runs use <strong>Scrape with search filters</strong> below.
platformstring (naukri | naukrigulf)Naukri vs Naukrigulf for filter-built search only. default "naukri"
searchQuerystringJob keyword or role (filter mode only). Examples: <code>developer</code>, <code>data scientist</code>, <code>pharma manager</code>. If omitted, the search falls back to the prefill default <code>developer</code>.
locationstringCity, region, or country text (filter mode only). Examples: <code>bangalore</code>, <code>india</code>, <code>dubai</code>, <code>riyadh</code>. If omitted, the search falls back to <code>india</code> (Naukri) or <code>dubai</code> (Naukrigulf).
maximumJobsintegerCap on jobs per run (all modes). Pricing limits still apply. default 10000
jobIdsarrayFetch these exact Naukri jobs by ID and skip search entirely — ideal for refreshing or monitoring specific postings. The job ID is the digits at the end of a job URL (e.g. <code>...-091025500280</code>). When set, Start URLs and every search filter are ignored.
sortBystring (relevance | date)Order search results by relevance (default) or by date (freshest first). Applies to filter-built searches and pasted search URLs. default "relevance"
citiesarrayAdd more cities — each city runs its own search and results are merged (up to <em>Maximum jobs</em>). Plain city names, e.g. <code>bangalore</code>, <code>mumbai</code>, <code>delhi</code>. Works together with <em>Location</em>.
experienceLevelintegerMinimum years of experience (filter mode).
jobTypestringOptional; forwarded where the site supports it (e.g. Naukri <code>jobPostType</code>).
workModestringMulti-select work-mode filter. Comma-separate values: <code>0</code> = Work from office · <code>2</code> = Remote / work from home · <code>3</code> = Hybrid. Example: <code>2,3</code> for Remote + Hybrid only.
industrystringIndustry name or numeric Naukri industry ID. Maps to URL <code>industryType=</code>. Examples: <code>IT Services & Consulting</code>, <code>Financial Services</code>, <code>Pharmaceutical & Life Sciences</code>.
roleCategorystringRole category text (Naukri's internal taxonomy). Examples: <code>Software Development</code>, <code>Data Science</code>, <code>Sales</code>, <code>Marketing</code>, <code>Customer Success</code>.
companyTypestringFilter by employer type. Comma-separate: <code>1</code> = Company Jobs (employer-posted) · <code>2</code> = Consultant (recruiter-posted). Example: <code>1</code> to exclude consultants.
salaryRangearrayKeep jobs whose annual CTC falls in the selected band(s). Server-side Naukri filter; jobs that hide salary are kept.
departmentarrayFilter by Naukri department / functional area.
ugCoursearrayFilter by required undergraduate degree. Jobs open to "Any Graduate" always match.
pgCoursearrayFilter by required postgraduate degree. Jobs open to "Any Postgraduate" always match.
timeFilterstring ( | 24h | 7d | 30d | 90d)Drop rows whose posted date is older than this window. Naukri uses <code>createdDate</code>; Naukrigulf uses <code>PostedDate</code>. Rows without a parseable date are kept. default ""
minSalaryintegerKeep only jobs whose pay reaches at least this <strong>annual</strong> amount, in rupees (e.g. <code>1000000</code> = ₹10 LPA). Permissive — Naukri jobs often hide salary, and those rows are kept rather than dropped. default 0
freshnessDaysintegerServer-side Naukri filter (URL <code>jobAge</code>): return only jobs posted within the last N days, e.g. <code>1</code>, <code>3</code>, <code>7</code>, <code>15</code>. Unlike the client-side date window, this narrows what Naukri returns. Leave empty for no freshness limit.
includeDescriptionbooleanWhen OFF, the actor strips <code>description</code> / <code>Description</code> / <code>jobDescription</code> / <code>JobDescription</code> from every row. default true
cleanHtmlbooleanWhen ON, strip HTML tags from description fields. Ignored when <code>includeDescription</code> is OFF. default false
enrichEmailsbooleanIf enabled, tries to find a contact email for each employer by discovering the company's website (Clearbit) and reading its contact/about pages. Adds contactEmail + contactWebsite columns plus a detailed emailEnrichment object. Best-effort, billed per contact email found; only charged when an email is returned, never for misses. default false
qualifyByPaymentbooleanRequires "Enrich with contact emails". Scans each employer's website — reusing the pages already fetched for email discovery, so no extra cost or time — for payment processors and e-commerce platforms (Stripe, Shopify, PayPal, Paddle, Lemon Squeezy, WooCommerce, Square, Chargebee and more). Adds takesPayments (is this a real paying business?), paymentProcessors (which stack), stripeLiveKey (the public key if exposed) and paymentConfidence. Turn raw contacts into monetization-qualified leads. No extra charge — included with each enriched company. default false
maxConcurrencyintegerMaximum parallel pages / requests. default 10
minConcurrencyintegerMinimum parallel workers. default 1
maxRequestRetriesintegerRetries per failed request before giving up. default 10
includeAmbitionBoxDetailsbooleanAdds heavier company enrichment to each item when enabled. Specifically: fetches the employer's AmbitionBox profile and adds an <code>ambitionBox</code> object (company rating, review count, rating breakdown, top reviews) to each Naukri.com row — Naukrigulf rows are unaffected. Slows the run ~2–3x; pricing unchanged. Default: <code>false</code>. default false
proxyobjectLeave empty — the actor already routes all traffic through its own built-in residential proxy at no extra cost to you. Only set this if you want to use your own proxies.

Call it

curl
curl https://cracked-ai-pearl.vercel.app/v1/run \
  -H "Authorization: Bearer ck_live_..." -H "content-type: application/json" \
  -d '{"provider":"apify","endpoint":"/memo23/naukri-scraper","input":{"startUrls":["https://www.naukri.com/development-programmer-jobs?k=development%2C%20programmer&nignbevent_src=jobsearchDeskGNB","https://www.naukri.com/cognizant-overview-4156?tab=jobs"],"platform":"naukri","searchQuery":"developer","location":"india","maximumJobs":3,"maxConcurrency":3},"wait":false}'
poll
curl "https://cracked-ai-pearl.vercel.app/v1/runs/<runId>?wait=30" -H "Authorization: Bearer ck_live_..."
cli
npx cracked-ai run -p apify -e /memo23/naukri-scraper -i '{"startUrls":["https://www.naukri.com/development-programmer-jobs?k=development%2C%20programmer&nignbevent_src=jobsearchDeskGNB","https://www.naukri.com/cognizant-overview-4156?tab=jobs"],"platform":"naukri","searchQuery":"developer","location":"india","maximumJobs":3,"maxConcurrency":3}' -w 120
mcp
run_tool({ provider: "apify", endpoint: "/memo23/naukri-scraper", input: {"startUrls":["https://www.naukri.com/development-programmer-jobs?k=development%2C%20programmer&nignbevent_src=jobsearchDeskGNB","https://www.naukri.com/cognizant-overview-4156?tab=jobs"],"platform":"naukri","searchQuery":"developer","location":"india","maximumJobs":3,"maxConcurrency":3}, wait: false })

Try it

Runs against your signed-in workspace balance. Sign in if you have not.