Shine.com Job Search App 图标

Shine.com 职位搜索数据 API

HT Media Limited · 招聘求职

Shine.com 招聘 App 是 HT Media 面向印度市场的招聘应用,其职位卡片依赖一组紧凑的字段——jCID、jJT、jCName、jLoc、jSal 与 jVanc——由 GET /v1/jobs/search 提供,并支持 farea、fexp、fsalary 等筛选。单个职位从 GET /v1/jobs/detail 加载,含 recruiter_name 与 job_skills。

在 POST /v1/auth/otp/verify 完成 OTP 登录后,登录候选人记录来自 GET /v1/profile/aggregate(notice_period、expected_salary、key_skills),上传的简历由 POST /v1/profile/resume/parse 结构化,招聘方兴趣则通过 POST /v1/profile/recruiter-activity 与 GET /v1/pages/profile-insights/schema 的 profileStrength 仪表盘呈现。

Shine.com 招聘 App(包名 com.net.shine,版本 8.9.50)是 HT Media 面向印度 Shine.com 招聘板的安卓客户端:求职者搜索筛选职位、查看详情、投递或收藏、上传简历,并关注资料上的招聘方动态。数据 API 为 HTTPS JSON,另有 BFF 架构服务驱动首页与仪表盘;登录后携带 OTP 登录签发的 Bearer JWT(accessToken、refreshToken、candidate_id),匿名搜索仍发送 device=app。职位卡片使用 jCID、jJT、jCName、jLoc、jSal、jVanc、is_applied、is_shortlisted 等紧凑字段。

应用截图

  • Shine.com Job Search App 应用截图 1
  • Shine.com Job Search App 应用截图 2
  • Shine.com Job Search App 应用截图 3
  • Shine.com Job Search App 应用截图 4
  • Shine.com Job Search App 应用截图 5
  • Shine.com Job Search App 应用截图 6
  • Shine.com Job Search App 应用截图 7
  • Shine.com Job Search App 应用截图 8

