Naukri: Job Search App icon

Naukri job search data API

infoedge.com · Identity

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

  • Naukri: Job Search App screenshot 1
  • Naukri: Job Search App screenshot 2
  • Naukri: Job Search App screenshot 3
  • Naukri: Job Search App screenshot 4
  • Naukri: Job Search App screenshot 5
  • Naukri: Job Search App screenshot 6
  • Naukri: Job Search App screenshot 7
  • Naukri: Job Search App screenshot 8

API surface

  • Login

    POST /v1/auth/session osint

    Authenticates 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
    • email
    • 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 screens
    • Session behaviour matches the cookie plus token-header pair attached on every signed-in screen
  • Search jobs

    GET /v1/jobs/search opendata

    Returns 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 screen
    • Card fields mirror the job list items rendered in the results feed
  • Fetch job details

    GET /v1/jobs/{jobId} opendata

    Hydrates 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/applications opendata

    Submits 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/history opendata

    Lists 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-jobs opendata

    Returns 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/recommendations opendata

    Returns 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/profile osint

    Returns 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
    • email
    • 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 screen
    • Nested sections mirror the profile, skills, education and employment panes
  • Upload resume

    PUT /v1/me/profiles/{profileId}/resume osint

    Uploads 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-details osint

    Returns 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&sections=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-impressions opendata

    Returns 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/search opendata

    Looks 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.

Get a quote