Cornerstone Jobs Scraper & API - All CSOD Career Sites, Remote

io.github.AnshumanAtrey由 GitHub 账号 AnshumanAtrey 发布v1.0.7更新于 Nov 3, 2026

Cornerstone Jobs Scraper - Every CSOD Career Site

发布方自己的服务:Scraper API

已验证Streamable HTTP可网页运行网页搜索与抓取商业与电商

概览

AI 生成的概览

托管在 Apify 上的 MCP 服务器,实时检索 Cornerstone OnDemand 招聘网站,返回职位名称、公司、地点、远程标记、日期与链接。

可以做什么
  • 按职位名称、地点、工作类型、发布时间范围和公司,一次检索多个 Cornerstone 招聘网站,结果按最新排序。
  • 用排除词、描述匹配和最大职位数进一步筛选结果。
  • 返回完整详情,如职位描述、精确发布时间、地址和申请链接。
  • 检查粘贴的职位链接,报告其仍开放、已关闭或未找到。
  • 通过 Apify 平台将结果导出为 JSON、CSV 或 Excel。
适用场景
适合求职者和招聘信息站建立每日 Cornerstone 职位推送,适合招聘方比较哪些公司在招某类岗位,也适合把招聘动向当作采购信号的销售与市场调研。需要稳定职位数据流的数据团队和 AI 代理同样适用。
运行要求
远程 MCP 端点 mcp.apify.com,使用 OAuth 认证;Authorization 请求头以 Bearer 形式携带 Apify API 令牌。需要 Apify 账户,运行费用计入该账户。无需登录 Cornerstone。
安装前请注意
按实际交付的职位行计费,检索会在绑定的 Apify 账户上产生费用;可用最大职位数和消费上限控制单次运行。服务器读取公开职位信息,README 将遵守各站点条款和隐私法规的责任归于使用者。远程与混合标记仅由标题和地点推断,部分职位可能已发布多年。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Cornerstone Jobs Scraper & API - All CSOD Career Sites, Remote,将其添加到工作区。
  2. 连接 所需的 凭据。它们会被私密存储,绝不会在公开页面上展示。
  3. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/io.github.AnshumanAtrey%2Fcornerstone-jobs-search/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。 客户端会在首次连接时完成 OAuth 登录。

{
  "mcpServers": {
    "cornerstone-jobs-scraper-api-all-csod-ca": {
      "type": "http",
      "url": "https://mcp.apify.com/?tools=anshumanatrey/cornerstone-jobs-search"
    }
  }
}

README

Cornerstone Jobs Scraper & API - All CSOD Career Sites, Remote

Cornerstone jobs scraper and API: search every company's career site on Cornerstone OnDemand (csod.com) at once, live, and get each job's title, company, location, remote flag, posting date, closing date and link, newest first. Turn on full details for the description, the address, the apply link and the time the job's requisition was opened, which replaces the posting date.

Use it as a Cornerstone jobs API or CSOD jobs API, a Cornerstone career site scraper or a daily job feed from the Apify Console, the Apify API, Python, JavaScript, n8n, Make or an AI agent through MCP, and export JSON, CSV or Excel. It is the site:csod.com Google dork done at the source, and it reaches jobs the dork cannot: nearly half of these jobs sit on career sites closed to search engines. Available as an Apify Actor. $0.002 per job ($2.00 per 1,000), $0.003 with full details ($3.00 per 1,000), no start fee, no login, no API key.

What does it do?

  • Searches 1,110 career sites of 605 employers at once, about a minute for all of them. 61,000+ open jobs, at employers such as McDonald's, Henkel, Turner Construction, STRABAG, Linde, Kohler, A.S. Watson, CEVA Logistics, the World Bank Group, and many universities and hospitals.
  • One keyword is enough. Type a job title and press Start. Leave the form empty for the newest jobs of every kind.
  • Newest first, read live. Every job comes from Cornerstone at the moment of your run, not from a stored copy.
  • Filters that take what people type. Germany, EMEA, Remote, last 24 hours, or a pasted Google dork such as site:newcold.csod.com intext:engineer.
  • Checks job links. Paste links and each comes back open, closed or not found.

