apna 求职招聘数据 API:职位、投递与资料
apna - Search Job, Vacancy App 是班加罗尔招聘平台 apna 面向求职者的官方应用。apna 由 Nirmit Parikh 于 2019 年创立,服务印度蓝领、灰领与初入职场的人群,2021 年在 Tiger Global 领投的一轮融资中估值突破 11 亿美元。应用通过手机号 OTP 登录,界面支持英语、印地语等多种印度语言。首页 Jobs 标签是按城市和区域筛选的超本地职位流,可按职位类别、最低薪资和是否居家办公进一步收窄;每张职位卡显示岗位名称、薪资区间、招聘名额、班次、每周工作天数与每日工时、兼职或居家标记以及招聘企业 logo,上方实时滚动附近的职位总数。点开卡片进入职位详情页,可查看完整职位描述、激励等额外薪酬说明、所需技能、学历与经验要求、上下班时间和 HR 联系电话,并在投递前完成资格核验;Easy Apply / Super Apply 让符合条件的求职者一键投递匹配职位。My Jobs 跟踪每条投递的入围、号码分享给招聘方以及 WhatsApp 跟进进度;Profile 标签保存当前薪资、总工作年限、离职通知期、技能、教育经历、上传的简历、已验证邮箱、所在城市与区域以及期望的岗位和工作类型,旁边还有按行业组织的 apna 社区群组供同行交流。该应用仅面向印度上架,与 WorkIndia、Naukri、Indeed、Shine、foundit 等竞争,主攻配送、销售、外勤等一线岗位的大批量超本地招聘,而非 LinkedIn 式的白领人脉社交。
职位记录构成数据集的核心:按城市筛选的职位流里,每张卡片——比如班加罗尔一个招 12 人的配送专员岗位——都是一行数据,含 title 与 jobCategoryName、以卢比计的 minSalary/maxSalary 薪资区间、openings 招聘名额、shift 及 workDaysDesc、workHoursDesc 工时说明、isWfh 与 isPartTime 标记、experienceLevel 与 education 门槛、招聘方 organization 及其 externalId 与 logoUrl,外加 promoted、expired 标记和 lastUpdated 时间戳。卡片所在的职位流还带有分区供给信号——count、defaultSalary、jobsCountMessage、myJobsCount、otherJobsCount 与 callBackCount——并通过 locationName/locationType 按城市与区域切片。点开一张卡片,记录进一步扩展为完整的 jobDescription、salaryDetail 额外薪酬说明、skillTags、gender 要求、上下班 workingHour、招聘方 hrNumber、投递前的 candidateEligibility 判定,以及职位是否由中介发布的标记(consultancyName、isCreatorConsultant)。
求职者一侧,每条投递都以 application_status 与 userApplication 为键留下管道轨迹:hiringState、connectionStatus、communicationStatus、numberShareStatus、appliedAt、leadCreatedAt、userMatched 与 softRejected。聚合档案记录保存 fullName、currentSalary、totalYearsOfExperience、noticePeriod、skills、educations 与 experiences,上传的 resume 及其 format、pageCount 与 uploadedAt,email 及其 emailStatus、isVerifiedProfile 认证标记与档案 views 浏览量、city/area 以及期望的 jobRoles/jobTypes。手机号 OTP 会话解析为 userId 与 isProfileComplete 档案完整标记,一键投递列表则用 allowSuperApply 与 isSuperApplyJob 标出对当前求职者 userEligible 的职位。
劳动力市场平台按区域、类别和最低薪资轮询职位流,维护一份带薪资区间、招聘名额与雇主信息的印度一线职位实时超本地目录;HRIS 与候选人 CRM 工具把薪资、经验、技能、学历、简历与已验证邮箱并入既有候选人档案;ATS 机器人把招聘与联系状态映射进面试阶段看板;人力合作方在提交候选人之前核对一键投递资格与职位要求。openData Studio 将 apna 的职位、投递与档案记录变成可调用的开放数据,支撑这些集成。
应用截图
API 端点一览
以下端点与请求/响应示例均依据应用界面推导重构,为示意说明,并非实际抓包。
员工职位流
GET
/v1/jobs/feedopendata返回首页 Jobs 标签所用的分页城市/区域职位流:职位名、薪资区间、类别、远程/兼职标记、招聘名额与雇主 logo。
认证方式: Authorization: Token <accessToken>(来自 OTP 登录);以及 Client-Session 与 Client-Version 头。
- count
- defaultSalary
- jobs
- id
- title
- minSalary
- maxSalary
- jobCategory
- jobCategoryName
- locationName
- locationType
- experienceLevel
- education
- openings
- isWfh
- isPartTime
- expired
- promoted
- shift
- workDaysDesc
- workHoursDesc
- organization
- name
- logoUrl
- externalId
- lastUpdated
- myJobsCount
- otherJobsCount
- currentPageNumber
- isLastPage
- jobsCountMessage
- callBackCount
GET /v1/jobs/feed?area_id=14094&page_vertical=0&page=1&categoryId=42&minSalary=15000&isWfh=false HTTP/1.1 Authorization: Token <accessToken> Client-Session: <session> Client-Version: 2026.16.09 Accept: application/json{ "count": 1284, "defaultSalary": 18000, "jobs": [{ "id": "86750", "title": "Delivery Executive", "minSalary": "15000", "maxSalary": "22000", "jobCategory": "delivery", "jobCategoryName": "Delivery", "locationName": "Bengaluru", "locationType": "city", "experienceLevel": "0-1", "education": "10th pass", "openings": 12, "isWfh": false, "isPartTime": false, "expired": false, "promoted": true, "shift": "day", "workDaysDesc": "6 days a week", "workHoursDesc": "8 hours", "organization": {"name": "Example Logistics", "logoUrl": "https://cdn.example.com/org/logo.png", "externalId": "org-4412"}, "lastUpdated": "2026-09-23T08:12:00Z" }], "myJobsCount": 18, "otherJobsCount": 1266, "currentPageNumber": 1, "isLastPage": false, "jobsCountMessage": "1,284 jobs near you", "callBackCount": 3 }职位详情
GET
/v1/jobs/detail/{jobId}opendata水合职位详情页:完整 jobDescription、薪资区间、HR 电话、skillTags、工作时长,以及投递前使用的 candidateEligibility。
认证方式: Authorization: Token <accessToken>;以及 Client-Session 与 Client-Version 头。
- job
- id
- title
- jobDescription
- minSalary
- maxSalary
- salaryDetail
- hrNumber
- locationName
- experienceLevel
- education
- gender
- openings
- isWfh
- isPartTime
- isNearbyLocation
- expired
- skillTags
- organization
- application_status
- consultancyName
- isCreatorConsultant
- isCreatorInternal
- isHrVideoVisible
- workingHour
- candidateEligibility
- assessment
GET /v1/jobs/detail/86750 HTTP/1.1 Authorization: Token <accessToken> Client-Session: <session> Client-Version: 2026.16.09 Accept: application/json{ "job": { "id": "86750", "title": "Delivery Executive", "jobDescription": "Pick up and drop parcels across Bengaluru. Two-wheeler required.", "minSalary": "15000", "maxSalary": "22000", "salaryDetail": "Plus fuel incentive", "hrNumber": "+91-98XXXXXX21", "locationName": "Bengaluru", "experienceLevel": "0-1", "education": "10th pass", "gender": "any", "openings": 12, "isWfh": false, "isPartTime": false, "isNearbyLocation": true, "expired": false, "skillTags": ["driving", "navigation"], "organization": {"name": "Example Logistics", "logoUrl": "https://cdn.example.com/org/logo.png", "externalId": "org-4412"}, "application_status": null }, "consultancyName": null, "isCreatorConsultant": false, "isCreatorInternal": true, "isNearbyLocation": true, "isHrVideoVisible": false, "workingHour": {"start": "09:00", "end": "18:00"}, "candidateEligibility": {"eligible": true, "reason": null}, "assessment": {"required": false} }已投递职位管道
GET
/v1/jobs/appliedopendata列出求职者已投递的职位及管道字段(hiringState、connectionStatus、appliedAt、numberShareStatus),用于 My Jobs / 投递跟踪页。
认证方式: Authorization: Token <accessToken>;以及 Client-Session 与 Client-Version 头。
- count
- nextPageUrl
- previousPageUrl
- results
- id
- title
- minSalary
- maxSalary
- locationName
- organization
- application_status
- userApplication
- status
- originalStatus
- hiringState
- connectionStatus
- communicationStatus
- appliedAt
- leadCreatedAt
- lastUpdated
- numberShareStatus
- userMatched
- softRejected
- searchedJob
GET /v1/jobs/applied?col_id=my_jobs&page=1&page_size=10 HTTP/1.1 Authorization: Token <accessToken> Client-Session: <session> Client-Version: 2026.16.09 Accept: application/json{ "count": 18, "nextPageUrl": "/v1/jobs/applied?col_id=my_jobs&page=2&page_size=10", "previousPageUrl": null, "results": [{ "id": "86750", "title": "Delivery Executive", "minSalary": "15000", "maxSalary": "22000", "locationName": "Bengaluru", "organization": {"name": "Example Logistics", "externalId": "org-4412"}, "application_status": "applied", "userApplication": { "id": 902114, "status": "applied", "originalStatus": "applied", "hiringState": "shortlisted", "connectionStatus": "number_shared", "communicationStatus": "whatsapp_sent", "appliedAt": "2026-09-20T11:04:00Z", "leadCreatedAt": "2026-09-20T11:04:12Z", "lastUpdated": "2026-09-21T09:30:00Z", "numberShareStatus": "shared", "userMatched": true, "softRejected": false } }], "searchedJob": null }聚合候选人资料
GET
/v1/profile/meosint返回 Profile 标签所用的已登录求职者聚合资料:fullName、薪资、工作年限、技能、学历、简历 URL、已验证邮箱与城市/区域。
认证方式: Authorization: Token <accessToken>;以及 Client-Session 与 Client-Version 头。
- userId
- enrichedProfile
- id
- fullName
- gender
- profileUrl
- currentSalary
- currentSalaryV2
- totalYearsOfExperience
- totalMonthsOfExperience
- noticePeriod
- isExperienced
- isVerifiedProfile
- views
- dateOfBirth
- experienceType
- contactInfo
- emailStatus
- city
- area
- skills
- educations
- experiences
- resume
- format
- url
- pageCount
- uploadedAt
- enrichedPrefs
- jobRoles
- jobTypes
- languageId
- oldProfile
- phoneNumber
- community
GET /v1/profile/me HTTP/1.1 Authorization: Token <accessToken> Client-Session: <session> Client-Version: 2026.16.09 Accept: application/json{ "userId": "1851645", "enrichedProfile": { "id": "1851645", "fullName": "Ravi Kumar", "gender": "male", "profileUrl": "https://profiles.example.com/1851645", "currentSalary": 18000, "currentSalaryV2": 18000, "totalYearsOfExperience": 2.5, "totalMonthsOfExperience": 30, "noticePeriod": 15, "isExperienced": true, "isVerifiedProfile": true, "views": 142, "dateOfBirth": "1999-04-12", "experienceType": "experienced", "contactInfo": {"email": "[email protected]", "emailStatus": "verified"}, "city": {"id": 1, "name": "Bengaluru"}, "area": {"id": 14094, "name": "Whitefield"}, "skills": [{"id": 11, "name": "driving"}], "educations": [{"degree": "12th pass", "institute": "Govt PU College"}], "experiences": [{"title": "Delivery Executive", "company": "Example Logistics"}], "resume": {"isValid": true, "format": "pdf", "url": "https://cdn.example.com/resume/1851645.pdf", "pageCount": 1, "uploadedAt": "2026-08-01T10:00:00Z"} }, "enrichedPrefs": { "userId": "1851645", "languageId": "hi", "jobRoles": [{"id": 73, "name": "Delivery Executive"}], "jobTypes": [{"id": 4, "name": "Full time"}] }, "oldProfile": {"id": 1851645, "fullName": "Ravi Kumar", "phoneNumber": "9876543210"}, "community": {"claps": 12, "friends": 34} }OTP 登录
POST
/v1/auth/otp/verifyosint用手机 OTP 换取 accessToken/refreshToken 对与 userId,后续每个职位、资料与投递调用都将其作为 Authorization: Token 附加。
认证方式: 无需认证。后续调用使用本响应返回的 Authorization: Token <accessToken>。
- phone_number
- otp
- requestId
- channel
- accessToken
- refreshToken
- userId
- isProfileComplete
POST /v1/auth/otp/verify HTTP/1.1 Content-Type: application/json Client-Version: 2026.16.09 Accept: application/json { "phone_number": "9876543210", "otp": "482193", "requestId": "req-9f3a", "channel": "sms" }{ "accessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...", "refreshToken": "rt_8c1e2b...", "userId": 1851645, "isProfileComplete": true }一键 / 快速投递职位
GET
/v1/jobs/quick-apply/{userId}opendata返回已登录求职者可一键投递的职位(userEligible、allowSuperApply),用于 Easy Apply / Super Apply 流程。
认证方式: Authorization: Token <accessToken>;以及 Client-Session 与 Client-Version 头。
- jobs
- id
- title
- minSalary
- maxSalary
- locationName
- allowSuperApply
- isSuperApplyJob
- organization
- userEligible
- userInUnleash
- message
- title
- subtitle
GET /v1/jobs/quick-apply/1851645?areaId=14094 HTTP/1.1 Authorization: Token <accessToken> Client-Session: <session> Client-Version: 2026.16.09 Accept: application/json{ "jobs": [{ "id": "86750", "title": "Delivery Executive", "minSalary": "15000", "maxSalary": "22000", "locationName": "Bengaluru", "allowSuperApply": true, "isSuperApplyJob": true, "organization": {"name": "Example Logistics", "externalId": "org-4412"} }], "userEligible": true, "userInUnleash": true, "message": { "title": "Apply in one tap", "subtitle": "We will share your apna profile with the recruiter" } }
数据类别
- 职位列表
- 职位详情
- 投递记录
- 候选人资料
- 登录会话
数据使用场景与案例
超本地职位采集
劳动力市场平台可按 area_id、categoryId 与 minSalary 轮询 /v1/jobs/feed,存储 title、薪资区间、locationName、openings 与 organization.name,构建实时印度职位目录。
候选人 CRM 增强
HRIS 工具可调用 /v1/profile/me,把 fullName、currentSalary、totalYearsOfExperience、skills、educations、resume.url 与已验证邮箱附加到既有候选人记录上。
投递管道同步
ATS 机器人可分页拉取 /v1/jobs/applied,把 userApplication.hiringState、connectionStatus、appliedAt 与 numberShareStatus 映射进面试阶段看板。
一键投递资格
人力合作方可读取 /v1/jobs/quick-apply/{userId} 查看候选人可 Super Apply(userEligible)的职位,提交前再打开 /v1/jobs/detail/{jobId} 查看 jobDescription 与 candidateEligibility。
常见问题
apna 职位流返回哪些职位字段?
职位流返回 title、minSalary、maxSalary、jobCategoryName、locationName、experienceLevel、openings、isWfh、isPartTime,以及雇主 organization 的 name 与 logoUrl。职位详情另加 jobDescription、hrNumber、skillTags 与 candidateEligibility。
求职者如何认证?
应用向 /v1/auth/otp/verify 提交手机 OTP,并存储 accessToken、refreshToken、userId 与 isProfileComplete。后续调用发送 Authorization: Token <accessToken> 及 Client-Session、Client-Version 头。
我能读取求职者的资料与投递记录吗?
可以。/v1/profile/me 返回 fullName、currentSalary、skills、educations、简历 URL 与已验证邮箱。/v1/jobs/applied 返回每条投递的 hiringState、connectionStatus 与 appliedAt。
一键投递在哪个端点?
/v1/jobs/quick-apply/{userId} 列出已登录用户可 Super Apply(userEligible)的职位,每张职位卡片上含 allowSuperApply。
与 apna - Search Job, Vacancy App 相似的应用
- WorkIndia — WorkIndia 是面向配送、零售、销售和技术岗位的手机求职应用,求职者可直接投递、致电 HR 或发消息联系招聘方。
- Naukri — Naukri 是偏招聘方的印度职位板,常用于 IT、银行、运营等办公室岗位的批量招聘,求职者常与 apna 搭配使用以覆盖更广。
- Indeed — Indeed 在印度聚合职位并提供 Easy Apply 与简历工具,可在本地蓝领招聘板之外扩大投递范围。
- LinkedIn — LinkedIn 职位在印度主要用于职业社交、内推和公司白领岗位,而不是超本地的一线招聘。
- Shine — Shine 是综合性的印度招聘网站,常与 Naukri、apna 一同被列为备选,覆盖中层职位并提供简历工具。
- foundit — foundit(原 Monster India)是运营多年的综合招聘平台,覆盖多个行业,常与 apna、Naukri 一起被比较。
- Internshala — Internshala 面向学生和应届生的实习与第一份工作,补上综合招聘板较少覆盖的缺口。
相关主题
- apna 求职 API
- apna 职位流
- 职位流端点
- 候选人资料 API
- 已投递职位 hiringState
- apna OTP 登录
- 一键投递职位
- 印度求职数据
需要集成这个 App 的数据 API?
我们可为任意指定 App 交付定制集成——源码交付 USD 500 起,或托管 API 按调用计费。告诉我们您需要的数据即可。
- 每个项目均签 NDA 与 SOW
- 3–7 天交付
- 验收通过后才付款
- 仅在授权范围内作业