Naukri Jobs Scraper
Pricing
from $0.26 / 1,000 jobs
Naukri Jobs Scraper
Search public Naukri job listings by keyword and location. Some runs come back short when Naukri limits what it serves, and you only pay for the rows that actually arrive.
Pricing
from $0.26 / 1,000 jobs
Rating
0.0
(0)
Developer
Dami's Studio
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Naukri Jobs Scraper: public job listings from India, by keyword and city
Search Naukri by keyword, optionally narrowed to Indian cities, and get one row per job. Title, company, location, the experience band, salary where the employer published it, the skills tags, when it went up, the listing snippet and the public apply URL. No login and no Naukri account.
The honest part: some runs come back shorter than you asked for, because Naukri limits what it serves. You only pay for the rows that actually arrive, and a run that comes back light is a real outcome rather than a fault you can configure away.
| Input | Keywords, and optionally Indian cities |
| Output | One row per job |
| Ceiling | 1,000 jobs per run |
| Account needed | None, and no Naukri login |
| Price | $0.38 per 1,000 jobs on the free plan, less on paid plans |
🔍 What Naukri Jobs Scraper does
Every keyword is searched against every location you give it, so two queries and three cities is six searches. Results are deduplicated on Naukri's own job ID across all of them, so the same listing appearing under two keywords costs you once.
Listings Naukri hands back that do not actually match what you asked for are dropped before anything is charged. That matters on Naukri, where a thin search gets padded out with unrelated roles.
Paging stops at your page limit, at your item limit, at an empty page, or at the first page that brings back nothing new.
📥 What you give it
{"searchQueries": ["python developer", "data engineer"],"locations": ["Bengaluru", "Hyderabad"],"maxItems": 200,"maxPagesPerSearch": 5}
| Field | Default | What it is |
|---|---|---|
searchQueries | empty list | Keywords or job titles. The Console box starts at python developer; an API call has to send its own. |
locations | empty list | Indian city or region names. Leave it empty to search the whole country. |
experience | none | An experience label to keep, written the way Naukri writes it, such as 3-5 Yrs. |
maxItems | 100 | 1 to 1,000 unique jobs across every search. |
maxPagesPerSearch | 5 | 1 to 25 pages per keyword and location pair. |
requestTimeoutSecs | 35 | 10 to 90 seconds for one request. |
includeDetails | on | Keeps the public listing snippet that comes back with the search card. |
useBrowserFallback | on | Lets a refused search try again another way. Leave it on; turning it off makes short runs more likely. |
maxProxyRetries | 1 | 0 to 3 further attempts after a refusal. |
proxyConfiguration | none | Optional network settings. Your own servers, if you give any, are used exactly as supplied. |
Do not search with a term where every word is under three letters. QA, HR and UI switch
the relevance filter off, and unrelated listings then come back and are charged. Write
QA engineer or HR manager instead.
📤 What you get back
A real row from a recent run, with the snippet and the URL cut short:
{"ok": true,"charged": true,"jobId": "120926013305","title": "Python Developer","company": "Infosys","location": "Hybrid - Hyderabad, Bengaluru, Delhi / NCR","experience": "5-8 Yrs","salary": "Not disclosed","skills": ["python", "Numpy", "sql", "Pandas", "etl", "Automation", "..."],"postedAt": "2026-09-12T10:06:08.296Z","description": "We are looking for an experienced Python Developer with 5-8 years ...","url": "https://www.naukri.com/job-listings-python-developer-infosys-hyderabad-...","query": "python developer","searchLocation": null,"source": "direct-http+token"}
| Field | What it is |
|---|---|
jobId | Naukri's own ID. Stable, and the deduplication key across runs. |
salary | What the employer published. On Naukri that is very often the literal string Not disclosed, which is a value, not a missing field. |
experience | The band as Naukri shows it, like 5-8 Yrs. Text, not numbers. |
skills | The tags on the listing card, as an array. |
postedAt | A real timestamp when Naukri gives one, otherwise the label it displayed. |
description | The public snippet from the search card, and it keeps Naukri's own <br> tags. Empty when includeDetails is off. |
location | One string, exactly as shown, so a multi-city listing stays one row. |
query, searchLocation | Which of your searches produced this row. searchLocation is null on a nationwide search. |
🧾 Reading the output
Three kinds of row can land in your dataset.
| Row | How to spot it | Charged |
|---|---|---|
| A job | _sample and _diagnostic both absent, and a jobId | yes |
| The sample row | _sample: true | no |
| A diagnostic | _diagnostic: true and a code | no |
Filter on _sample and _diagnostic being absent. Do not filter on charged: it is stamped on
a row when the row is built, so it is a label for what kind of row this is, not a receipt. And do not
filter on ok alone, because the sample row is ok: true and looks like a real job in the table.
Diagnostics carry code, not errorCode. BLOCKED is the one you will actually see: Naukri
refused that search, and nothing from it was delivered or charged. The row also records which
search it was and how far it had got.
▶️ How to run it
- Open Naukri Jobs Scraper and click Try for free.
- Put your keywords into Search queries, one per line.
- Add Indian cities to Locations, or leave it empty for the whole country.
- Leave Maximum jobs at 100 for a first run, then click Start.
- Download the dataset as JSON, CSV or Excel, or read it from the Apify API.
💰 How much does it cost?
$0.38 per 1,000 jobs on the free plan. It falls with your Apify plan: $0.34 on Bronze, $0.30 on Silver, and $0.26 on Gold, Platinum and Diamond.
You pay per job row delivered. Duplicates across your searches, listings dropped for not matching your query, the sample row and diagnostic rows are all free.
💡 What people use it for
- Recruiters watching which companies are hiring for a stack in Bengaluru or Hyderabad this week.
- Job boards pulling Indian listings on a schedule and deduplicating on
jobId. - Tracking the skills tags that keep appearing against a role, straight out of
skills. - Comparing experience bands being asked for across cities, using
experience. - Building a company shortlist by running an employer name as the keyword.
🚧 What it does not do
- Search-card fields only. Whatever Naukri puts on the result card is what you get. There is no visit to the full job page.
- No logins, no applications, no candidate data. Public listings, read the way a visitor sees them.
- Salary is often
Not disclosed, because Indian listings frequently omit it. No number is inferred. - Runs can come back short. Naukri limits what it serves, and when a search is refused you get an uncharged diagnostic rather than filler.
- Rows land at the end of the run, which has a 15 minute ceiling. A very large search can run
out of time and deliver nothing, so keep
maxItemsandmaxPagesPerSearchsensible and run more often instead. - 1,000 jobs per run is the hard ceiling. For more, split by keyword or by city.
experiencematches the visible label, so it only keeps rows whose band is written exactly the way you typed it.
🧭 Which jobs scraper do you need?
| If you want | Use |
|---|---|
| Jobs on Naukri in India | This one |
| Gulf jobs from Naukrigulf | Naukrigulf Jobs Scraper |
| Jobs in Australia and New Zealand | SEEK Jobs Scraper |
| Jobs across 11 countries on Indeed | Indeed Jobs Scraper |
| Jobs posted on LinkedIn | LinkedIn Jobs Scraper |
❓ Questions people ask
Do I need a Naukri account? No. A keyword is enough.
Why did I get fewer jobs than I asked for? Either the search genuinely has fewer, or Naukri served less than it holds. You pay for what arrived, not for what you asked for.
Why is salary "Not disclosed" on most rows? Because that is what the employer published. It is the site's own wording, kept as it stands.
Can I search several cities at once? Yes. Every keyword runs against every location, and the results are deduplicated on job ID before anything is charged.
Can I get the full job description? Not the full page. You get the public snippet from the
search card when includeDetails is on.
Is scraping job listings legal? These are public job adverts. They can name real people, which GDPR and India's own data rules cover, so have a reason for collecting them and keep to a sensible request rate. Apify's write-up on scraping and the law is a good place to start, and we are not lawyers.
🆘 If something breaks
Open the Issues tab on the actor page. Send the keyword, the city and the run ID. The code on
the diagnostic row, plus the search it names, usually points straight at the problem.