How is it different from other Cornerstone scrapers?

  • You do not need to know the companies. One search covers every career site we have found, so a job title finds employers you had never heard of. Other Cornerstone actors take the career-site links you already have.
  • It reaches what Google cannot. Of 840 hiring career sites, 259 tell search engines to stay away, and they hold 28,525 of 61,090 open jobs (47%, measured 2026-10-30). McDonald's job pages, for example, are marked noindex. A site: search does not see those jobs.
  • Live, not a database. Multi-ATS actors sell a stored index; this one asks Cornerstone at run time, so a job it returns was listed when you ran it.
  • A failed read costs nothing. You pay per delivered row, and a row whose details could not be read is charged as a plain job.

When should I use it?

  • Job seekers and job boards: find new jobs at large employers that never reach Google or LinkedIn, on a daily schedule.
  • Recruiters and sourcing teams: see who is hiring for a role across hundreds of employers.
  • Sales and market research: spot companies hiring for a function, by country and date, as a buying signal.
  • Data teams and AI agents: one clean, stable feed of Cornerstone jobs through the API or MCP.

How much does it cost to scrape Cornerstone jobs?

Cornerstone Jobs Scraper costs $2.00 per 1,000 jobs, or $3.00 per 1,000 with full details, pay per event. Platform usage is included, and there is no start fee or monthly fee.

EventPriceWhen it is charged
Job$0.002One saved job, and one checked link that is closed or not found
Job with details$0.003One saved job with full details on

Cornerstone Jobs Scraper's Apify Store header, "from $1.60 / 1,000 jobs", shows the lowest discount-tier price, the GOLD price. Each Apify plan sits in a discount tier: FREE (the Free plan) and BRONZE (Starter) pay the base prices above, $0.002 and $0.003; SILVER (Scale) pays 10% less, $0.0018 and $0.0027 ($1.80 and $2.70 per 1,000); GOLD (Business) and the enterprise tiers above it pay 20% less, $0.0016 and $0.0024 ($1.60 and $2.40 per 1,000).

Job (Free and Starter price)Cost
100 newest jobs$0.20
100 jobs with full details$0.30
1,000 jobs$2.00
10,000 jobs with full details$30.00

Apify's free $5 monthly credit covers 2,500 jobs ($5 / $0.002), or 1,666 with full details ($5 / $0.003). Number of jobs (maxJobs) sets the most a run can cost, and a run stops at its spending limit with a message saying so.

How does the price compare with other Cornerstone scrapers?

Every actor on the Apify Store that names Cornerstone or CSOD in its title, description or list of platforms, found by searching "cornerstone", "csod", "cornerstone jobs" and "cornerstone ondemand" on 2026-10-30, ordered by users in the last 30 days. Free-plan prices from each listing.

ActorUsers, 30 daysPer jobStart feeCovers
fantastic-jobs/career-site-job-listing-api1,668$0.012$0.0154 ATS from its own database; csod is one filter
memo23/career-site-ats-jobs-api85$0.004$0.03116 ATS, Cornerstone among them
gefese/cornerstone-jobs-scraper1$0.0015noneCornerstone, the career-site links you paste
gefese/multi-ats-jobs-scraper1$0.0015noneSeveral ATS, the career-site links you paste
This actornew$0.002noneCornerstone, every career site with no links needed

Where others are cheaper: gefese's actors cost less per job when you already have the career-site links. Where others do more: the multi-ATS actors cover many platforms in one run.

Which inputs does it take?

Cornerstone Jobs Scraper has no required field. Type a job title and press Start, or press Start with the form empty.

