Sprout - AI Job Search 图标

Sprout AI 求职数据 API

Magnifex · 招聘求职

Sprout - AI Job Search 是 Magnifex 面向求职者的 Android 应用,让 AI 代理替你搜索职位并投递,而不是整天自己刷招聘板。2.0.14 版支持用 Apple、Google 或邮箱/密码登录,同一账号可在手机和对应的网页客户端上通用。登录后,向导会依次收集求职状态、目标职位名称与类型、最低薪资、工作地点(现场岗位选城市,全国范围搜索选国家)、经验级别,以及公民身份、退伍军人和残障状态等 EEO 字段;引导流程接着要求上传简历,并提供 AI 简历、AI 求职信和 AI 外联三个开关。首页是个性化匹配的滑动卡片堆,每天都有新职位加入;右滑的卡片会进入“申请”标签页,用户在这里审阅 AI 撰写的简历和求职信、回答简历空档问题,之后才由 Sprout 提交。个人资料页包含职业蓝图(概述、技能、工作经历、教育、证书、语言)、已保存的搜索、文档、工作区、Gmail 连接(让招聘方的回复进入带标签的收件箱;若断开 Gmail,则改用代理邮箱),以及 LinkedIn 外联资格。额度按申请计量——凡是需要一次成功搜索的申请,每个额外消耗一个额度——并配有应用内提醒和支持。英文文案和美式 EEO 引导流程表明,这是一款面向美国白领求职的细分应用,而不是高流量的公共招聘板。

嵌套的 job_applications 记录带着职位的 jobTitle 与 companySize、以 source_resume_id 为键的定制简历、求职信、job_fit_factors,以及简历空档 qa_items——其 change_proposals 会写回 workExperience。资格补丁会填上 citizenshipStatus 与 disabilityStatus,申请才能离开审阅;对外投递成功会打上 submittedAt 并扣减 remainingCredits,职位过期则退还那次成功搜索消耗的额外额度。已保存的搜索既接受单个查询字符串,也接受最多五条 queries,并配合 workLocations 与 jobTypes,范围限定在 active_professional_profile_id 指向的职业蓝图。

教练看板、简历空档收件箱和招聘回复 CRM 都读取这条流水线——从审阅到提交、Gmail 中带雇主标签的 unread 计数、LinkedIn 外联的 eligible——openData Studio 把它转换为可调用的开放数据。

应用截图

  • Sprout - AI Job Search 应用截图 1
  • Sprout - AI Job Search 应用截图 2
  • Sprout - AI Job Search 应用截图 3
  • Sprout - AI Job Search 应用截图 4
  • Sprout - AI Job Search 应用截图 5
  • Sprout - AI Job Search 应用截图 6
  • Sprout - AI Job Search 应用截图 7
  • Sprout - AI Job Search 应用截图 8

API 端点一览

