Monster 职位与资料数据 API
Monster Job Search 是 Monster Worldwide 推出的官方 Android 应用;Monster Worldwide 正是自 1990 年代中期起发布职位的 Monster.com 招聘网站背后的公司。求职者输入关键词和地点,浏览职位卡片,进入职位详情页查看投递方式、相关职位与淘汰式筛选问卷,可收藏职位、设置职位提醒,并用上传的简历投递。个人资料页保存标题(headline)、联系方式、工作经历、教育背景、技能、工作许可所在国家、远程工作意愿,以及资料对雇主的可见程度;会话标签页则收纳招聘方发来的消息。登录通过 Monster OneIAM 完成,访客也可以直接浏览。应用主要面向美国求职者——同一应用中还包含面向法国、德国和西班牙求职者的帮助入口——与 Indeed、LinkedIn、ZipRecruiter 和 CareerBuilder 同场竞争。
每条职位搜索结果都附带 jobTitle 与 companyName,同一张卡片上还有 jobLocation、isRemote、jobTypeId 与 salary_base,并以 datePosted 标明发布时间。登录后的资料读取再加上 headline、firstName、visibilityStatus 与 workAuthorization;解析后的简历带来 schoolName 与 degreeName;投递流程产出 applyId 与 questionnaireId;已保存的搜索带有 jobAlertId;招聘方会话则提供 conversationId 与 unreadCount。
人才聚合平台可按薪资与远程标志为职位排序,HRIS 工具可摄取解析后的简历字段,ATS 团队可对账投递状态,人才外包 CRM 可监控收件箱未读数。openData Studio 把这些记录变成可调用的开放数据。
应用截图
API 端点一览
以下端点与请求/响应示例均依据应用界面推导重构,为示意说明,并非实际抓包。
搜索职位
POST
/v1/vacancies/findopendata驱动首页搜索:keyword 加上 jobLocation、jobTypeId 与 remoteOnly 筛选,返回带有 jobId、jobTitle、companyName、isRemote、salary_base 与 datePosted 的职位卡片。
认证方式: 可选。访客会话使用由访客会话调用签发的短期访客令牌;已登录调用发送来自登录服务的 Authorization: Bearer <access_token>。
- keyword
- jobLocation
- jobTypeId
- remoteOnly
- pageSize
- pageNumber
- jobs
- jobId
- jobTitle
- companyName
- isRemote
- salary_base
- datePosted
- employmentType
POST /v1/vacancies/find HTTP/1.1 Authorization: Bearer <access_token> Content-Type: application/json Accept: application/json { "keyword": "product manager", "jobLocation": "Austin, TX", "jobTypeId": "full-time", "remoteOnly": false, "pageSize": 20, "pageNumber": 1 }{ "pageSize": 20, "pageNumber": 1, "jobs": [{ "jobId": "jr-8845123", "jobTitle": "Staff Product Manager", "companyName": "Example Corp", "jobLocation": "Austin, TX", "isRemote": false, "jobTypeId": "full-time", "salary_base": 145000, "datePosted": "2026-09-24T12:00:00Z", "employmentType": "full-time" }] }按 ID 获取职位
GET
/v1/vacancies/{jobId}opendata加载某个职位的详情页:针对 jobId 返回 jobTitle、companyName、salary_base、applyType 与 applyUrl。
认证方式: 可选。访客会话使用由访客会话调用签发的短期访客令牌;已登录调用发送来自登录服务的 Authorization: Bearer <access_token>。
- jobId
- jobTitle
- companyName
- jobLocation
- isRemote
- employmentType
- salary_base
- datePosted
- applyType
- applyUrl
- jobTypeId
GET /v1/vacancies/jr-8845123 HTTP/1.1 Authorization: Bearer <access_token> Accept: application/json{ "jobId": "jr-8845123", "jobTitle": "Staff Product Manager", "companyName": "Example Corp", "jobLocation": "Austin, TX", "isRemote": false, "employmentType": "full-time", "salary_base": 145000, "datePosted": "2026-09-24T12:00:00Z", "applyType": "easy", "applyUrl": "https://jobs.example.com/jr-8845123", "jobTypeId": "full-time" }职位投递方式
GET
/v1/vacancies/{jobId}/application-pathsopendata返回职位详情页行动按钮可走的投递路径:applyType、applyUrl,以及用于淘汰式问题的可选 questionnaireId。
认证方式: 来自登录服务(POST /v1/seeker/session/token)的 Bearer 访问令牌。Authorization: Bearer <access_token>。
- jobId
- applyOptions
- applyType
- applyUrl
- questionnaireId
GET /v1/vacancies/jr-8845123/application-paths HTTP/1.1 Authorization: Bearer <access_token> Accept: application/json{ "jobId": "jr-8845123", "applyOptions": [{ "applyType": "easy", "applyUrl": "https://jobs.example.com/jr-8845123/apply", "questionnaireId": "q-441" }] }相关职位
GET
/v1/vacancies/{jobId}/similaropendata驱动职位详情页的相关职位栏:返回带有 jobTitle、companyName、jobLocation 与 isRemote 的相似职位。
认证方式: 可选。访客会话使用由访客会话调用签发的短期访客令牌;已登录调用发送来自登录服务的 Authorization: Bearer <access_token>。
- jobId
- related
- jobTitle
- companyName
- jobLocation
- isRemote
- salary_base
GET /v1/vacancies/jr-8845123/similar HTTP/1.1 Authorization: Bearer <access_token> Accept: application/json{ "jobId": "jr-8845123", "related": [{ "jobId": "jr-8845999", "jobTitle": "Senior Product Manager", "companyName": "Example Labs", "jobLocation": "Dallas, TX", "isRemote": true, "salary_base": 155000 }] }职位投递问卷
GET
/v1/vacancies/{jobId}/screening-questionsopendata加载投递前显示的淘汰式 / 多元化问题,以 questionnaireId 与 companyName 为键。
认证方式: 来自登录服务(POST /v1/seeker/session/token)的 Bearer 访问令牌。Authorization: Bearer <access_token>。
- jobId
- questionnaireId
- companyName
- knockout
- questionId
- prompt
GET /v1/vacancies/jr-8845123/screening-questions HTTP/1.1 Authorization: Bearer <access_token> Accept: application/json{ "jobId": "jr-8845123", "questionnaireId": "q-441", "companyName": "Example Corp", "knockout": [{ "questionId": "k-1", "prompt": "Are you authorized to work in the United States?" }] }求职者资料
GET
/v1/seeker/profileosint读取「我」标签页使用的已登录求职者资料:firstName、lastName、emailAddress、headline、visibilityStatus 与 willingnessToWorkRemotely。
认证方式: 来自登录服务(POST /v1/seeker/session/token)的 Bearer 访问令牌。Authorization: Bearer <access_token>。
- profileId
- firstName
- lastName
- emailAddress
- phoneNumber
- headline
- visibilityStatus
- willingnessToWorkRemotely
- postalCode
GET /v1/seeker/profile HTTP/1.1 Authorization: Bearer <access_token> Accept: application/json{ "profileId": "p-23642", "firstName": "Alex", "lastName": "Rivera", "emailAddress": "[email protected]", "phoneNumber": "+15125550123", "headline": "Staff Product Manager", "visibilityStatus": "visibleToEmployers", "willingnessToWorkRemotely": true, "postalCode": "78701" }解析上传的简历
POST
/v1/seeker/resume/extractopendata把上传的 PDF/Word 简历解析为资料字段(firstName、jobTitle、companyName、schoolName、degreeName),用于预填资料编辑器。
认证方式: 来自登录服务(POST /v1/seeker/session/token)的 Bearer 访问令牌。Authorization: Bearer <access_token>。
- firstName
- lastName
- emailAddress
- phoneNumber
- headline
- jobTitle
- companyName
- schoolName
- degreeName
POST /v1/seeker/resume/extract HTTP/1.1 Authorization: Bearer <access_token> Content-Type: multipart/form-data; boundary=----Upload ------Upload Content-Disposition: form-data; name="resume"; filename="alex-rivera.pdf" Content-Type: application/pdf <pdf-bytes> ------Upload--{ "firstName": "Alex", "lastName": "Rivera", "emailAddress": "[email protected]", "phoneNumber": "+15125550123", "headline": "Staff Product Manager", "jobTitle": "Staff Product Manager", "companyName": "Example Corp", "schoolName": "University of Texas", "degreeName": "B.S. Computer Science" }收藏职位
GET
/v1/seeker/bookmarksopendata列出求职者收藏的职位(每个 jobId 另有对应的添加与移除调用):jobTitle、companyName 与 jobLocation。
认证方式: 来自登录服务(POST /v1/seeker/session/token)的 Bearer 访问令牌。Authorization: Bearer <access_token>。
- savedJobsCount
- jobs
- jobId
- jobTitle
- companyName
- jobLocation
- isRemote
- datePosted
GET /v1/seeker/bookmarks HTTP/1.1 Authorization: Bearer <access_token> Accept: application/json{ "savedJobsCount": 12, "jobs": [{ "jobId": "jr-8845123", "jobTitle": "Staff Product Manager", "companyName": "Example Corp", "jobLocation": "Austin, TX", "isRemote": false, "datePosted": "2026-09-24T12:00:00Z" }] }职位推荐
GET
/v1/seeker/suggested-vacanciesopendata为个性化推荐栏提供数据:与求职者资料匹配的职位,带有 jobTitle、companyName、isRemote 与 salary_base。
认证方式: 来自登录服务(POST /v1/seeker/session/token)的 Bearer 访问令牌。Authorization: Bearer <access_token>。
- jobs
- jobId
- jobTitle
- companyName
- jobLocation
- isRemote
- salary_base
- datePosted
GET /v1/seeker/suggested-vacancies HTTP/1.1 Authorization: Bearer <access_token> Accept: application/json{ "jobs": [{ "jobId": "jr-9900123", "jobTitle": "Director of Product", "companyName": "Example Health", "jobLocation": "Remote", "isRemote": true, "salary_base": 180000, "datePosted": "2026-10-01T08:00:00Z" }] }创建草稿投递
POST
/v1/seeker/applicationsopendata为 jobId 创建草稿投递,记录 applyType 与 questionnaireResponse,并返回 applyId。
认证方式: 来自登录服务(POST /v1/seeker/session/token)的 Bearer 访问令牌。Authorization: Bearer <access_token>。
- jobId
- applyType
- questionnaireResponse
- questionnaireId
- answers
- applyId
- status
POST /v1/seeker/applications HTTP/1.1 Authorization: Bearer <access_token> Content-Type: application/json { "jobId": "jr-8845123", "applyType": "easy", "questionnaireResponse": { "questionnaireId": "q-441", "answers": [{"questionId": "k-1", "value": "yes"}] } }{ "applyId": "ap-77120", "jobId": "jr-8845123", "applyType": "easy", "status": "draft" }完成投递
PUT
/v1/seeker/applications/{applyId}/submitopendata提交草稿投递,并返回 status 以及确认页显示的 jobTitle / companyName。
认证方式: 来自登录服务(POST /v1/seeker/session/token)的 Bearer 访问令牌。Authorization: Bearer <access_token>。
- applyId
- jobId
- status
- jobTitle
- companyName
PUT /v1/seeker/applications/ap-77120/submit HTTP/1.1 Authorization: Bearer <access_token> Content-Type: application/json { "applyId": "ap-77120", "jobId": "jr-8845123" }{ "applyId": "ap-77120", "jobId": "jr-8845123", "status": "submitted", "jobTitle": "Staff Product Manager", "companyName": "Example Corp" }招聘方会话
GET
/v1/seeker/threadsopendata列出收件箱中的招聘方会话:conversationId、companyName、jobTitle 以及每个会话的 unreadCount。
认证方式: 来自登录服务(POST /v1/seeker/session/token)的 Bearer 访问令牌。Authorization: Bearer <access_token>。
- conversations
- conversationId
- companyName
- jobTitle
- jobId
- lastMessageId
- unreadCount
GET /v1/seeker/threads HTTP/1.1 Authorization: Bearer <access_token> Accept: application/json{ "conversations": [{ "conversationId": "c-5501", "companyName": "Example Corp", "jobTitle": "Staff Product Manager", "jobId": "jr-8845123", "lastMessageId": "m-9001", "unreadCount": 2 }] }招聘方未读消息
GET
/v1/seeker/threads/unread-totalopendata返回会话标签页上显示的收件箱角标数量。
认证方式: 来自登录服务(POST /v1/seeker/session/token)的 Bearer 访问令牌。Authorization: Bearer <access_token>。
- unreadCount
GET /v1/seeker/threads/unread-total HTTP/1.1 Authorization: Bearer <access_token> Accept: application/json{ "unreadCount": 4 }创建职位提醒
POST
/v1/seeker/search-alertsopendata为 keyword + jobLocation 创建已保存的搜索提醒,返回 jobAlertId 与 enabled。
认证方式: 来自登录服务(POST /v1/seeker/session/token)的 Bearer 访问令牌。Authorization: Bearer <access_token>。
- keyword
- jobLocation
- remoteOnly
- jobTypeId
- jobAlertId
- enabled
POST /v1/seeker/search-alerts HTTP/1.1 Authorization: Bearer <access_token> Content-Type: application/json { "keyword": "product manager", "jobLocation": "Austin, TX", "remoteOnly": false, "jobTypeId": "full-time" }{ "jobAlertId": "ja-3321", "keyword": "product manager", "jobLocation": "Austin, TX", "remoteOnly": false, "enabled": true }工作许可
PUT
/v1/seeker/right-to-workosint写入求职者的工作许可国家,用于淘汰式问题与资料完整度。
认证方式: 来自登录服务(POST /v1/seeker/session/token)的 Bearer 访问令牌。Authorization: Bearer <access_token>。
- workAuthorization
- countryCode
- workAuthorizationTypeId
PUT /v1/seeker/right-to-work HTTP/1.1 Authorization: Bearer <access_token> Content-Type: application/json { "workAuthorization": [{ "countryCode": "US", "workAuthorizationTypeId": "citizen" }] }{ "workAuthorization": [{ "countryCode": "US", "workAuthorizationTypeId": "citizen" }] }资料可见性
PUT
/v1/seeker/privacy/employer-visibilityosint设置雇主能否看到求职者资料,与可见性设置界面一致。
认证方式: 来自登录服务(POST /v1/seeker/session/token)的 Bearer 访问令牌。Authorization: Bearer <access_token>。
- visibilityStatus
PUT /v1/seeker/privacy/employer-visibility HTTP/1.1 Authorization: Bearer <access_token> Content-Type: application/json { "visibilityStatus": "visibleToEmployers" }{ "visibilityStatus": "visibleToEmployers" }反向地理编码地点
GET
/v1/places/reverse-lookupopendata把设备坐标解析为地名,使搜索可预填 jobLocation、cityName 与 postalCode。
认证方式: 可选。访客会话使用由访客会话调用签发的短期访客令牌;已登录调用发送来自登录服务的 Authorization: Bearer <access_token>。
- cityName
- postalCode
- countryCode
- jobLocation
- lat
- lng
GET /v1/places/reverse-lookup?lat=30.2672&lng=-97.7431 HTTP/1.1 Authorization: Bearer <access_token> Accept: application/json{ "cityName": "Austin", "postalCode": "78701", "countryCode": "US", "jobLocation": "Austin, TX" }登录令牌交换
POST
/v1/seeker/session/tokenosint用登录授权码换取 access_token、refreshToken 与 idToken,作为数据调用的 Bearer 认证。
认证方式: 未认证。OAuth2 授权码 + PKCE;client_id=<client-id>,redirect_uri 为应用已注册的回调地址。
- grant_type
- client_id
- code
- redirect_uri
- code_verifier
- access_token
- refreshToken
- idToken
- token_type
- expires_in
POST /v1/seeker/session/token HTTP/1.1 Content-Type: application/x-www-form-urlencoded grant_type=authorization_code&client_id=<client-id>&code=<auth-code>&redirect_uri=<app-callback-uri>&code_verifier=<pkce>{ "access_token": "<jwt>", "refreshToken": "<refresh>", "idToken": "<id-jwt>", "token_type": "Bearer", "expires_in": 3600 }
数据类别
- 职位列表
- 职位详情
- 候选人资料
- 简历
- 投递
- 收藏职位
- 职位提醒
- 消息
- 推荐
- 工作许可
- 身份
数据使用场景与案例
覆盖美欧招聘网站的职位聚合
元搜索按 jobId、jobTitle、companyName、jobLocation、isRemote、salary_base 与 datePosted 为 Monster 的搜索结果建立索引,再补全相关职位栏,无需抓取 HTML。
投递流程对账
ATS 监控草稿与已完成的投递(applyId、jobId、applyType、status、questionnaireId),使求职者在 Monster 上的投递与其在 Indeed 或 LinkedIn 上针对同一职位的投递相互对应。
简历解析写入 HRIS
入职工具读取简历解析结果——firstName、lastName、jobTitle、companyName、schoolName、degreeName——预填员工档案,而不必重新录入 PDF。
招聘方收件箱 SLA 监控
人才外包 CRM 轮询 unreadCount 与 conversationId 会话,使 Monster 上未回复的雇主消息与邮件、LinkedIn InMail 并列呈现。
常见问题
Monster Job Search 搜索时返回哪些职位字段?
诸如 POST /v1/vacancies/find 的职位查询会返回 jobId、jobTitle、companyName、jobLocation、isRemote、jobTypeId、salary_base 与 datePosted。按 jobId 获取单个职位还会为详情页增加 applyType 与 applyUrl。
求职者如何在应用内投递 Monster 职位?
应用先请求该职位的投递路径,其中列出 applyType 与可选的 questionnaireId;随后通过 POST /v1/seeker/applications 创建草稿投递,再用 PUT /v1/seeker/applications/{applyId}/submit 提交,并返回 applyId 与 status。
Monster Job Search 如何鉴权?
登录使用 Monster OneIAM,即带 PKCE 的 OAuth2 授权码流程。诸如 POST /v1/seeker/session/token 的令牌交换调用把授权码换成 access_token、refreshToken 与 idToken,access_token 以 Authorization: Bearer 形式用于数据调用。浏览也可使用访客令牌。
能读取解析后的简历,而不只是文件吗?
可以。诸如 POST /v1/seeker/resume/extract 的简历提取调用接受 PDF 或 Word 文档,返回 firstName、lastName、emailAddress、jobTitle、companyName、schoolName 与 degreeName,用于预填资料编辑器。
与 Monster Job Search 相似的应用
- Indeed Job Search — Indeed 是职位搜索引擎,聚合来自招聘网站、劳务公司和雇主招聘页的职位,求职者可在平台上投递并保存简历。
- LinkedIn: Community & Network — LinkedIn 是职业社交平台,求职者发布简历、雇主发布职位,候选人可用个人资料通过 Apply with LinkedIn 投递。
- Job Search by ZipRecruiter — ZipRecruiter 是美国招聘市场,连接求职者与雇主,并用匹配算法把候选人与空缺岗位对应起来。
- Glassdoor | Jobs & Careers — Glassdoor 在职位列表之外,附上现任与前任员工匿名提交的公司评分、薪资报告和面试问题。
- CareerBuilder — CareerBuilder 是 1995 年创立的美国招聘网站,提供职位搜索引擎以及人才管理与招聘服务,覆盖美国、欧洲和亚洲。
- Snagajob — Snagajob 是面向美国的在线市场,把求职者与提供时薪和轮班工作的雇主对接起来。
- InfoJobs - Job Search — InfoJobs 是总部位于巴塞罗那、面向西班牙市场的在线招聘平台,求职者可通过网站和应用对接雇主。
- JOB TODAY: Hire & Find Jobs — JOB TODAY 是一款在巴塞罗那和马德里上线的移动招聘应用,专注酒店餐饮与零售等时薪及服务业岗位。
相关主题
- Monster 职位搜索 API
- Monster.com 职位数据
- jobTitle companyName salary_base
- Monster 简历解析
- Monster applyId
- OneIAM access_token
- 招聘方 unreadCount
- workAuthorization visibilityStatus
需要集成这个 App 的数据 API?
我们可为任意指定 App 交付定制集成——源码交付 USD 500 起,或托管 API 按调用计费。告诉我们您需要的数据即可。
- 每个项目均签 NDA 与 SOW
- 3–7 天交付
- 验收通过后才付款
- 仅在授权范围内作业