Naukri job search data API
Naukri: Job Search App is Info Edge's Android client for India's Naukri.com board. The data API behind those screens starts at /v1/jobs/search for the filtered vacancy list (jobId, title, companyName, salaryDetail) and /v1/jobs/{jobId} for a single posting, then layers on the signed-in profile at /v1/me/profile and recruiter search appearances at /v1/me/search-impressions.
Naukri: Job Search App (package naukriApp.appModules.login, versionName 21.115) is Info Edge's Android client for India's Naukri.com board: candidates search vacancies, open a job description, apply or save a role, upload a resume, and watch recruiter search appearances on their profile. Behind those screens the app talks to a JSON API, with naukri.com used for the web login hand-off. Signed-in calls attach the nauk_at cookie and an Authorization ACCESSTOKEN header issued at login. Job cards use wire names such as jobId, title, companyName, tagsAndSkills, salaryDetail, wfhType, isSaved and isApplied. The surface below covers password/OTP login, job search, job details, the apply workflow, apply history, saved jobs, recommended jobs, the aggregated candidate profile, resume upload, resume parsing, search impressions and company search.
Screenshots
API surface
Login
POST
/v1/auth/sessionosintAuthenticates a Naukri jobseeker with username/password (or encryptedToken) and returns nauk_at cookies plus userInfo.userData (email, resId, username) used as the session for every later call.
Auth: Unauthenticated. Response cookies include nauk_at; later calls send Cookie: nauk_at=<value> and Authorization: ACCESSTOKEN = <value>. atTTL is the access-token lifetime.
- username
- isLoginByEmail
- password
- encryptedToken
- requestSource
- name
- cookies
- domain
- expiry
- httpOnly
- secure
- value
- userInfo
- deviceType
- ipAddress
- userAgent
- userId
- userRole
- userType
- newRegistration
- encryptedResId
- userData
- isEmail
- isPaidClient
- isTechOpsLogin
- resId
- action
- et
- errorCode
- validationErrors
- atTTL
Illustrative example reconstructed from the app's interface — not a live capture.
POST /v1/auth/session HTTP/1.1 Content-Type: application/json Accept-Charset: UTF-8 Accept-Encoding: gzip { "username": "[email protected]", "isLoginByEmail": true, "password": "<password>", "encryptedToken": "", "requestSource": "android", "name": "" }{ "cookies": [{ "name": "nauk_at", "value": "<access-token>", "domain": ".naukri.com", "expiry": 1774550400, "httpOnly": true, "secure": true }], "userInfo": { "deviceType": "android", "ipAddress": "49.36.0.1", "userAgent": "Naukri/21.115", "userId": 8845123, "userRole": "jobseeker", "userType": "js", "newRegistration": false, "encryptedResId": "enc-res-441", "userData": { "email": "[email protected]", "isEmail": true, "isPaidClient": false, "isTechOpsLogin": false, "resId": 44189012, "username": "[email protected]" } }, "userStateInfo": {}, "data": {}, "validationErrors": [], "errorCode": null, "action": "LOGIN_SUCCESS", "et": "ok", "atTTL": 86400 }Derived from the app's interface; endpoint details are illustrative, not a live capture.
Reconstructed from the app's email/password and OTP sign-in screensSession behaviour matches the cookie plus token-header pair attached on every signed-in screen
Search jobs
GET
/v1/jobs/searchopendataReturns the Naukri search-results page: noOfJobs, sid, and a jobDetails list of job cards (jobId, title, companyName, tagsAndSkills, salaryDetail, wfhType, isSaved/isApplied) used by the vacancy listing.
Auth: Optional. Anonymous listing is served without a session. Signed-in calls send Cookie: nauk_at and Authorization: ACCESSTOKEN = <token> so isApplied/isSaved are personalised.
- noOfJobs
- sid
- isLoggedIn
- internshipSRP
- variantName
- jobDetails
- jobId
- title
- shortTitle
- companyName
- shortCompanyName
- companyId
- jobType
- currency
- tagsAndSkills
- jobDescription
- jdURL
- staticUrl
- logoPath
- logoPathV3
- isSaved
- isApplied
- showMultipleApply
- exclusive
- vacancy
- wfhType
- createdDate
- experienceText
- salaryDetail
- minimumSalary
- maximumSalary
- hideSalary
- ambitionBoxData
- aggregateRating
- reviewsCount
- placeholders
- footerPlaceholderLabel
- footerPlaceholderColor
- applyViaCallEnabled
- jobApplyType
- clusters
- clusterOrder
- bellyFilters
- fatFooter
- seo
- suggesterModel
- segmentedExperienceInfo
- clusterAttributes
- keyword
- location
Illustrative example reconstructed from the app's interface — not a live capture.
GET /v1/jobs/search?keyword=software+engineer&location=Bengaluru HTTP/1.1 Accept: application/json Cookie: nauk_at=<access-token> Authorization: ACCESSTOKEN = <access-token>{ "noOfJobs": 1284, "sid": "srp-ndr01d-8845", "isLoggedIn": true, "internshipSRP": false, "variantName": "adv_2", "jobDetails": [{ "jobId": "071225000123", "title": "Software Engineer", "shortTitle": "Software Engineer", "companyName": "Example Corp", "shortCompanyName": "Example Corp", "companyId": 441890, "jobType": "fulltime", "currency": "INR", "tagsAndSkills": "Java, Spring, SQL", "jobDescription": "Build marketplace services in Bengaluru.", "jdURL": "https://www.naukri.com/job-listings-software-engineer-example-corp-bengaluru-071225000123", "staticUrl": "https://www.naukri.com/job-listings-071225000123", "logoPath": "https://img.naukimg.com/logo/441.png", "logoPathV3": "https://img.naukimg.com/logo/v3/441.png", "isSaved": false, "isApplied": false, "showMultipleApply": false, "exclusive": false, "vacancy": 4, "wfhType": 0, "createdDate": 1758902400000, "experienceText": "3-6 Yrs", "salaryDetail": { "minimumSalary": 800000, "maximumSalary": 1200000, "currency": "INR", "hideSalary": false }, "ambitionBoxData": { "aggregateRating": "4.2", "reviewsCount": 1860, "title": "Example Corp Reviews", "url": "https://www.ambitionbox.com/reviews/example-corp" }, "placeholders": [{"type": "experience", "label": "3-6 Yrs"}, {"type": "salary", "label": "8-12 Lacs"}, {"type": "location", "label": "Bengaluru"}], "footerPlaceholderLabel": "Posted 2 days ago", "footerPlaceholderColor": "#666666", "applyViaCallEnabled": false, "jobApplyType": "apply" }], "clusters": {}, "clusterOrder": ["experience", "salary", "location"], "bellyFilters": {}, "fatFooter": [], "seo": {}, "suggesterModel": {}, "segmentedExperienceInfo": {}, "clusterAttributes": {} }Derived from the app's interface; endpoint details are illustrative, not a live capture.
Reconstructed from the app's keyword/location job-search screenCard fields mirror the job list items rendered in the results feed
Fetch job details
GET
/v1/jobs/{jobId}opendataHydrates a single Naukri posting (jobDescription, tagsAndSkills, salaryDetail, vacancy, wfhType, ambitionBoxData) for the job-details screen, including apply/save flags.
Auth: Optional. Anonymous job descriptions are served without a session. Signed-in calls send Cookie: nauk_at and Authorization: ACCESSTOKEN = <token> so isApplied/isSaved are personalised.
- jobId
- title
- companyName
- companyId
- jobType
- currency
- tagsAndSkills
- jobDescription
- jdURL
- staticUrl
- logoPath
- isSaved
- isApplied
- vacancy
- wfhType
- experienceText
- createdDate
- salaryDetail
- minimumSalary
- maximumSalary
- hideSalary
- ambitionBoxData
- aggregateRating
- reviewsCount
- walkInDetail
- applyViaCallEnabled
- companyApplyUrl
- companyUrl
- jobApplyType
Illustrative example reconstructed from the app's interface — not a live capture.
GET /v1/jobs/071225000123 HTTP/1.1 Accept: application/json Cookie: nauk_at=<access-token> Authorization: ACCESSTOKEN = <access-token>{ "jobId": "071225000123", "title": "Software Engineer", "companyName": "Example Corp", "companyId": 441890, "jobType": "fulltime", "currency": "INR", "tagsAndSkills": "Java, Spring, SQL", "jobDescription": "<p>Build marketplace services in Bengaluru.</p>", "jdURL": "https://www.naukri.com/job-listings-software-engineer-example-corp-bengaluru-071225000123", "staticUrl": "https://www.naukri.com/job-listings-071225000123", "logoPath": "https://img.naukimg.com/logo/441.png", "isSaved": false, "isApplied": false, "vacancy": 4, "wfhType": 0, "experienceText": "3-6 Yrs", "createdDate": 1758902400000, "salaryDetail": { "minimumSalary": 800000, "maximumSalary": 1200000, "currency": "INR", "hideSalary": false }, "ambitionBoxData": { "aggregateRating": "4.2", "reviewsCount": 1860, "title": "Example Corp Reviews", "url": "https://www.ambitionbox.com/reviews/example-corp" }, "walkInDetail": null, "applyViaCallEnabled": false, "companyApplyUrl": "", "companyUrl": "https://www.naukri.com/example-corp-jobs-careers-441890", "jobApplyType": "apply" }Derived from the app's interface; endpoint details are illustrative, not a live capture.
Reconstructed from the app's job-description screen
Apply to job
POST
/v1/applicationsopendataSubmits a Naukri apply for jobId, returning applyType/lastStatus used by the post-apply questionnaire screen.
Auth: Required. Cookie: nauk_at plus Authorization: ACCESSTOKEN = <token> issued at login.
- jobId
- isApplied
- applyType
- jobTitle
- company
- companyId
- location
- isOpen
- rpId
- lastStatus
- arsScore
- videoProfilePreferred
- applyViaCallEnabled
Illustrative example reconstructed from the app's interface — not a live capture.
POST /v1/applications HTTP/1.1 Content-Type: application/json Cookie: nauk_at=<access-token> Authorization: ACCESSTOKEN = <access-token> { "jobId": "071225000123" }{ "jobId": "071225000123", "isApplied": true, "applyType": "apply", "jobTitle": "Software Engineer", "company": "Example Corp", "companyId": "441890", "location": "Bengaluru", "isOpen": true, "rpId": "rp-771", "lastStatus": "applied", "arsScore": 78, "videoProfilePreferred": false, "applyViaCallEnabled": false }Derived from the app's interface; endpoint details are illustrative, not a live capture.
Reconstructed from the app's apply button and post-apply questionnaire flow
Apply history
GET
/v1/applications/historyopendataLists the signed-in jobseeker's apply history (jobTitle, company, location, lastStatus, arsScore, applyViaCall) used by the Applications tab.
Auth: Required. Cookie: nauk_at plus Authorization: ACCESSTOKEN = <token> issued at login.
- jobId
- applyType
- jobTitle
- company
- consultancyName
- location
- isOpen
- jobAct
- dateTime
- jobActDate
- rpId
- logoName
- companyId
- arsScore
- starRating
- reviewsCount
- reviewsLink
- feedbackStored
- videoProfilePreferred
- crawled
- callStatus
- applyViaCall
- applyViaCallEnabled
- lastStatus
- isAppliedViaAgent
- priority
Illustrative example reconstructed from the app's interface — not a live capture.
GET /v1/applications/history HTTP/1.1 Accept: application/json Cookie: nauk_at=<access-token> Authorization: ACCESSTOKEN = <access-token>{ "jobs": [{ "jobId": "071225000123", "applyType": "apply", "jobTitle": "Software Engineer", "company": "Example Corp", "consultancyName": "", "location": "Bengaluru", "isOpen": true, "jobAct": 1, "dateTime": 1758988800000, "jobActDate": "2026-09-27", "rpId": "rp-771", "logoName": "https://img.naukimg.com/logo/441.png", "companyId": "441890", "arsScore": 78, "starRating": "4.2", "reviewsCount": 1860, "reviewsLink": "https://www.ambitionbox.com/reviews/example-corp", "feedbackStored": false, "videoProfilePreferred": false, "crawled": false, "callStatus": "", "applyViaCall": false, "applyViaCallEnabled": false, "lastStatus": "applied", "isAppliedViaAgent": false, "priority": 1 }] }Derived from the app's interface; endpoint details are illustrative, not a live capture.
Reconstructed from the app's Applications tab
Saved jobs
GET
/v1/me/saved-jobsopendataReturns the signed-in jobseeker's saved-jobs list (jobDetails / noOfJobs). Companion POSTs save at /v1/jobs/{jobId}/save and unsave at /v1/jobs/{jobId}/unsave.
Auth: Required. Cookie: nauk_at plus Authorization: ACCESSTOKEN = <token> issued at login.
- noOfJobs
- jobDetails
- jobId
- title
- companyName
- companyId
- isSaved
- isApplied
- tagsAndSkills
- jdURL
- salaryDetail
- minimumSalary
- maximumSalary
- currency
- hideSalary
- wfhType
- experienceText
Illustrative example reconstructed from the app's interface — not a live capture.
GET /v1/me/saved-jobs HTTP/1.1 Accept: application/json Cookie: nauk_at=<access-token> Authorization: ACCESSTOKEN = <access-token>{ "noOfJobs": 3, "jobDetails": [{ "jobId": "071225000123", "title": "Software Engineer", "companyName": "Example Corp", "companyId": 441890, "isSaved": true, "isApplied": false, "tagsAndSkills": "Java, Spring, SQL", "jdURL": "https://www.naukri.com/job-listings-071225000123", "salaryDetail": { "minimumSalary": 800000, "maximumSalary": 1200000, "currency": "INR", "hideSalary": false }, "wfhType": 0, "experienceText": "3-6 Yrs" }] }Derived from the app's interface; endpoint details are illustrative, not a live capture.
Reconstructed from the app's saved-jobs list and save/unsave toggles
Recommended jobs
POST
/v1/jobs/recommendationsopendataReturns personalised recommended-job clusters (noOfJobs, sid, recommendedClusters, rawJobDetails) used by the home For You feed.
Auth: Required. Cookie: nauk_at plus Authorization: ACCESSTOKEN = <token> issued at login.
- clusterId
- src
- source
- requestSrc
- landingSource
- isPreferenceUpdated
- jobAgentRequest
- shouldSendMultipleClusters
- segmentedExperience
- lastVisitedJobIds
- appliedJobId
- searches
- keywords
- noOfJobs
- sid
- listingTitle
- showAgentPickedTag
- recommendedClusters
- rawJobDetails
- segmentedExperienceInfo
- jobId
- title
- companyName
- isSaved
- isApplied
Illustrative example reconstructed from the app's interface — not a live capture.
POST /v1/jobs/recommendations HTTP/1.1 Content-Type: application/json Cookie: nauk_at=<access-token> Authorization: ACCESSTOKEN = <access-token> { "clusterId": "home_reco", "src": "home", "source": "android", "requestSrc": "home", "landingSource": "home", "isPreferenceUpdated": false, "jobAgentRequest": false, "shouldSendMultipleClusters": true, "segmentedExperience": "3-6", "lastVisitedJobIds": ["071225000123"], "appliedJobId": "", "searches": [{ "keywords": ["software engineer"], "location": "Bengaluru" }] }{ "noOfJobs": 24, "sid": "reco-ndr01d-8845", "listingTitle": "Jobs for you", "showAgentPickedTag": false, "recommendedClusters": [{ "clusterId": "home_reco", "clusterName": "Based on your profile" }], "rawJobDetails": [{ "jobId": "071225000456", "title": "Backend Engineer", "companyName": "Example Labs", "isSaved": false, "isApplied": false }], "segmentedExperienceInfo": {} }Derived from the app's interface; endpoint details are illustrative, not a live capture.
Reconstructed from the home feed's For You recommendations
Candidate profile
GET
/v1/me/profileosintReturns the signed-in jobseeker's aggregated Naukri profile (profile + user + itskills/educations/employments, including email, mobile, absoluteCtc, resumeHeadline and cvInfo) used by My Naukri.
Auth: Required. Cookie: nauk_at plus Authorization: ACCESSTOKEN = <token> issued at login. Query expand_level=4&pc=1 expands nested sections.
- profile
- profileId
- name
- keySkills
- resumeHeadline
- birthDate
- gender
- contactAddress
- mailCity
- pincode
- city
- locality
- country
- rawTotalExperience
- summary
- absoluteCtc
- absoluteExpectedCtc
- expectedCtcCurrency
- currency
- profileCompletion
- cemProfileCompletion
- isActiveProfile
- cvInfo
- cvFormat
- fileName
- isAvailable
- isTextResume
- source
- moderationStatus
- user
- username
- mobile
- resdexVisibility
- canChooseProfileDuringApply
- isEmailVerified
- isMobileVerified
- isPremium
- lastThirtyDaysApplicationCount
- itskills
- educations
- employments
- certifications
- projects
- languages
- noticePeriod
- onlineProfile
- extendedProfile
- expand_level
- pc
Illustrative example reconstructed from the app's interface — not a live capture.
GET /v1/me/profile?expand_level=4&pc=1 HTTP/1.1 Accept: application/json Cookie: nauk_at=<access-token> Authorization: ACCESSTOKEN = <access-token>{ "profile": { "profileId": "prof-441", "name": "Priya Sharma", "keySkills": "Java, Spring, SQL", "resumeHeadline": "Backend engineer, 5 years", "birthDate": "1996-04-12", "gender": "F", "contactAddress": "Koramangala", "mailCity": "Bengaluru", "pincode": "560034", "city": {"id": 17, "value": "Bengaluru"}, "locality": {"id": 88, "value": "Koramangala"}, "country": {"id": 1, "value": "India"}, "rawTotalExperience": "5 years", "summary": "Built payments APIs.", "absoluteCtc": "1800000", "absoluteExpectedCtc": "2400000", "expectedCtcCurrency": "INR", "currency": "INR", "profileCompletion": 82, "cemProfileCompletion": 80, "isActiveProfile": true, "cvInfo": { "cvFormat": "pdf", "fileName": "Priya_Sharma_Resume.pdf", "isAvailable": true, "isTextResume": false, "source": "upload", "moderationStatus": 1 } }, "user": { "username": "[email protected]", "email": "[email protected]", "mobile": "9876543210", "profileId": "prof-441", "resdexVisibility": "visible", "canChooseProfileDuringApply": true, "isEmailVerified": true, "isMobileVerified": true, "isPremium": false, "lastThirtyDaysApplicationCount": 6 }, "itskills": [{"id": "java", "name": "Java"}], "educations": [], "employments": [], "certifications": [], "projects": [], "languages": [], "noticePeriod": {}, "onlineProfile": [], "extendedProfile": {} }Derived from the app's interface; endpoint details are illustrative, not a live capture.
Reconstructed from the My Naukri profile screenNested sections mirror the profile, skills, education and employment panes
Upload resume
PUT
/v1/me/profiles/{profileId}/resumeosintUploads the jobseeker's CV onto the active profile and returns cvInfo (fileName, cvFormat, isAvailable). Sibling paths cover photo, alternate-resume and delete-resume actions.
Auth: Required. Cookie: nauk_at plus Authorization: ACCESSTOKEN = <token> issued at login. Multipart body is the CV file.
- profileId
- cvInfo
- cvFormat
- fileName
- isAvailable
- isTextResume
- source
- moderationStatus
Illustrative example reconstructed from the app's interface — not a live capture.
PUT /v1/me/profiles/prof-441/resume HTTP/1.1 Content-Type: multipart/form-data; boundary=----NaukriBoundary Cookie: nauk_at=<access-token> Authorization: ACCESSTOKEN = <access-token> ------NaukriBoundary Content-Disposition: form-data; name="file"; filename="Priya_Sharma_Resume.pdf" Content-Type: application/pdf <binary> ------NaukriBoundary--{ "profileId": "prof-441", "cvInfo": { "cvFormat": "pdf", "fileName": "Priya_Sharma_Resume.pdf", "isAvailable": true, "isTextResume": false, "source": "upload", "moderationStatus": 1 } }Derived from the app's interface; endpoint details are illustrative, not a live capture.
Reconstructed from the app's resume-upload flow
Parse resume
GET
/v1/me/resume/parsed-detailsosintReturns structured resume-parse output (workExperience, educations, keySkills.skills with extracted/globalName) after a parse is kicked off with fileKey/formKey. Used to pre-fill registration and profile forms.
Auth: Required. Cookie: nauk_at plus Authorization: ACCESSTOKEN = <token>. Kick-off is POST /v1/me/resume/parse with fileKey and formKey.
- fileKey
- formKey
- flow
- sections
- workExperience
- currentExperience
- previousExperience
- totalWorkExperience
- company
- organizationId
- designation
- designationId
- startDate
- endDate
- educations
- courseType
- institute
- grade
- marks
- educationId
- yearOfStart
- yearOfCompletion
- isPrimary
- keySkills
- skills
- extracted
- globalId
- globalName
- workNature
- metaData
Illustrative example reconstructed from the app's interface — not a live capture.
GET /v1/me/resume/parsed-details?flow=registration§ions=educations,workNature,workExperience,keySkills HTTP/1.1 Accept: application/json Cookie: nauk_at=<access-token> Authorization: ACCESSTOKEN = <access-token>{ "workExperience": { "currentExperience": { "company": "Example Corp", "organizationId": "org-441", "designation": "Software Engineer", "designationId": "des-12", "startDate": "2021-06", "endDate": "" }, "previousExperience": [], "totalWorkExperience": {} }, "educations": [{ "courseType": "fulltime", "institute": "NITK Surathkal", "grade": "8.4", "marks": "8.4", "educationId": "edu-1", "yearOfStart": "2016", "yearOfCompletion": "2020", "isPrimary": true }], "keySkills": { "skills": [{ "extracted": "Java", "globalId": "sk-java", "globalName": "Java" }] }, "workNature": {}, "metaData": {} }Derived from the app's interface; endpoint details are illustrative, not a live capture.
Reconstructed from the registration flow's resume pre-fill step
Search impressions
GET
/v1/me/search-impressionsopendataReturns recruiter-side search-appearance analytics for the signed-in jobseeker (totalSearchAppearances, recruiterActions, searchKeyWords, searchAppearanceTimeline) used by the Profile Performance screen.
Auth: Required. Cookie: nauk_at plus Authorization: ACCESSTOKEN = <token> issued at login.
- recruiterActions
- totalSearchAppearances
- dayWiseSearchAppearance
- percentageChange
- searchAppearanceTimeline
- searchKeyWords
Illustrative example reconstructed from the app's interface — not a live capture.
GET /v1/me/search-impressions HTTP/1.1 Accept: application/json Cookie: nauk_at=<access-token> Authorization: ACCESSTOKEN = <access-token>{ "recruiterActions": 12, "totalSearchAppearances": 148, "dayWiseSearchAppearance": 6, "percentageChange": 18, "searchAppearanceTimeline": { "2026-09-21": 4, "2026-09-22": 7, "2026-09-23": 6, "2026-09-24": 9, "2026-09-25": 8, "2026-09-26": 5, "2026-09-27": 6 }, "searchKeyWords": { "java": 40, "spring": 22, "backend": 18 } }Derived from the app's interface; endpoint details are illustrative, not a live capture.
Reconstructed from the Profile Performance screen
Search companies
GET
/v1/companies/searchopendataLooks up Naukri employer groups (groupId, groupName, groupJobsURL, hasLiveJob, rating, reviewsCount) used by the companies browse / follow screens.
Auth: Optional nauk_at / ACCESSTOKEN. Company-group lookup also accepts a posted list of groupIds.
- groupDetails
- groupId
- groupName
- groupJobsURL
- groupLogo
- groupTags
- hasLiveJob
- rating
- reviewsCount
- tagsOrder
- groupIds
Illustrative example reconstructed from the app's interface — not a live capture.
GET /v1/companies/search HTTP/1.1 Accept: application/json Cookie: nauk_at=<access-token> Authorization: ACCESSTOKEN = <access-token>{ "groupDetails": [{ "groupId": 441890, "groupName": "Example Corp", "groupJobsURL": "https://www.naukri.com/example-corp-jobs-careers-441890", "groupLogo": {}, "groupTags": {"industry": ["IT Services"]}, "hasLiveJob": true, "rating": 4.2, "reviewsCount": 1860, "tagsOrder": ["industry"] }] }Derived from the app's interface; endpoint details are illustrative, not a live capture.
Reconstructed from the companies browse and follow screens
Data categories
- job listings
- job details
- candidate profiles
- resumes
- applications
- search impressions
- auth sessions
Where teams use this data
India vacancy market census
A labour-market pipeline can poll GET /v1/jobs/search then GET /v1/jobs/{jobId} and store jobId, title, companyName, tagsAndSkills, salaryDetail.minimumSalary/maximumSalary, wfhType, vacancy and ambitionBoxData.aggregateRating for a live Naukri vacancy catalog.
Candidate CRM enrichment
HRIS tools can call GET /v1/me/profile?expand_level=4 after login and attach email, mobile, resumeHeadline, keySkills, absoluteCtc, absoluteExpectedCtc, profileCompletion and cvInfo.fileName onto an existing applicant record.
Apply-pipeline reconciliation
ATS bots can POST /v1/applications then GET /v1/applications/history and map jobId, lastStatus, arsScore, applyType and applyViaCallEnabled into interview-stage dashboards.
CV parse into structured profile
Onboarding flows can PUT a PDF to /v1/me/profiles/{profileId}/resume, POST /v1/me/resume/parse with fileKey/formKey, then GET /v1/me/resume/parsed-details and hydrate company, designation, startDate, institute, yearOfCompletion and keySkills.skills.extracted instead of a blank profile form.
Frequently asked questions
What job fields does Naukri search return?
GET /v1/jobs/search returns a results envelope: noOfJobs, sid, isLoggedIn and jobDetails cards with jobId, title, companyName, companyId, tagsAndSkills, salaryDetail (minimumSalary/maximumSalary/hideSalary), wfhType, vacancy, isSaved, isApplied and ambitionBoxData. Filters on the client include keyword and location.
How does a candidate authenticate?
The app posts username, isLoginByEmail and password to /v1/auth/session (OTP variants sit under the same auth namespace). The response cookies include nauk_at; later calls send Cookie: nauk_at and Authorization: ACCESSTOKEN = <token>. userInfo.userData carries email, resId and username.
Can I read a candidate profile and resume parse?
Yes. GET /v1/me/profile?expand_level=4&pc=1 returns profile (name, keySkills, resumeHeadline, absoluteCtc, cvInfo) and user (email, mobile, isPremium). GET /v1/me/resume/parsed-details fills workExperience, educations and keySkills.skills from an uploaded CV.
Where do applications and recruiter views live?
POST /v1/applications submits an apply. GET /v1/applications/history lists jobTitle, lastStatus and arsScore. GET /v1/me/search-impressions exposes totalSearchAppearances, recruiterActions and searchKeyWords.
Topics
- Naukri API
- Naukri job search endpoints
- jobId companyName salaryDetail
- Naukri login API
- resume parser API
- nauk_at ACCESSTOKEN
- search impressions Naukri
- Naukri apply API
Need this app's data API integrated?
We deliver scoped integrations for any named app — from USD 500 with source-code handoff, or hosted access billed per call. Tell us the data you need.