以下端点与请求/响应示例均依据应用界面推导重构,为示意说明,并非实际抓包。

  • 登录与会话

    POST /v1/candidate/session osint

    在邮箱/密码、Google 或 Apple 登录之后,签发 Sprout 后续调用使用的会话 JWT。

    认证方式: 邮箱/密码、Google 或 Apple 身份令牌,或刷新令牌。之后的调用发送 Authorization: Bearer <access_token>,外加 API-key 请求头。

    • access_token
    • refresh_token
    • token_type
    • expires_in
    • user
    • id
    • email
    • app_metadata
    • provider
    POST /v1/candidate/session HTTP/1.1
    X-Api-Key: <api-key>
    Content-Type: application/json
    
    {
      "email": "[email protected]",
      "password": "<redacted>"
    }
    {
      "access_token": "<jwt>",
      "refresh_token": "<refresh>",
      "token_type": "bearer",
      "expires_in": 3600,
      "user": {
        "id": "usr_8c21",
        "email": "[email protected]",
        "app_metadata": {"provider": "google"}
      }
    }
  • 滑动职位匹配

    GET /v1/matches/deck opendata

    为首页滑动卡片堆提供个性化职位匹配(职位名称、公司规模区间、已保存搜索 id、地点)。

    认证方式: Authorization: Bearer <access_token>,外加 API-key 请求头。

    • items
    • id
    • jobTitle
    • companySize
    • search_id
    • locations
    • city
    • countryCode
    GET /v1/matches/deck HTTP/1.1
    Authorization: Bearer <access_token>
    X-Api-Key: <api-key>
    Accept: application/json
    {
      "items": [{
        "id": "job_4412",
        "jobTitle": "Staff Backend Engineer",
        "companySize": "11-50 employees",
        "search_id": "ss_18",
        "locations": [{"city": "Austin", "countryCode": "US"}]
      }]
    }
  • 记录滑动决定

    POST /v1/matches/decisions opendata

    记录匹配卡片上的左滑跳过或右滑投递;右滑会创建一条 job_applications 记录,并出现在“申请”标签页。

    认证方式: Authorization: Bearer <access_token>,外加 API-key 请求头。

    • id
    • job_id
    • direction
    • search_id
    • job_application_id
    POST /v1/matches/decisions HTTP/1.1
    Authorization: Bearer <access_token>
    X-Api-Key: <api-key>
    Content-Type: application/json
    
    {
      "job_id": "job_4412",
      "direction": "right",
      "search_id": "ss_18"
    }
    {
      "id": "swipe_9021",
      "job_id": "job_4412",
      "direction": "right",
      "search_id": "ss_18",
      "job_application_id": "app_7731"
    }
  • 列出求职申请

    GET /v1/agent/apply-pipeline opendata

    加载“申请”标签页:每条右滑记录都嵌套职位、定制简历、求职信、时间线事件、匹配度因素分析和简历空档问答。

    认证方式: Authorization: Bearer <access_token>,外加 API-key 请求头。

    • id
    • status
    • job
    • jobTitle
    • locations
    • countryCode
    • resumes
    • source_resume_id
    • cover_letters
    • events
    • analyses
    • job_fit_factors
    • qa_items
    • change_proposals
    • workExperience
    GET /v1/agent/apply-pipeline?include=job,resumes,coverLetters,events,analyses HTTP/1.1
    Authorization: Bearer <access_token>
    X-Api-Key: <api-key>
    Accept: application/json
    {
      "id": "app_7731",
      "status": "review",
      "job": {
        "id": "job_4412",
        "jobTitle": "Staff Backend Engineer",
        "locations": [{"city": "Austin", "countryCode": "US"}]
      },
      "resumes": [{"id": "res_19", "source_resume_id": "res_base_3"}],
      "cover_letters": [{"id": "cl_44"}],
      "events": [],
      "analyses": [{
        "id": "an_9",
        "job_fit_factors": [{"factor": "stack", "score": 0.86}],
        "qa_items": [{
          "question": "Gap in 2023?",
          "change_proposals": [{"field": "workExperience", "proposed": "Contract work at Northwind"}]
        }]
      }]
    }
  • 提交申请审阅

    POST /v1/applications/approve opendata

    在审阅界面批准 AI 生成的简历和求职信,使 Sprout 可以提交该申请。

    认证方式: Authorization: Bearer <access_token>,外加 API-key 请求头。

    • job_application_id
    • source_resume_id
    • selected_cover_letter_id
    • id
    • status
    • remainingCredits
    POST /v1/applications/approve HTTP/1.1
    Authorization: Bearer <access_token>
    X-Api-Key: <api-key>
    Content-Type: application/json
    
    {
      "job_application_id": "app_7731",
      "source_resume_id": "res_base_3",
      "selected_cover_letter_id": "cl_44"
    }
    {
      "id": "app_7731",
      "status": "submitted",
      "remainingCredits": 41
    }
  • 提交简历空档答案

    POST /v1/applications/gap-answers opendata

    提交求职者对简历空档问题(来自 job_application_analysis_qa)的回答;申请要退出审阅状态,必须先完成回答。

    认证方式: Authorization: Bearer <access_token>,外加 API-key 请求头。

    • job_application_id
    • qa_item_id
    • answer
    • status
    • change_proposals
    • field
    • proposed
    • workExperience
    POST /v1/applications/gap-answers HTTP/1.1
    Authorization: Bearer <access_token>
    X-Api-Key: <api-key>
    Content-Type: application/json
    
    {
      "job_application_id": "app_7731",
      "qa_item_id": "qa_12",
      "answer": "Contract frontend work at Northwind, Mar–Nov 2023"
    }
    {
      "qa_item_id": "qa_12",
      "status": "answered",
      "change_proposals": [{"field": "workExperience", "proposed": "Contract frontend, Northwind, 2023"}]
    }
  • 补充申请缺失信息

    POST /v1/applications/eligibility opendata

    补充职位仍需要的资格字段——引导流程中收集的公民身份、退伍军人和残障状态回答——使申请得以退出审阅。

    认证方式: Authorization: Bearer <access_token>,外加 API-key 请求头。

    • job_application_id
    • id
    • status
    • citizenshipStatus
    • disabilityStatus
    POST /v1/applications/eligibility HTTP/1.1
    Authorization: Bearer <access_token>
    X-Api-Key: <api-key>
    Content-Type: application/json
    
    {
      "job_application_id": "app_7731",
      "citizenshipStatus": "us_citizen",
      "disabilityStatus": "prefer_not_to_say"
    }
    {
      "id": "app_7731",
      "status": "review",
      "citizenshipStatus": "us_citizen",
      "disabilityStatus": "prefer_not_to_say"
    }
  • 标记申请已提交

    POST /v1/applications/complete opendata

    在对外投递成功后,把已批准的申请切换为已提交,并追加一条 job_application_events 记录;remainingCredits 反映成功搜索所消耗的额外额度。

    认证方式: Authorization: Bearer <access_token>,外加 API-key 请求头。

    • job_application_id
    • id
    • status
    • submittedAt
    • remainingCredits
    • events
    • type
    • at
    POST /v1/applications/complete HTTP/1.1
    Authorization: Bearer <access_token>
    X-Api-Key: <api-key>
    Content-Type: application/json
    
    {
      "job_application_id": "app_7731",
      "submittedAt": "2026-10-11T15:04:00Z"
    }
    {
      "id": "app_7731",
      "status": "submitted",
      "submittedAt": "2026-10-11T15:04:00Z",
      "remainingCredits": 41,
      "events": [{"type": "submitted", "at": "2026-10-11T15:04:00Z"}]
    }
  • 放行待审阅申请

    POST /v1/applications/release-queue opendata

    放行因文档或简历空档审阅而被暂扣的申请,使其可以离开审阅队列。

    认证方式: Authorization: Bearer <access_token>,外加 API-key 请求头。

    • job_application_ids
    • released
    • status
    POST /v1/applications/release-queue HTTP/1.1
    Authorization: Bearer <access_token>
    X-Api-Key: <api-key>
    Content-Type: application/json
    
    {
      "job_application_ids": ["app_7731", "app_7732"]
    }
    {
      "released": ["app_7731", "app_7732"],
      "status": "released"
    }
  • 将档案套用到申请

    POST /v1/applications/tailor-docs opendata

    针对某一个申请,依据职业档案重新运行 AI 简历和求职信的生成。

    认证方式: Authorization: Bearer <access_token>,外加 API-key 请求头。

    • job_application_id
    • source_resume_id
    • resume_id
    • cover_letter_id
    • status
    POST /v1/applications/tailor-docs HTTP/1.1
    Authorization: Bearer <access_token>
    X-Api-Key: <api-key>
    Content-Type: application/json
    
    {
      "job_application_id": "app_7731",
      "source_resume_id": "res_base_3"
    }
    {
      "resume_id": "res_20",
      "cover_letter_id": "cl_45",
      "source_resume_id": "res_base_3",
      "status": "ok"
    }
  • 职业档案蓝图

    GET /v1/profiles/blueprint osint

    返回 AI 代理据以定制材料的职业蓝图:概述条目(工作、教育、技能)和档案链接,范围限定在当前激活的档案。

    认证方式: Authorization: Bearer <access_token>,外加 API-key 请求头。

    • id
    • active_professional_profile_id
    • professionalTitle
    • statusText
    • entries
    • kind
    • details
    • companySize
    • title
    • urls
    • label
    • url
    • workExperience
    GET /v1/profiles/blueprint?include=entries,urls HTTP/1.1
    Authorization: Bearer <access_token>
    X-Api-Key: <api-key>
    Accept: application/json
    {
      "id": "pp_4",
      "active_professional_profile_id": "pp_4",
      "professionalTitle": "Staff Engineer",
      "statusText": "open",
      "entries": [{
        "id": "ent_88",
        "kind": "workExperience",
        "details": [{"companySize": "11-50 employees", "title": "Staff Engineer"}]
      }],
      "urls": [{"label": "LinkedIn", "url": "https://www.linkedin.com/in/example"}]
    }
  • 激活职业档案

    POST /v1/profiles/activate osint

    切换当前激活的职业蓝图,使职位、搜索和简历限定在求职者选择的档案。

    认证方式: Authorization: Bearer <access_token>,外加 API-key 请求头。

    • professional_profile_id
    • active_professional_profile_id
    • professionalProfileId
    • statusText
    POST /v1/profiles/activate HTTP/1.1
    Authorization: Bearer <access_token>
    X-Api-Key: <api-key>
    Content-Type: application/json
    
    {
      "professional_profile_id": "pp_4"
    }
    {
      "active_professional_profile_id": "pp_4",
      "professionalProfileId": "pp_4",
      "statusText": "open"
    }
  • 上传原始简历

    POST /v1/documents/upload-url opendata

    为求职者的原始 PDF 简历生成带签名的上传地址;之后定制的简历通过 source_resume_id 指向这一条记录。

    认证方式: Authorization: Bearer <access_token>,外加 API-key 请求头。

    • filename
    • contentType
    • signedUrl
    • resume_id
    • source_resume_id
    • status
    POST /v1/documents/upload-url HTTP/1.1
    Authorization: Bearer <access_token>
    X-Api-Key: <api-key>
    Content-Type: application/json
    
    {
      "filename": "alex-resume.pdf",
      "contentType": "application/pdf"
    }
    {
      "signedUrl": "/v1/documents/put/res_base_3",
      "resume_id": "res_base_3",
      "source_resume_id": null,
      "status": "uploaded"
    }
  • 已保存的搜索

    GET /v1/searches opendata

    列出驱动滑动卡片堆的已保存搜索条件(一个查询字符串或最多五个查询字符串、地点、职位类型)。

    认证方式: Authorization: Bearer <access_token>,外加 API-key 请求头。

    • id
    • queries
    • workLocations
    • city
    • countryCode
    • jobTypes
    GET /v1/searches HTTP/1.1
    Authorization: Bearer <access_token>
    X-Api-Key: <api-key>
    Accept: application/json
    {
      "id": "ss_18",
      "queries": ["staff backend", "platform engineer"],
      "workLocations": [{"city": "Austin", "countryCode": "US"}],
      "jobTypes": ["full_time"]
    }
  • 工作地点建议

    GET /v1/geo/suggestions opendata

    地点向导的自动补全:现场岗位选城市,全国范围搜索选国家,并写入已保存搜索的 workLocations。

    认证方式: Authorization: Bearer <access_token>,外加 API-key 请求头。

    • suggestions
    • city
    • countryCode
    • label
    GET /v1/geo/suggestions?q=Aus HTTP/1.1
    Authorization: Bearer <access_token>
    X-Api-Key: <api-key>
    Accept: application/json
    {
      "suggestions": [{
        "city": "Austin",
        "countryCode": "US",
        "label": "Austin, TX, United States"
      }]
    }
  • Gmail 账号与收件箱计数

    GET /v1/inbox/counts opendata

    支撑“邮件”标签页:Gmail 连接状态,以及按申请打标签的雇主/招聘方邮件线程的未读数。

    认证方式: Authorization: Bearer <access_token>,外加 API-key 请求头。

    • connected
    • accounts
    • email
    • provider
    • unread
    GET /v1/inbox/counts HTTP/1.1
    Authorization: Bearer <access_token>
    X-Api-Key: <api-key>
    Accept: application/json
    {
      "connected": true,
      "accounts": [{"email": "[email protected]", "provider": "gmail"}],
      "unread": 3
    }
  • LinkedIn 外联资格

    GET /v1/outreach/eligibility osint

    告知 AI 外联开关:该档案是否可以在申请过程中发送 LinkedIn 消息。

    认证方式: Authorization: Bearer <access_token>,外加 API-key 请求头。

    • eligible
    • reason
    GET /v1/outreach/eligibility HTTP/1.1
    Authorization: Bearer <access_token>
    X-Api-Key: <api-key>
    Accept: application/json
    {
      "eligible": true,
      "reason": null
    }
  • 重新生成外联消息

    POST /v1/outreach/drafts osint

    在资格检查通过后,重写附在某个申请上的 LinkedIn 外联短信。

    认证方式: Authorization: Bearer <access_token>,外加 API-key 请求头。

    • job_application_id
    • message
    • status
    POST /v1/outreach/drafts HTTP/1.1
    Authorization: Bearer <access_token>
    X-Api-Key: <api-key>
    Content-Type: application/json
    
    {
      "job_application_id": "app_7731"
    }
    {
      "job_application_id": "app_7731",
      "message": "Hi — I applied for Staff Backend Engineer and would welcome a chat.",
      "status": "ok"
    }
  • 举报职位发布

    POST /v1/listings/flags opendata

    提交求职者对滑动卡片堆中某个职位的举报(已关闭、垃圾信息或其他)。

    认证方式: Authorization: Bearer <access_token>,外加 API-key 请求头。

    • id
    • job_id
    • reason
    • details
    • status
    POST /v1/listings/flags HTTP/1.1
    Authorization: Bearer <access_token>
    X-Api-Key: <api-key>
    Content-Type: application/json
    
    {
      "job_id": "job_4412",
      "reason": "closed",
      "details": "Posting already filled"
    }
    {
      "id": "rpt_12",
      "job_id": "job_4412",
      "reason": "closed",
      "status": "submitted"
    }