FieldWhat it does
Job titles to find (searchTerms)One per line. A job matches when its title has every word: frontend also finds Front-End. A pasted Google dork or Cornerstone link works too
Where the job is (location)A city, state, country or region: London, United States, EMEA, LatAm. Worldwide finds jobs open everywhere, and Remote asks for remote jobs
Remote or onsite (workType)remote or hybrid, read from the title and location, since Cornerstone has no remote field. Onsite finds no jobs here, because nothing on Cornerstone marks a job as onsite
Posted in the last (postedWithin)24 hours, 3 days, 7 days, 30 days, any time, or your own period such as 48 hours
Number of jobs (maxJobs)How many, newest first: 100 by default, 0 for every match
Full details (includeDetails)Adds the description as text and HTML, reference, apply link, city, region and country. Posted on (postedAt) then holds the time the job's requisition was opened, not the posting date
Leave out words (excludeTerms)Drops jobs whose title has these words, such as senior or intern
Match descriptions (searchDescriptions)Finds your words in the description too, not only the title
Only these companies (companies)A name (Henkel), the name in the address (henkel) or a career-site link. Empty searches everyone
Job links to check (jobUrls)Paste job links to check whether they are still open, instead of searching

Example input:

json
{  "searchTerms": ["software engineer"],  "location": ["Germany", "United States"],  "postedWithin": "7 days",  "maxJobs": 100}

What does the output look like?

Cornerstone Jobs Scraper returns one row per job, newest first. These rows are from a run on 2026-10-30, build 1.0.1, searching one company for the word engineer in 1 second:

Job title (title)Company name (company)Main location (location)Posted on (postedAt)Still open? (status)
Senior Project EngineerNewColdBreda, NL2026-07-03open
Senior Network EngineerNewColdBreda, NL2026-07-03open
Project Engineer (HBO)NewColdCulemborg, NL2026-07-03open
Project Engineer IndiaNewColdIN2024-09-18open

One row as JSON:

json
{  "title": "Senior Project Engineer",  "company": "NewCold",  "location": "Breda, NL",  "otherLocations": [],  "workType": null,  "postedAt": "2026-07-03",  "expiresAt": null,  "jobUrl": "https://newcold.csod.com/ux/ats/careersite/5/home/requisition/954?c=newcold",  "applyUrl": "https://newcold.csod.com/ux/ats/careersite/5/home/requisition/954?c=newcold",  "status": "open",  "platform": "cornerstone",  "companySlug": "newcold/5",  "jobId": "954",  "checkedAt": "2026-10-30T11:57:07+00:00"}

Full details add description, descriptionHtml, reference, city, region, country and countryCode, and postedAt then holds the date and time the company opened the job's requisition in Cornerstone, not the posting date. An open checked job link carries that time too, with Full details on or off. The two dates can be far apart: job 954 above was dated 2026-07-03 by a search (run takgbge7em1qt4MaA) and 2024-09-09T16:30:28Z by a link check (run E4Fwz4hH7zSid7e92), both on 2026-11-03. In a search, Posted in the last (postedWithin) and the newest-first order use the posting date, with Full details on or off. A run also writes an OUTPUT record: how many career sites were read, how many jobs matched and were saved, and any notes on how your input was read.

How fast is it?

Cornerstone Jobs Scraper searches every career site in 69 seconds at the default 2 GB of memory (run b24SuuFL58CMyduIh, 2026-10-30, 100 newest jobs). A search of named companies takes seconds, and details add a moment per job. An empty form stops reading once Number of jobs is filled with jobs dated today, because nothing can be newer: the default 100 took 2 seconds of reading (run 6AFdE5CkCJmIJwNXH, build 1.0.5, 2026-10-30).

Common questions

How much does it cost per 1,000 jobs?

Cornerstone Jobs Scraper costs $2.00 per 1,000 jobs, or $3.00 per 1,000 with full details, on Apify's Free and Starter plans, with no start fee and platform usage included. Scale pays $1.80 and $2.70 per 1,000, and Business and above $1.60 and $2.40, the "from $1.60" in the Store header. The 100 newest jobs cost $0.20.

Does it work on the Apify free plan?

Cornerstone Jobs Scraper works on the Apify free plan: the plan's $5 monthly credit pays for 2,500 jobs, or 1,666 with full details, and a run costs only its jobs. Number of jobs (maxJobs) caps each run, and when the credit or your spending limit runs out, the run stops with the jobs it paid for and says so.

