跳到正文

CrawlForge Team工程团队

阅读时长 4 分钟

面向顾问的职位发布 API:直接读取招聘系统

顾问看职位发布,看的是它透露出的公司动向,而不是职位本身。一家声称正在向高端市场转型的目标公司,应该正在招企业级客户经理。客户最接近的三个对手在同一个季度都开出数据工程职位,这本身就是一页幻灯片。组织设计项目的第一步,是看对标公司怎样给同一职能命名、把它放在哪些城市。

在职位数据这类关键词上排名靠前的供应商,卖的是汇总了成千上万家雇主职位的数据源,适合做劳动力市场研究。面向顾问的职位发布 API 要做的事通常窄得多:这十二家具体的公司在招什么人、在哪里招、从什么时候开始招。对于这个问题,数据其实早就有了,由每家公司自己以 JSON 形式发布。

一家公司的职位发布,以数据形式放在哪里?

在它的招聘管理系统(ATS)里。相当多的招聘页,尤其是有风投背景的公司,背后其实是 Greenhouse、Lever 或 Ashby,而这三家都提供公开、无需认证的职位板 API:

ATS端点每个职位包含什么
Greenhouseboards-api.greenhouse.io/v1/boards/{token}/departments职位名称、地点、first_published、updated_at,按部门分组
Leverapi.lever.co/v0/postings/{company}?mode=jsontext(职位名称)、团队、地点、用工类型、createdAt
Ashbyapi.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 里:

Bash
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_url 参考文档列出了全部参数。

亲自试一试——无需注册

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

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

标签

  • consultants
  • job postings
  • fetch_url
  • hiring signals
  • b2b

关于作者

CrawlForge Team

工程团队

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

邮件订阅

及时获取最新洞察

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

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

FAQ

常见问题

01CrawlForge 是职位发布数据供应商吗?

不是。它没有职位数据库,也不索引任何招聘网站。它只抓取你给它的 URL,而对职位发布来说,最有用的 URL 通常是该公司招聘管理系统的公开职位板 API。因此它适合一组指定的对标公司,而不是全市场的劳动力研究,后者需要从数据供应商那里购买汇总数据源。

02怎样找到一家公司的 Greenhouse、Lever 或 Ashby 职位板?

用 links 格式抓取它的招聘页,花 2 credits,然后找指向 job-boards.greenhouse.io、jobs.lever.co 或 jobs.ashbyhq.com 的链接。域名后面的那段路径就是职位板的 token。如果一个都没有,说明这家公司用的是其他系统或自建页面,这时就用 scrape 读取它的招聘页。

03一组对标公司做一次快照要多少钱?

fetch_url 每个职位板 1 credit,所以十二家公司每次快照 12 credits,一个 13 周的项目每周快照一次共 156 credits。找到每家公司的 token 是一次性的 scrape,每家 2 credits。免费套餐一次性赠送 1,000 credits,之后 1,000 credits 的额度包售价 $3。

04为什么响应被截断了?

职位板很大,而 fetch_url 默认只内联返回不超过 40,000 字符的结果。超过这个大小,你会拿到预览和一个 result_handle,再用 read_result 读取其余部分,花 1 credit。传入 max_inline_chars(最大 10,000,000)即可在一次响应中拿到整个职位板;一个有 665 个职位的 Greenhouse 职位板,通过其部门端点约为 480 KB。

继续阅读

相关文章