数据类别

  • 职位匹配
  • 求职申请
  • 简历与求职信
  • 职业档案
  • 已保存的搜索
  • 申请额度
  • 招聘方邮件

数据使用场景与案例

  • Agent 投递流水线看板

    求职运营工具分页读取 job_applications,并嵌套 jobs、resumes、cover_letters、job_fit_factors 和 qa_items,让教练一眼看出哪些右滑卡片仍在审阅、哪些已经提交。

  • 简历空档辅导收件箱

    职业教练产品读取 job_application_analysis_qa 和 profile_change_proposals,提交答案,并把获批的 workExperience 写回 professional_profile_entries。

  • 额度与搜索监控

    计费机器人把 remainingCredits 与 user_saved_searches 的运行记录对照,在多关键词搜索即将消耗每次申请的额外额度时,以及职位过期退还额度时发出提醒。

  • 招聘回复 CRM

    轻量 CRM 把“邮件”标签页中带雇主标签的未读邮件与提交标记事件关联起来,使后续跟进挂在滑动操作所创建的同一个 job_application_id 上。

常见问题

Sprout 的求职申请记录包含哪些内容?

每条 job_applications 记录嵌套 jobs 职位和 job_locations、定制的 resumes(source_resume_id 指向上传的 PDF)、cover_letters、job_application_events,以及带 job_fit_factors、qa_items 和 profile_change_proposals 的 job_application_analyses。

