顾问看职位发布,看的是它透露出的公司动向,而不是职位本身。一家声称正在向高端市场转型的目标公司,应该正在招企业级客户经理。客户最接近的三个对手在同一个季度都开出数据工程职位,这本身就是一页幻灯片。组织设计项目的第一步,是看对标公司怎样给同一职能命名、把它放在哪些城市。
在职位数据这类关键词上排名靠前的供应商,卖的是汇总了成千上万家雇主职位的数据源,适合做劳动力市场研究。面向顾问的职位发布 API 要做的事通常窄得多:这十二家具体的公司在招什么人、在哪里招、从什么时候开始招。对于这个问题,数据其实早就有了,由每家公司自己以 JSON 形式发布。
一家公司的职位发布,以数据形式放在哪里?
在它的招聘管理系统(ATS)里。相当多的招聘页,尤其是有风投背景的公司,背后其实是 Greenhouse、Lever 或 Ashby,而这三家都提供公开、无需认证的职位板 API:
| ATS | 端点 | 每个职位包含什么 |
|---|---|---|
| Greenhouse | boards-api.greenhouse.io/v1/boards/{token}/departments | 职位名称、地点、first_published、updated_at,按部门分组 |
| Lever | api.lever.co/v0/postings/{company}?mode=json | text(职位名称)、团队、地点、用工类型、createdAt |
| Ashby | api.ashbyhq.com/posting-api/job-board/{name} | 职位名称、部门、地点、publishedAt |
{token} 就在招聘页的链接里。用 links 格式做一次 scrape,花 2 credits;找 job-boards.greenhouse.io/、jobs.lever.co/ 或 jobs.ashbyhq.com/ 后面跟着的名字,那个名字就是 token。使用 Workday 或自建招聘页的公司没有这样的端点,它的招聘页和其他页面一样用 scrape 读取。
一次调用返回什么?
原样返回整个职位板。fetch_url 花 1 credit,把响应正文放在 content 里:
curl -X POST https://crawlforge.dev/api/v1/tools/fetch_url \
-H "X-API-Key: cf_live_NORTHWIND_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://boards-api.greenhouse.io/v1/boards/rival-a/departments",
"max_inline_chars": 1000000
}'记得调大 max_inline_chars,因为职位板比看上去大。一个有 665 个职位的 Greenhouse 职位板,通过 /departments 返回了约 480 KB,远超默认的 40,000 字符。用默认值时,你拿到的是预览和一个 result_handle,其余部分用 read_result 读取,花 1 credit。Lever 和 Ashby 会附上每个职位的完整描述,所以大的职位板能到几 MB;Lever 支持用 limit 和 skip 分页。
这种方式比抓取招聘页强的地方在于日期。first_published 告诉你某个销售职位从去年十二月起就一直开着,而一个挂了十个月的招聘需求,和一个本周刚发布的,说明的是完全不同的事。
怎样持续对比一组对标公司?
按固定周期做快照,再按职位 id 做差异比对。新出现的 id 是新的招聘需求;消失的 id 要么已经招到人,要么被撤下了。十二家公司每次快照 12 credits,所以一个 13 周的项目每周快照一次,共 156 credits。用以客户命名的密钥来跑,花费就会以这个名字记在请求日志里。
如果证据在渲染出来的招聘页上,而不在职位板里,每个客户一个监控会替你盯着。当招聘问题属于尽职调查的一部分,也就是拿目标公司自己的开放职位去检验它的增长故事时,尽职调查那篇文章讲了它该放在哪个环节。
它不做什么?
- 不是汇总数据源。 它不搜索招聘网站,也不建立跨雇主的索引。全市场的薪资或需求研究需要找数据供应商。
- 没有首次快照之前的历史。 职位板只显示当前开放的职位。存档就是你保留下来的快照。
- 不做标准化。 职位名称、部门和地点都按每家公司的原样返回;把 "AE, Mid-Market" 映射到统一的分类体系是你的工作。
- 不涉及人。 它返回职位,不返回招聘负责人或联系方式。
- 默认遵守
robots.txt。 不允许访问的 URL 会在抓取之前被拒绝,不收费。
免费开始,送 1,000 credits。这是一次性额度,够你每周给十二家公司做一次快照,持续一年多。之后 1K 包售价 $3。fetch_