Why are these jobs not on Google?

Each company's Cornerstone career site has a setting for search engines. Where it is off, the job pages carry noindex and no job markup, so Google leaves them out. On 2026-10-30 that was 259 of 840 hiring sites and 47% of open jobs.

How does it find every company?

Cornerstone Jobs Scraper's list of career sites comes from the Wayback Machine, which lists every archived page under csod.com: that gave 1,754 career sites, and 1,110 still answer. That is the site:csod.com idea run on an archive instead of a search engine. To search a company that is not on the list, paste its career-site link into Only these companies.

How do I search one company?

To search one company on Cornerstone, type it into Only these companies (companies): its name (Henkel), the first words of its name (World Bank finds World Bank Group), the name in its address (henkel from henkel.csod.com) or a career-site link. A name finds every career site of that company, and one company takes seconds. As JSON: {"companies": ["Henkel"], "searchTerms": ["engineer"]}.

How do I check a list of job links?

To check a list of Cornerstone job links, paste them into Job links to check (jobUrls), one per line. Career-site job links such as https://newcold.csod.com/ux/ats/careersite/5/home/requisition/954?c=newcold work, and so do the older JobDetails.aspx links. Each comes back open with the job, closed, or not found (no such job or career site), and an open job's postedAt is the time its requisition was opened, not the posting date. An open link is a normal Job row ($0.002, or $0.003 with full details), a closed or not-found link is one Job ($0.002), and a link Cornerstone does not answer is not charged and is counted in the run message. Three links took 11 seconds (run 2eQyLTWVArakcCSB8, 2026-10-30).

Which fields come back?

Every Cornerstone Jobs Scraper row has title, company, location, otherLocations, workType, postedAt, expiresAt, jobUrl, applyUrl, status, platform, companySlug, jobId and checkedAt. Full details (includeDetails) add description, descriptionHtml, reference, city, region, country and countryCode. postedAt is the posting date in a search, and the time the job's requisition was opened with Full details on or for a checked link. Cornerstone publishes no salary, job type or department, so none comes back. Export as JSON, CSV or Excel.

How often should I run it?

Running Cornerstone Jobs Scraper once a day gives a fresh feed: schedule it in Apify with Posted in the last (postedWithin) set to 24 hours. Cornerstone gives the day a job was posted, not the hour, so 24 hours also keeps the jobs dated the day before, and two daily runs can share a job: keep jobUrl as the key to drop repeats.

Which Cornerstone scraper should I pick?

The right Cornerstone scraper depends on what you start from (Store listings and free-plan prices on 2026-10-30):

  • A job title, across every employer on Cornerstone: this actor, $0.002 per job, read live, including the 47% of jobs on career sites closed to Google.
  • Career-site links you already have: gefese/cornerstone-jobs-scraper costs less, $0.0015 per job.
  • Many ATS in one run: fantastic-jobs/career-site-job-listing-api ($0.012 per job, $0.01 start, 54 ATS from its own database) or memo23/career-site-ats-jobs-api ($0.004 per job, $0.03 start, 116 ATS).
  • A free Google site:csod.com search: it misses the jobs on career sites closed to search engines, 47% of them.

For Ashby, Workday, Deel, Greenhouse, SmartRecruiters, Workable or Lever, use the sibling actors below.

Does it need a login or an API key?

Cornerstone Jobs Scraper needs no login and no API key: it reads what each career site shows any visitor, with the anonymous access the page itself uses. You need only an Apify account.

How do I run it from the API, Python, JavaScript, n8n or an AI agent?

Cornerstone Jobs Scraper runs from the API, Python, JavaScript, n8n or an AI agent with the same JSON input as the form and your Apify token, from https://console.apify.com/settings/integrations.

API: one HTTP call that runs the actor, waits for it (up to 300 seconds; a search of every career site takes about 70) and returns the rows. Add ?format=csv for CSV.

