Initial release. Pay-per-event Naukri.com job scraper, a cheaper drop-in for automation-lab/naukri-scraper:
- Input (drop-in field names):
keyword and location (each a string OR a list — multiple keywords × locations run in one job), maxJobs (1–5000), experienceMin, experienceMax, salaryMin, workMode (any/remote/hybrid/office), sortBy (relevance/date), maxRequestRetries, proxyConfiguration.
- Output:
jobId, jobUrl, title, companyName, companyUrl, companyLogoUrl, companyRating, companyReviewsCount, ambitionBoxUrl, location, workMode, isRemote, isHybrid, experienceText, experienceMin, experienceMax, salary, salaryMin, salaryMax, salaryCurrency, skills, skillsCount, jobDescription, postedDate, postedDateRelative, postedDaysAgo, applyByDate, vacancy, keyword, locationSearched, searchUrl, scrapedAt.
- Run-scoped deduplication by
jobId — overlapping keyword/location searches are billed at most once per job.
- Charges
job_scraped ($0.002) only after pushData succeeds; actor_start is $0.001. ~13% cheaper per job and 80% cheaper run-start than the reference ($0.0023/job + $0.005/run).
- PlaywrightCrawler + residential proxy: Naukri's
jobapi/v3/search is reCAPTCHA-gated (HTTP returns 406) and the SSR page ships empty jobDetails, so the actor renders the SEO search-results page in a real browser and parses .srp-jobtuple-wrapper cards with Cheerio. SRP pagination via /<keyword>-jobs-<N> URLs.
- Quality enrichments over the reference:
postedDaysAgo (numeric), isRemote/isHybrid booleans, skillsCount, searchUrl provenance, batch keyword × location input.
- Client-side filtering for
workMode, experienceMin/experienceMax, and salaryMin (more reliable than Naukri's brittle filter query params); sortBy=date maps to Naukri's freshness sort.
- Session rotation on 403/429/challenge pages;
Actor.on('aborting') flushes state and exits within 1s so user cost ceilings are honored.