Naukri APInaukri.com ↗
Access Naukri.com job listings, company profiles, and similar job recommendations via a structured API. Search by keyword, location, experience, and salary.
What is the Naukri API?
This API exposes 5 endpoints covering Naukri.com's job and company data, including search, full job details, company profiles, and similar job recommendations. The search_jobs endpoint accepts filters for keyword, location, experience in years, salary range, and sort order, returning structured arrays of job listings alongside cluster facets. Data covers India's largest job portal, making it useful for job aggregators, salary benchmarking tools, and recruiting pipelines.
curl -X GET 'https://api.parse.bot/scraper/d67321f5-cc64-4928-92d4-1d6e2ade4d46/search_jobs?keyword=python+developer&page_no=1&sort_by=relevance&location=bangalore&experience=5' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace naukri-com-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: Naukri SDK — bounded, re-runnable; every call capped."""
from parse_apis.Naukri_com_Jobs_API import Naukri, Sort, JobNotFound
naukri = Naukri()
# Search for Python developer jobs in Bangalore, sorted by date
for job in naukri.jobs.search(keyword="python developer", location="bangalore", sort_by=Sort.DATE, limit=5):
print(job.title, job.company_name, job.min_experience, job.max_experience)
# Drill-down: take one job and explore similar listings
job = naukri.jobs.search(keyword="data analyst", limit=1).first()
if job:
for sim in job.similar(limit=3):
print(sim.title, sim.company_name, sim.experience_text)
# Get full details for a specific job by ID
try:
detail = naukri.jobs.get(job_id="150526031159")
print(detail.title, detail.company_name, detail.employment_type)
except JobNotFound as exc:
print(f"Job not found: {exc}")
# Search companies and get a detailed profile
for company in naukri.companies.search(query="infosys", limit=3):
print(company.group_name, company.rating, company.reviews_count)
accenture = naukri.companies.get(group_id="10476")
print(accenture.group_name, accenture.overall_rating, accenture.tags)
print("exercised: jobs.search / jobs.get / job.similar / companies.search / companies.get")
Search for job listings on Naukri.com by keyword, location, experience, and salary. Returns paginated results with up to 20 jobs per page. Pagination is page-number based starting at 1.
| Param | Type | Description |
|---|---|---|
| salary | string | Salary filter value. |
| keyword | string | Search keyword such as job title, skill, or company name (e.g., 'python developer', 'data analyst'). |
| page_no | integer | Page number for pagination, starting at 1. |
| sort_by | string | Sort order for results. |
| location | string | Job location city or region (e.g., 'bangalore', 'delhi', 'mumbai'). |
| experience | string | Minimum experience in years (e.g., '5'). |
{
"type": "object",
"fields": {
"noOfJobs": "integer total number of matching jobs",
"jobDetails": "array of job listing objects with title, jobId, companyName, jobDescription, minExperience, maxExperience, minSalary, maxSalary, location, keywords, groupId, employmentType, companyId"
},
"sample": {
"data": {
"noOfJobs": 15164,
"jobDetails": [
{
"jobId": "100626018934",
"title": "Python developer",
"groupId": 393178,
"keywords": "Django Rest Api,Django,Postgresql,Django Framework,Python,azure",
"location": "",
"companyId": "75103",
"maxSalary": "0",
"minSalary": "0",
"companyName": "Dynpro",
"maxExperience": "5",
"minExperience": "0",
"employmentType": "Full Time, Permanent",
"jobDescription": "Preferred candidate profile."
}
]
},
"status": "success"
}
}About the Naukri API
Job Search and Listings
The search_jobs endpoint accepts up to six parameters: keyword, location, experience, salary, sort_by (either relevance or date), and page_no for pagination. Responses include a jobDetails array of individual listings, a noOfJobs integer giving the total match count, and a clusters object containing filter facets that mirror Naukri's own search refinement options. For a deeper look at any listing, pass its ID to get_job_details, which returns a job object with title, full description, salary, experience requirements, company information, location, and keywords.
Similar Jobs and Recommendations
get_similar_jobs takes a job_id and returns simJobDetails, which contains both content and collaborative arrays — two distinct recommendation signals for that listing — plus a noOfJobs count. This is useful for building "you might also like" features or expanding a job graph from a single seed posting. Job IDs can be sourced either from search_jobs results or from the similar jobs response itself.
Company Search and Profiles
search_companies accepts a query string (e.g., 'tcs') and a page_no. Omitting the query returns all indexed company groups. Results include a groupDetails array of company objects — each with groupId, groupName, rating, groupTags, and a logo field — plus noOfGroups and filter clusters covering experience, location, sector, and industry facets.
Passing a group_id to get_company_details returns a full company record: overallRating, groupName, and a sections object that includes structured data for benefits, aboutUs, offices, salaries, similarCompanies, detailedRating, and interviewQuest. This is the primary endpoint for employer research, salary benchmarking by company, or populating a company directory.
The Naukri API is a managed, monitored endpoint for naukri.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when naukri.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official naukri.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Aggregate Naukri job listings by location and experience level into a unified job board.
- Monitor salary data and job availability trends across Indian tech roles using
search_jobsfilters. - Build an employer directory with ratings, benefits, and office locations pulled from
get_company_details. - Power a 'similar jobs' widget in a job portal using
get_similar_jobscollaborative recommendations. - Benchmark company ratings and detailed employee scores for HR analytics using
overallRatinganddetailedRatingfields. - Generate recruiter lead lists by querying
search_companiesfiltered by sector or industry cluster. - Track new job postings by sorting
search_jobsresults bydateand paginating through results.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Naukri.com have an official public developer API?+
What does the `get_company_details` endpoint return beyond a basic company profile?+
sections object containing structured sub-objects for benefits, aboutUs, offices, salaries, similarCompanies, detailedRating, and interviewQuest — alongside the top-level overallRating (a number out of 5) and groupName. The salaries section provides pay data specific to that company group, and similarCompanies enables company graph traversal.Can I retrieve job applications or candidate profiles through this API?+
How does pagination work across endpoints?+
search_jobs and search_companies accept a page_no string parameter. The response includes noOfJobs or noOfGroups as a total count, which you can use to calculate how many pages to iterate. There is no cursor-based pagination — page number is the only mechanism available.Are job listings from outside India covered?+
location filter and cluster data reflect Indian cities and regions. International job markets are not currently covered. You can fork the API on Parse and revise it to point at a different regional source if broader geographic coverage is needed.