跳到正文

CrawlForge Team工程团队

阅读时长 4 分钟

用于尽职调查的职位发布 API:还原招聘历史

在尽职调查中,当前的职位板是了解目标公司招聘情况最没用的视角。它只显示今天开放的职位。真正重要的问题都关于变化:销售招聘是不是在交易流程启动前两个月就停了?哪些职位已经重新发布了三次?推介材料里那个新区域,到底有没有过哪怕一个招聘需求?

用于尽职调查的职位发布 API 必须回答这些问题,而你手里只有几周时间,不是一年的快照。如何把目标公司当前的职位板读成 JSON,面向顾问的职位发布文章已经讲过。本文讲的是那篇文章说它做不到的部分:你第一次快照之前的历史。

目标公司的招聘历史存在哪里?

通常在 Wayback Machine 里,它往往已经抓取这个职位板好几年了。它的 CDX 索引列出某个 URL 的每一次抓取,collapse=timestamp:6 则让每个月只保留一条:

Bash
curl -X POST https://crawlforge.dev/api/v1/tools/fetch_url \
  -H "X-API-Key: cf_live_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://web.archive.org/cdx/search/cdx?url=job-boards.greenhouse.io/target-co&output=json&fl=timestamp,statuscode&filter=statuscode:200&collapse=timestamp:6&from=2025"
  }'

这次调用花 1 credit,返回形如 ["20250320221034","200"] 的行,每月一行。我们查过的一个 Greenhouse 职位板,HTML 页面在最近 20 个月里每个月都有抓取,而它的 JSON 端点全年只有三次成功抓取。存档覆盖率因 URL 而异,所以要对职位板用过的每个地址都查一遍索引,选抓取最密的那个。

怎样读取存档的职位板?

在时间戳后面加上 id_。这样存档会返回原始正文,不带回放工具栏:

Json
{
  "url": "https://web.archive.org/web/20250320221034id_/https://job-boards.greenhouse.io/target-co",
  "max_inline_chars": 1000000
}

通过 fetch_url 读取每份抓取花 1 credit。存档的 API 抓取就是职位板当天返回的 JSON。存档的 Greenhouse HTML 页面同样把职位作为数据嵌在页面里,每个职位都带有 published_at、updated_at 和 requisition_id。请调高 max_inline_chars,因为我们查过的那份 HTML 抓取约 550 KB,远超默认的 40,000 个字符。

对比结果应该告诉你什么?

在公司填写了 requisition_id 的情况下,用它而不是职位 id 来归并每一份抓取。同一个招聘需求经常在多个城市发布,每个城市各有一个职位 id,所以按发布数量计数会高估招聘规模。然后把各个月份对齐:

跨抓取的规律向管理层提的问题
交易流程启动前的几个月里,销售或工程类招聘需求陆续消失是否有过招聘冻结?原因是什么?
同一个招聘需求以新的职位 id 重新发布这个职位是难招,还是招到人后又空出来了?
某个职位从第一份抓取起就一直开放这个职位还有预算吗?还是只是常年招聘的挂牌职位?
推介材料里的扩张区域没有任何招聘需求扩张什么时候能拿到人员编制(HC)?
某个管理层职位出现、消失、又再次出现谁离开了?现在由谁代管这项工作?

拿当前的销售职位数量去对照推介材料,是另一项检查,见商业尽职调查那篇文章。

要花多少钱?

一次 CDX 调用、十二份月度抓取加上当前职位板,每家目标公司共 14 credits。再加五家可比公司就是 84 credits,按每千 credits 3 美元计约 25 美分。新账户的一次性额度大约够查 70 家目标公司。

用于尽职调查的职位发布 API 有哪些局限?

  • 空缺来自存档,你无法补上。 没人抓取过的职位板就没有历史;某个月没有抓取,是空白,不是零。
  • 职位发布不等于人员编制。 招聘需求只说明某个职位有过预算,不代表真的招到了人,也不代表这个职位真实存在。
  • HTML 可能只有一页。 我们查过的那份抓取嵌入了 50 个职位;职位更多的职位板可能需要改用它的 API 抓取。
  • 只有公开的抓取。 这些都碰不到 CIM(保密信息备忘录)或管理层账目。存档自身的 robots.txt 和任何网站一样会被遵守,被拒绝的请求不收费。

创建一个免费账户,在和管理层开会之前,把当前目标公司职位板过去一年的记录拉下来。所有参数见 fetch_url 参考文档。

亲自试一试——无需注册

在 Playground 中探索全部 31 个 CrawlForge 抓取与提取工具,然后免费开始,获取 1,000 credits。

1,000 免费 credits • 一次性 • 无需信用卡

标签

  • due diligence
  • job postings
  • fetch_url
  • hiring signals
  • private equity
  • b2b

关于作者

CrawlForge Team

工程团队

我们正在打造功能最全面的 Web 抓取 MCP server。我们开发的工具帮助开发者为 AI 应用提取、分析和转换 Web 数据。

邮件订阅

及时获取最新洞察

将教程、产品更新与 Web 抓取技巧直接发送到你的收件箱。

拒绝垃圾邮件,随时可取消订阅。

FAQ

常见问题

01如果存档对这个职位板的抓取很少怎么办?

先查一下职位板以前用过的地址再下结论。Greenhouse 的职位板从 boards.greenhouse.io 迁到了 job-boards.greenhouse.io,而存档是按精确 URL 归档抓取的,所以近期抓取稀少的职位板,可能在旧域名下有更早的抓取。如果哪个地址都没被抓取过,那就没有历史可读:从今天开始做自己的快照,过去的情况向管理层要。

02目标公司的职位发布最早能看到多久以前?

取决于 Wayback Machine 最早什么时候抓取过这个职位板。先用 fetch_url 花 1 credit 查询它的 CDX 索引,按日期列出每一次抓取,再决定在抓取本身上花多少。热门职位板通常每月都有抓取;小公司可能只有寥寥几次,甚至一次都没有。

03为什么按 requisition_id 而不是职位 id 归并?

因为同一个招聘需求经常以多个职位 id 发布,每个城市或语言一个。按职位 id 计数,会让目标公司看起来比预算中招得更多。按 requisition_id 归并,更接近公司实际批准的职位数量。

04一年的招聘历史要花多少钱?

每家目标公司约 14 credits:CDX 索引 1 个,十二份月度抓取各 1 个,当前职位板 1 个。按每千 credits 3 美元计约 4 美分,所以一年历史的成本在于你读它花的时间,而不是调用本身。

继续阅读

相关文章