Sprout 如何对求职者进行认证?

登录支持邮箱/密码、Google 或 Apple。之后的调用发送 Authorization: Bearer 以及 API-key 请求头;同一账号也可登录对应的网页客户端。

申请额度是如何计费的?

remainingCredits 对右滑投递进行计量。客户端文案说明,一次成功的搜索会为每个申请额外消耗一个额度,职位过期则会退回该额度。

招聘方的回复显示在哪里?

连接 Gmail 之后,“邮件”标签页会读取收件箱计数。回复会在求职者的 Gmail 中按申请打上标签;断开 Gmail 后,新的申请会改用代理(Sprout 提供的)邮箱地址。

与 Sprout - AI Job Search 相似的应用

  • LazyApply — LazyApply 是一款 AI 求职工具,可在美国和加拿大的 LinkedIn、Indeed、Greenhouse、Dice 和 ZipRecruiter 等招聘平台上自动填写并提交申请。
  • Simplify — Simplify 是一款 AI 求职平台,可根据一份资料为求职者匹配职位、定制简历,并自动填写和提交申请。
  • LoopCV — LoopCV 让求职者上传一次简历后,即可在 LinkedIn、Indeed、Glassdoor 等招聘板上自动投递匹配职位。
  • Huntr — Huntr 是求职工作台,可跟踪申请进度、用 AI 生成简历和求职信,并一键自动填写申请表。
  • Indeed Job Search — Indeed 是美国跨国招聘网站,2004 年上线,目前覆盖 60 多个国家和 28 种语言。
  • LinkedIn: Community & Network — LinkedIn 是面向商务和就业的社交网络,求职者可发布简历、雇主可发布职位,成员可维护职业身份。
  • Job Search by ZipRecruiter — ZipRecruiter 是总部位于圣莫尼卡的美国招聘市场,求职者可在其上搜索美国职位并投递。
  • Glassdoor | Jobs & Careers — Glassdoor 是 Indeed 旗下的美国求职与职场应用,在职位列表之外发布现任和前任员工对公司的评分与评价。

相关主题

  • Sprout AI Job Search API
  • Magnifex Sprout
  • job_applications
  • job_fit_factors
  • AI 求职信
  • 已保存的搜索
  • 申请额度
  • AI 求职代理

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

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

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

获取报价