bash
curl -X POST "https://api.apify.com/v2/actors/anshumanatrey~cornerstone-jobs-search/run-sync-get-dataset-items" \  -H "Authorization: Bearer <YOUR_APIFY_TOKEN>" \  -H "Content-Type: application/json" \  -d '{"searchTerms": ["software engineer"], "maxJobs": 100}'

Python (pip install apify-client, version 3 or later; on 2.x write run["defaultDatasetId"]):

python
from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")run = client.actor("anshumanatrey/cornerstone-jobs-search").call(run_input={"searchTerms": ["software engineer"]})for row in client.dataset(run.default_dataset_id).iterate_items():    print(row["title"], row["company"], row["location"], row["jobUrl"])

JavaScript (npm install apify-client):

js
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' });const run = await client.actor('anshumanatrey/cornerstone-jobs-search').call({ searchTerms: ['software engineer'] });const { items } = await client.dataset(run.defaultDatasetId).listItems();for (const job of items) console.log(job.title, job.company, job.location, job.jobUrl);

n8n: add the Apify node, choose Run Actor with this actor and the JSON input above, then Get Dataset Items with the run's defaultDatasetId. In an n8n AI Agent, add it as the Apify Tool. Make has an Apify app too.

AI agents (MCP): point your MCP client at https://mcp.apify.com?tools=anshumanatrey/cornerstone-jobs-search and the agent gets this actor as its own tool, signing in with Apify or sending your token as a Bearer header. On the default server, https://mcp.apify.com, an agent can find it with search-actors and run it with call-actor.

Am I charged for closed jobs?

Cornerstone Jobs Scraper charges for a closed job only when you paste its link: a search returns open jobs only, and a pasted link that turns out closed or not found is one Job row, because it was checked and answered.

Is it legal to use?

Cornerstone Jobs Scraper reads public job postings. You are responsible for how you use the data, including each site's terms and the privacy laws that apply to you.

Limitations

  • Cornerstone publishes no salary, job type, department or remote field, so none is shown. Remote and hybrid are read from the title and location only, and nothing marks a job as onsite, so the onsite choice of Remote or onsite (workType) finds no jobs.
  • Titles and descriptions come in the company's own language.
  • Company names: Cornerstone publishes only the name in the address, so the big employers are written by hand and the rest are read from that name.
  • The list of career sites was built on 2026-10-30. A company that joined later is searched only when you name it.
  • Some postings are years old: a company may leave a job open for a long time, and it comes back as open because Cornerstone lists it.

Who maintains it?

Cornerstone Jobs Scraper is built and maintained by Anshuman Atrey (@AnshumanAtrey), who publishes a portfolio of data and OSINT actors on Apify Store, among them linkedin-harvester (email to LinkedIn profile, for the people behind a company) and theharvester-osint (domain to emails and subdomains). For a feature request or a bug, message LinkedIn (fastest), open an issue on the GitHub repo, or write through atrey.dev.

Sibling actors

ActorWhat it searches
Ashby Jobs ScraperJobs from every company on Ashby (jobs.ashbyhq.com), searched live
Workday Jobs ScraperJobs from every company on Workday (myworkdayjobs.com), searched live
Deel Jobs ScraperJobs from every company on Deel ATS (jobs.deel.com), with pay
Greenhouse Jobs ScraperJobs from every company on Greenhouse (boards.greenhouse.io), searched live
SmartRecruiters Jobs ScraperJobs from 2,900+ companies on SmartRecruiters, searched live
Workable Jobs ScraperJobs from every company on Workable, in one search
Lever Jobs ScraperJobs from 2,300+ companies on Lever (jobs.lever.co), searched live

Documentation

Last updated

2026-11-03 (version 1.0)

来源:README.md,提交 11ee9f5

工具

0
该服务器需要登录,因此 SourceWeft 无法在没有账号的情况下读取其工具,也未收录。已连接账号所能看到的内容可能因账号及其权限而异。

版本历史

3
  1. v1.0.7最新Nov 3, 2026
  2. v1.0.6Nov 3, 2026
  3. v1.0.5Oct 30, 2026

评分

已满足适用检查项的 85%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

其他 Scraper-Api 集成