API 端点一览

  • 搜索职位

    GET /v1/jobs/search opendata

    返回经筛选的 Shine.com 职位列表(jJT 标题、jCName 雇主、jLoc、jSal/jSLA 薪资、jExp、jVanc 招聘人数、is_applied/is_shortlisted),供职位搜索结果页使用。

    认证方式: 可选的 Bearer JWT(accessToken),来自 POST /v1/auth/otp/verify。匿名搜索仍会发送 device=app。

    • jobs
    • jCID
    • jJT
    • jJT_slug
    • jCName
    • jCName_slug
    • jCUID
    • jLoc
    • jExp
    • jSal
    • jSLA
    • jPDate
    • jJobType
    • jEType
    • jTypeC
    • jVanc
    • jACnt
    • jKwds
    • jRUrl
    • jSlug
    • jPJ
    • jHJ
    • is_applied
    • is_shortlisted
    • highlighted
    • premium_job_flag
    • emp_type
    • farea
    • fcid
    • fexp
    • findustry
    • fsalary
    • job_type
    • shift_type
    • sort
    • device

    依据应用界面重构的示意示例,并非实时抓包。

    GET /v1/jobs/search?q=software+engineer&location=Bengaluru&emp_type=full-time&farea=it&fcid=12&fexp=3-6&findustry=it&fsalary=8-12&job_type=permanent&shift_type=day&sort=relevance&device=app HTTP/1.1
    Accept: application/json
    Authorization: Bearer <accessToken>
    {
      "jobs": [{
        "jCID": "87123456",
        "jJT": "Software Engineer",
        "jJT_slug": "software-engineer",
        "jCName": "Example Corp",
        "jCName_slug": "example-corp",
        "jCUID": "comp-441",
        "jLoc": "Bengaluru",
        "jExp": "3-6 Yrs",
        "jSal": "8-12 Lacs",
        "jSLA": "800000-1200000",
        "jPDate": "2026-09-24",
        "jJobType": "Permanent",
        "jEType": "Full Time",
        "jTypeC": "IT",
        "jVanc": 4,
        "jACnt": 86,
        "jKwds": ["Java", "Spring"],
        "jRUrl": "https://www.shine.com/jobs/software-engineer/87123456",
        "jSlug": "software-engineer-example-corp-bengaluru",
        "jPJ": true,
        "jHJ": false,
        "is_applied": false,
        "is_shortlisted": false,
        "highlighted": true,
        "premium_job_flag": true
      }],
      "count": 1284
    }

    依据应用界面推导;端点细节为示意说明,并非实际抓包。

    • 依据应用的职位搜索结果页及其筛选栏重构
    • 字段集镜像搜索结果中展示的职位卡片
  • 获取职位详情

    GET /v1/jobs/detail opendata

    为职位详情页水合单个 Shine.com 职位(job_description、job_skills、薪资、招聘人数、recruiter_name/recruiter_email),含投递/收藏标记。

    认证方式: 可选的 Bearer JWT(accessToken),来自 POST /v1/auth/otp/verify。个性化标记(is_applied、is_shortlisted)需要登录的 candidate_id。

    • jobId
    • job_id
    • jCID
    • job_title
    • jJT
    • job_description
    • job_skills
    • company_name
    • company_id
    • jLoc
    • jExp
    • jSal
    • jVanc
    • job_postedDate
    • jPDate
    • job_type
    • emp_type
    • shift_type
    • recruiter_name
    • recruiter_email
    • premium_job_flag
    • is_applied
    • is_shortlisted
    • jACnt

    依据应用界面重构的示意示例,并非实时抓包。

    GET /v1/jobs/detail?jobId=87123456 HTTP/1.1
    Accept: application/json
    Authorization: Bearer <accessToken>
    {
      "job_id": "87123456",
      "jCID": "87123456",
      "job_title": "Software Engineer",
      "jJT": "Software Engineer",
      "job_description": "<p>Build marketplace services in Bengaluru.</p>",
      "job_skills": ["Java", "Spring", "SQL"],
      "company_name": "Example Corp",
      "company_id": "comp-441",
      "jLoc": "Bengaluru",
      "jExp": "3-6 Yrs",
      "jSal": "8-12 Lacs",
      "jVanc": 4,
      "job_postedDate": "2026-09-24",
      "jPDate": "2026-09-24",
      "job_type": "Permanent",
      "emp_type": "full-time",
      "shift_type": "day",
      "recruiter_name": "Priya Sharma",
      "recruiter_email": "[email protected]",
      "premium_job_flag": true,
      "is_applied": false,
      "is_shortlisted": false,
      "jACnt": 86
    }

    依据应用界面推导;端点细节为示意说明,并非实际抓包。

    • 依据候选人投递前打开的职位详情页重构
    • 字段集镜像职位头部、技能列表与招聘方区块
  • 相似职位

    GET /v1/jobs/similar opendata

    为职位详情页的“相似职位”条返回相似 Shine.com 职位,使用与搜索相同的 jCID/jJT/jCName/jSal 卡片字段。

    认证方式: 可选的 Bearer JWT(accessToken),来自 POST /v1/auth/otp/verify。

    • jobs
    • jCID
    • jJT
    • jCName
    • jLoc
    • jExp
    • jSal
    • jPDate
    • jJobType
    • is_applied
    • is_shortlisted
    • jobId

    依据应用界面重构的示意示例,并非实时抓包。

    GET /v1/jobs/similar?jobId=87123456 HTTP/1.1
    Accept: application/json
    Authorization: Bearer <accessToken>
    {
      "jobs": [{
        "jCID": "87129901",
        "jJT": "Backend Engineer",
        "jCName": "Example Labs",
        "jLoc": "Bengaluru",
        "jExp": "2-5 Yrs",
        "jSal": "7-11 Lacs",
        "jPDate": "2026-09-22",
        "jJobType": "Permanent",
        "is_applied": false,
        "is_shortlisted": false
      }]
    }

    依据应用界面推导;端点细节为示意说明,并非实际抓包。

    • 依据职位详情页的相似职位条重构
  • 发送登录 OTP

    POST /v1/auth/otp/send osint

    在校验步骤之前,向候选人手机发送 Shine.com 登录 OTP(或通过姊妹邮箱 OTP 调用发送至邮箱)。

    认证方式: 无需认证。启动手机/邮箱 OTP 登录,随后调用 POST /v1/auth/otp/verify。

    • phone
    • email
    • device
    • status
    • channel
    • sessionId
    • message

    依据应用界面重构的示意示例,并非实时抓包。

    POST /v1/auth/otp/send HTTP/1.1
    Content-Type: application/json
    Accept: application/json
    
    {
      "phone": "9876543210",
      "email": "[email protected]",
      "device": "app"
    }
    {
      "status": "otp_sent",
      "channel": "sms",
      "sessionId": "sess-9f3a",
      "message": "OTP sent"
    }

    依据应用界面推导;端点细节为示意说明,并非实际抓包。

    • 依据应用的 OTP 登录界面重构
  • JWT 手机登录(校验 OTP)

    POST /v1/auth/otp/verify osint

    把手机 OTP 换成令牌对(accessToken、refreshToken)与 candidate_id,供后续所有资料、投递与招聘方动态调用使用。

    认证方式: 无需认证的 OTP 交换。后续调用携带 Authorization: Bearer <accessToken>。重复账号选择器使用同一手机号。

    • phone
    • otp
    • sessionId
    • device
    • accessToken
    • refreshToken
    • candidate_id
    • candidateId
    • isProfileComplete

    依据应用界面重构的示意示例,并非实时抓包。

    POST /v1/auth/otp/verify HTTP/1.1
    Content-Type: application/json
    Accept: application/json
    
    {
      "phone": "9876543210",
      "otp": "482193",
      "sessionId": "sess-9f3a",
      "device": "app"
    }
    {
      "accessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
      "refreshToken": "rt_8c1e2b...",
      "candidate_id": "cand-1001",
      "candidateId": "cand-1001",
      "isProfileComplete": false
    }

    依据应用界面推导;端点细节为示意说明,并非实际抓包。

    • 依据登录流程的 OTP 校验步骤重构
    • 令牌对镜像应用登录后本地存储的内容
  • 获取聚合候选人资料

    GET /v1/profile/aggregate osint

    加载完善资料所用的登录 Shine.com 候选人记录:身份信息、当前/期望薪资、notice_period、技能、resumeId 及 LinkedIn/头像 URL。

    认证方式: Bearer JWT(accessToken),来自 POST /v1/auth/otp/verify,根植于登录的 candidate_id。

    • candidate_id
    • personalDetails
    • firstName
    • lastName
    • email
    • phone
    • current_city
    • current_location
    • current_annual_salary
    • current_salary
    • expected_salary
    • total_work_experience
    • yearsOfExperience
    • notice_period
    • last_working_date
    • currently_pursuing
    • key_skills
    • functional_area
    • industry
    • resumeId
    • profile_picture_url
    • linkedin_url
    • education_history
    • grading_system
    • actively_looking

    依据应用界面重构的示意示例,并非实时抓包。

    GET /v1/profile/aggregate HTTP/1.1
    Accept: application/json
    Authorization: Bearer <accessToken>
    {
      "candidate_id": "cand-1001",
      "personalDetails": {
        "firstName": "Ada",
        "lastName": "Sharma",
        "email": "[email protected]",
        "phone": "9876543210"
      },
      "current_city": "Bengaluru",
      "current_location": "Whitefield",
      "current_annual_salary": 1200000,
      "current_salary": 100000,
      "expected_salary": 1500000,
      "total_work_experience": 4.5,
      "yearsOfExperience": 4,
      "notice_period": 30,
      "last_working_date": null,
      "currently_pursuing": false,
      "key_skills": ["Java", "Spring"],
      "functional_area": "Software Engineering",
      "industry": "IT",
      "resumeId": "resume-9",
      "profile_picture_url": "https://cdn.example.com/ada.png",
      "linkedin_url": "https://www.linkedin.com/in/ada-sharma",
      "education_history": [{"institute": "NITK", "grading_system": "CGPA"}],
      "actively_looking": true
    }

    依据应用界面推导;端点细节为示意说明,并非实际抓包。

    • 依据完善资料界面重构
    • 字段集镜像个人信息、薪资、技能与简历区块
  • 解析上传的简历

    POST /v1/profile/resume/parse osint

    把上传的简历解析为 resume_parsed_data(job_title、company_name、key_skills、total_work_experience、education_history),供完善资料/上传简历流程使用。

    认证方式: Bearer JWT(accessToken),来自 POST /v1/auth/otp/verify。multipart 简历上传。

    • resumeId
    • resume_timestamp
    • resume_parsed_data
    • job_title
    • company_name
    • key_skills
    • total_work_experience
    • education_history
    • grading_system
    • currently_pursuing
    • current_city

    依据应用界面重构的示意示例,并非实时抓包。

    POST /v1/profile/resume/parse HTTP/1.1
    Authorization: Bearer <accessToken>
    Content-Type: multipart/form-data; boundary=----ShineBoundary
    
    ------ShineBoundary
    Content-Disposition: form-data; name="resume"; filename="ada-cv.pdf"
    Content-Type: application/pdf
    
    <binary>
    ------ShineBoundary--
    {
      "resumeId": "resume-9",
      "resume_timestamp": "2026-09-27T08:12:00Z",
      "resume_parsed_data": {
        "job_title": "Software Engineer",
        "company_name": "Example Corp",
        "key_skills": ["Java", "Spring"],
        "total_work_experience": 4.5,
        "education_history": [{"institute": "NITK", "grading_system": "CGPA"}],
        "currently_pursuing": false,
        "current_city": "Bengaluru"
      }
    }

    依据应用界面推导;端点细节为示意说明,并非实际抓包。

    • 依据完善资料的上传简历步骤重构
    • 解析字段集镜像应用从简历预填的区块
  • 首页架构(Nova Home)

    GET /v1/pages/home/schema opendata

    返回应用的首页架构(flash_openings、recommended_jobs、your_activity、last_applied),注册后及每次加载首页时使用。

    认证方式: 可选的 Bearer JWT。个性化模块发送 candidate_id;匿名调用发送 device=app。

    • device
    • candidate_id
    • page_type
    • home_page
    • sections
    • flash_openings
    • recommended_jobs
    • your_activity
    • last_applied
    • jCID
    • jJT
    • jCName
    • is_applied
    • JFY
    • JD
    • JSRP
    • DRM
    • dashboard

    依据应用界面重构的示意示例,并非实时抓包。

    GET /v1/pages/home/schema?device=app&candidate_id=cand-1001 HTTP/1.1
    Accept: application/json
    Authorization: Bearer <accessToken>
    {
      "page_type": "home_page",
      "sections": [
        {"id": "flash_openings", "title": "Flash openings", "jobs": [{"jCID": "87123456", "jJT": "Software Engineer", "jCName": "Example Corp"}]},
        {"id": "recommended_jobs", "title": "Recommended jobs", "jobs": [{"jCID": "87129901", "jJT": "Backend Engineer"}]},
        {"id": "your_activity", "title": "Your activity"},
        {"id": "last_applied", "title": "Last applied", "jobs": [{"jCID": "87120001", "is_applied": true}]}
      ]
    }

    依据应用界面推导;端点细节为示意说明,并非实际抓包。

    • 依据应用首页的区块排序重构
    • 区块名称镜像候选人首页展示的模块
  • 资料表现架构

    GET /v1/pages/profile-insights/schema osint

    加载候选人洞察页展示的资料表现仪表盘(资料完整度、招聘方兴趣、跟进)。

    认证方式: Bearer JWT(accessToken),来自 POST /v1/auth/otp/verify。

    • candidate_id
    • profileStrength
    • searchImpressions
    • profileViews
    • interestedRecruiters
    • recruiterFollowUps

    依据应用界面重构的示意示例,并非实时抓包。

    GET /v1/pages/profile-insights/schema HTTP/1.1
    Accept: application/json
    Authorization: Bearer <accessToken>
    {
      "candidate_id": "cand-1001",
      "profileStrength": 72,
      "searchImpressions": 128,
      "profileViews": 17,
      "interestedRecruiters": 6,
      "recruiterFollowUps": 2
    }

    依据应用界面推导;端点细节为示意说明,并非实际抓包。

    • 依据候选人洞察/资料表现页重构
  • 列出/删除职位订阅

    GET /v1/job-alerts opendata

    列出候选人保存的 Shine.com 职位订阅(标题、地点、emp_type、farea、薪资区间),供职位订阅页使用;姊妹删除调用移除订阅。

    认证方式: Bearer JWT(accessToken),来自 POST /v1/auth/otp/verify。删除使用姊妹调用 DELETE /v1/job-alerts/delete。

    • alerts
    • id
    • job_title
    • location
    • emp_type
    • farea
    • fexp
    • fsalary
    • shift_type
    • active

    依据应用界面重构的示意示例,并非实时抓包。

    GET /v1/job-alerts HTTP/1.1
    Accept: application/json
    Authorization: Bearer <accessToken>
    {
      "alerts": [{
        "id": "alert-22",
        "job_title": "Software Engineer",
        "location": "Bengaluru",
        "emp_type": "full-time",
        "farea": "it",
        "fexp": "3-6",
        "fsalary": "8-12",
        "shift_type": "day",
        "active": true
      }]
    }

    依据应用界面推导;端点细节为示意说明,并非实际抓包。

    • 依据职位订阅管理页重构
  • 收藏职位

    POST /v1/jobs/shortlist opendata

    为登录候选人把 Shine.com 职位标记为收藏(is_shortlisted),每次调用最多 20 个 jobIds。

    认证方式: Bearer JWT(accessToken),来自 POST /v1/auth/otp/verify。jobIds 数组不超过 20 项。

    • jobIds
    • candidate_id
    • jCID
    • is_shortlisted

    依据应用界面重构的示意示例,并非实时抓包。

    POST /v1/jobs/shortlist HTTP/1.1
    Authorization: Bearer <accessToken>
    Content-Type: application/json
    
    {
      "jobIds": ["87123456"],
      "candidate_id": "cand-1001"
    }
    {
      "jCID": "87123456",
      "is_shortlisted": true,
      "jobIds": ["87123456"]
    }

    依据应用界面推导;端点细节为示意说明,并非实际抓包。

    • 依据职位卡片上的收藏操作重构
    • 镜像应用每次收藏调用强制执行的 20 项上限
  • 招聘方动态(候选人响应更新)

    POST /v1/profile/recruiter-activity osint

    返回针对该候选人的招聘方动态(浏览/收藏/投递的职位,含 jCID、jCName、is_applied、is_shortlisted),供“你的动态”/招聘方动态面板使用。

    认证方式: Bearer JWT(accessToken),来自 POST /v1/auth/otp/verify。

    • candidate_id
    • period
    • activities
    • jCID
    • jJT
    • jCName
    • jCType
    • jKwds
    • jExp
    • jLoc
    • jRUrl
    • jPDate
    • jExpDate
    • jJobType
    • jEType
    • jVanc
    • jSLA
    • is_applied
    • is_shortlisted
    • highlighted
    • ftcid
    • jCUID
    • jWLC
    • jWSD
    • jWLocID

    依据应用界面重构的示意示例,并非实时抓包。

    POST /v1/profile/recruiter-activity HTTP/1.1
    Authorization: Bearer <accessToken>
    Content-Type: application/json
    
    {
      "candidate_id": "cand-1001",
      "period": "7d"
    }
    {
      "activities": [{
        "jCID": "87123456",
        "jJT": "Software Engineer",
        "jCName": "Example Corp",
        "jCType": "IT",
        "jKwds": ["Java"],
        "jExp": "3-6 Yrs",
        "jLoc": "Bengaluru",
        "jRUrl": "https://www.shine.com/jobs/software-engineer/87123456",
        "jPDate": "2026-09-24",
        "jExpDate": "2026-10-24",
        "jJobType": "Permanent",
        "jEType": "Full Time",
        "jVanc": 4,
        "jSLA": "800000-1200000",
        "is_applied": true,
        "is_shortlisted": false,
        "highlighted": true,
        "ftcid": "comp-441"
      }]
    }

    依据应用界面推导;端点细节为示意说明,并非实际抓包。

    • 依据“你的动态”/招聘方动态面板重构
    • 卡片字段镜像招聘方浏览的职位列表
  • 投递前问卷

    GET /v1/jobs/questionnaire opendata

    加载 Shine.com 投递前展示的雇主筛选问题(通知期、地点、自定义是/否)。

    认证方式: Bearer JWT(accessToken),来自 POST /v1/auth/otp/verify。当职位含筛选问题时在投递前展示。

    • jobId
    • questions
    • id
    • text
    • type
    • required

    依据应用界面重构的示意示例,并非实时抓包。

    GET /v1/jobs/questionnaire?jobId=87123456 HTTP/1.1
    Accept: application/json
    Authorization: Bearer <accessToken>
    {
      "jobId": "87123456",
      "questions": [{
        "id": "q-1",
        "text": "Are you willing to work from Bengaluru?",
        "type": "yes_no",
        "required": true
      }, {
        "id": "q-2",
        "text": "Current notice period (days)",
        "type": "number",
        "required": true
      }]
    }

    依据应用界面推导;端点细节为示意说明,并非实际抓包。

    • 依据投递前筛选问题步骤重构

