关于 ATS Jobs Gateway (Workday, Greenhouse, Lever, Ashby)
一款 MCP 服务和 Apify Actor,可从 Workday、Greenhouse、Lever 与 Ashby 获取规范化招聘信息。它追踪新增、更新和已移除的职位,并提供用于监控流程的集成模板。
主要功能
- 01统一四种 ATS 数据格式
- 02追踪新增、更新和移除职位
- 03可提取发布的薪资文本
- 04移除招聘人员联系方式
- 05提供 HTTP API 和工作流模板
适用场景
- 01监控公司招聘页面的新职位
- 02将职位变更发送到自动化工作流
- 03比较不同 ATS 平台的职位
MCP 相关
该服务通过 `scrape_ats_jobs` 工具获取招聘页面 URL 对应的职位信息。可使用托管的 Apify MCP 端点或本地运行;调用工具时需要 Apify 令牌。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://mcp.apify.com/?tools=ginugokz/ats-zero-browser-gatewayclaude mcp add --transport http ginugokz-ats-zero-browser-gateway https://mcp.apify.com/?tools=ginugokz/ats-zero-browser-gateway{"mcpServers":{"ginugokz-ats-zero-browser-gateway":{"type":"http","url":"https://mcp.apify.com/?tools=ginugokz/ats-zero-browser-gateway"}}}在 Cursor 中打开{"servers":{"ginugokz-ats-zero-browser-gateway":{"type":"http","url":"https://mcp.apify.com/?tools=ginugokz/ats-zero-browser-gateway"}}}在 VS Code 中打开{"mcpServers":{"ginugokz-ats-zero-browser-gateway":{"type":"http","url":"https://mcp.apify.com/?tools=ginugokz/ats-zero-browser-gateway"}}}{"mcpServers":{"ginugokz-ats-zero-browser-gateway":{"serverUrl":"https://mcp.apify.com/?tools=ginugokz/ats-zero-browser-gateway"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
https://mcp.apify.com/?tools=ginugokz/ats-zero-browser-gateway需要授权工具
详细介绍
Workday、Greenhouse、Lever 和 Ashby 职位 API — MCP 服务 + Apify Actor
从使用 Workday、Greenhouse、Lever 或 Ashby 的公司招聘网站获取所有开放职位,并转换为整洁、规范化的 JSON 数据,同时提供变更跟踪:仅返回自上次运行以来新增、更新或关闭的职位。无需浏览器、登录或代理。
此仓库包含 MCP 服务和集成模板。数据提取引擎作为托管且持续维护的 Actor 在 Apify 上运行:
→ ginugokz/ats-zero-browser-gateway on Apify
你将获得什么
- 一套适用于 4 种申请人跟踪系统的架构 — Workday(
myworkdayjobs.com、myworkdaysite.com)、Greenhouse、Lever 和 Ashby。 - 变更跟踪(
only_deltas) — 仅接收自上次运行以来状态为ADDED、UPDATED和REMOVED的职位。适用于在 n8n、Make、Zapier、Clay 或你自己的流水线中进行每日监控。 - 发布内容中包含薪资文本时,会提取该文本(
compensation_raw)。 - 默认保护隐私 — 从职位描述中移除招聘人员的电子邮件地址和电话号码。
- 速度快 — 无需无头浏览器,约 10 秒即可获取 40 个详细的 Workday 职位。
支持的招聘网站
| ATS | URL 格式 | 示例输入 |
|---|---|---|
| Workday | https://{company}.wd{n}.myworkdayjobs.com/{locale}/{site} 或 https://wd{n}.myworkdaysite.com/recruiting/{company}/{site} | https://nvidia.wd5.myworkdayjobs.com/en-US/NVIDIAExternalCareerSite |
| Greenhouse | https://boards.greenhouse.io/{board} 或 https://job-boards.greenhouse.io/{board} | https://boards.greenhouse.io/stripe |
| Lever | https://jobs.lever.co/{company} | https://jobs.lever.co/spotify |
| Ashby | https://jobs.ashbyhq.com/{company} | https://jobs.ashbyhq.com/ramp |
传入完整的招聘网站 URL:系统会根据主机名检测 ATS。查找 URL 的方法:打开公司的招聘页面,点击任意职位,并复制地址栏中截至招聘看板或网站名称的 URL。
快速开始
1. 无需编写代码
打开 Apify 上的 Actor,粘贴一个或多个招聘网站 URL,然后点击 Start。将结果导出为 JSON、CSV 或 Excel,也可以安排 Actor 每日运行。
2. HTTP API(任意语言)
curl -X POST "https://api.apify.com/v2/acts/ginugokz~ats-zero-browser-gateway/run-sync-get-dataset-items" \
-H "Authorization: Bearer $APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"targets": ["https://boards.greenhouse.io/stripe", "https://jobs.ashbyhq.com/ramp"],
"only_deltas": true,
"max_jobs": 100
}'
在 console.apify.com/settings/integrations 获取 API 令牌。
3. Python
import os, requests
resp = requests.post(
"https://api.apify.com/v2/acts/ginugokz~ats-zero-browser-gateway/run-sync-get-dataset-items",
headers={"Authorization": f"Bearer {os.environ['APIFY_TOKEN']}"},
json={"targets": ["https://jobs.lever.co/spotify"], "only_deltas": True},
timeout=320,
)
for job in resp.json():
print(job["delta_status"], job["title"], job["url"])
4. MCP — Claude Desktop、Cursor 和其他 MCP 客户端
托管版本(无需安装): 添加此 Actor 作为工具的 Apify MCP 服务:
https://mcp.apify.com/?tools=ginugokz/ats-zero-browser-gateway
本地版本(此仓库):
pip install "mcp>=1.2"
{
"mcpServers": {
"ats-jobs": {
"command": "python",
"args": ["/absolute/path/to/mcp_server.py"],
"env": { "APIFY_TOKEN": "<your Apify API token>" }
}
}
}
提供的工具:scrape_ats_jobs(urls, only_deltas=False, max_jobs=40, include_details=True)。
服务启动时无需令牌;只有在调用工具时才需要令牌。
5. n8n
导入 templates/n8n_ats_delta_monitor.json:该工作流每 12 小时运行一次,使用 only_deltas 和 full_scan 调用 Actor,并将新增、关闭和修改的职位分别发送到三个输出端(可将其连接到 Slack、电子邮件或 Sheets)。身份验证:创建一个 Header Auth 凭据,将 Name 设为 Authorization,将 Value 设为 Bearer <your Apify API token>,然后在 HTTP Request 节点中选择该凭据。
输出
每个职位对应一项。以下是 2026 年 10 月 16 日某次运行的实际数据;此处对 locations(13 项)和 description_html 进行了缩略处理:
{
"source_system": "workday_cxs",
"company_tenant": "nvidia",
"site_id": "NVIDIAExternalCareerSite",
"requisition_id": "JR1999579",
"title": "Senior HPC Architect, Automation and At-Scale Deployment",
"url": "https://nvidia.wd5.myworkdayjobs.com/NVIDIAExternalCareerSite/job/US-CA-Santa-Clara/Senior-HPC-Architect_JR1999579",
"locations": ["US, CA, Santa Clara", "US, TX, Remote", "US, CO, Remote"],
"posted_date": "2026-10-15",
"employment_type": "Full time",
"remote_type": null,
"compensation_raw": "184,000 USD - 287,500 USD",
"description_html": "<p>NVIDIA has continuously reinvented itself over two decades. …</p>",
"delta_status": "ADDED",
"summary_hash": "ec90f0b7cd647ca6",
"detail_hash": "2f3177f5f974d75c",
"scraped_at": "2026-10-16T04:50:18.026337+00:00"
}
source_system 的值为 workday_cxs、greenhouse、lever 或 ashby。仅当招聘信息中公布了薪资时,才会填入 compensation_raw。
变更追踪的工作方式
delta_status | 含义 |
|---|---|
ADDED | 自上次运行以来新增的职位 |
UPDATED | 职位名称、描述或薪酬发生变化 |
REMOVED | 职位已不再列出(仅在读取完整且一致后报告;职位数量突然降至零时,会等待再次运行后再报告) |
EXISTING | 未发生变化 — 当 only_deltas 为 true 时跳过 |
追踪状态存储在你自己的 Apify 账户中的命名键值存储中。若要追踪大型招聘网站上已关闭的职位,请设置 full_scan: true(摘要模式,每个网站最多 5,000 个职位);部分读取不会报告 REMOVED。
定价
在 Apify 上按事件付费:每交付一个职位付费,另加每次运行的一小笔费用。当前价格请查看 Actor 的 Pricing 标签页。Apify 免费套餐包含每月用量额度,可用于测试。
常见问题
这样合法吗? 该 Actor 会读取与公司自有招聘页面用于展示职位相同的公开招聘信息接口。不需要登录。它返回职位信息,而非个人资料,并会移除招聘人员的电子邮件和电话号码。
为什么提取引擎不在此代码库中? 它作为 Apify 上的托管服务运行,以便针对不断变化的 ATS 接口进行的修复能立即惠及所有用户。此代码库是客户端部分:MCP 服务、API 示例和工作流模板。
我可以监控数百家公司吗? 可以 — 在一次运行的 targets 中传入所有公司,并设置每天运行且 only_deltas: true。
许可证
MIT — 适用于此代码库中的代码(MCP 客户端和模板)。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。