数据类别

  • 职位列表
  • 职位详情
  • 候选人资料
  • 简历
  • 投递申请
  • 招聘方动态
  • 登录会话

数据使用场景与案例

  • 印度职位市场普查

    劳动力市场管道可轮询 GET /v1/jobs/search(带 emp_type、farea、fexp、fsalary、location、shift_type),并存储 jCID、jJT、jCName、jLoc、jSal/jSLA、jExp、jVanc 与 premium_job_flag,构建实时 Shine.com 职位目录。

  • 候选人 CRM 增强

    HRIS 工具可在 OTP 登录后调用 GET /v1/profile/aggregate,把 personalDetails、current_annual_salary、expected_salary、notice_period、key_skills、resumeId、linkedin_url 与 profile_picture_url 挂到现有申请人记录上。

  • 招聘方动态同步

    ATS 机器人可 POST /v1/profile/recruiter-activity,把 is_applied、is_shortlisted、jCName、jPDate、jExpDate 映射进面试阶段看板,再叠加 GET /v1/pages/profile-insights/schema 的 profileStrength 与 interestedRecruiters。

  • 简历解析为结构化资料

    入职流程可把 PDF 上传至 /v1/profile/resume/parse,从 resume_parsed_data 水合 job_title、company_name、key_skills、total_work_experience 与 education_history,替代空白的完善资料表单。

常见问题

Shine.com 搜索返回哪些职位字段?

GET /v1/jobs/search 返回紧凑卡片字段:jCID、jJT(标题)、jCName(雇主)、jLoc、jExp、jSal/jSLA(薪资)、jPDate、jVanc(招聘人数)、jACnt(投递人数)、is_applied、is_shortlisted 与 premium_job_flag。筛选参数含 emp_type、farea、fexp、fsalary、job_type、location 与 shift_type。

候选人如何登录认证?

应用先把手机号提交到 /v1/auth/otp/send,再在 /v1/auth/otp/verify 校验 OTP,换取 accessToken、refreshToken 与 candidate_id。后续请求发送 Authorization: Bearer <accessToken>。

能否读取候选人资料与简历解析?

可以。GET /v1/profile/aggregate 返回 personalDetails、current_annual_salary、expected_salary、notice_period、key_skills、resumeId 与 linkedin_url。POST /v1/profile/resume/parse 则从上传的简历以 resume_parsed_data 填充这些字段。

招聘方浏览与职位订阅在哪里?

POST /v1/profile/recruiter-activity 列出招聘方动态(is_applied、is_shortlisted、jCName)。GET /v1/pages/profile-insights/schema 暴露 profileStrength 与 interestedRecruiters。GET /v1/job-alerts 列出已保存的订阅。

相关主题

  • Shine.com API
  • Shine 职位搜索 API
  • Shine 职位端点
  • jCID jJT jCName jSal
  • 候选人资料 API
  • 简历解析 API
  • OTP 登录 JWT
  • Shine 招聘方动态

需要集成这个 App 的数据 API?

我们可为任意指定 App 交付定制集成——源码交付 USD 500 起,或托管 API 按调用计费。告诉我们您需要的数据即可。

  • 每个项目均签 NDA 与 SOW
  • 3–7 天交付
  • 验收通过后才付款
  • 仅在授权范围内作业

获取报价