DEV Community

glitchbound
glitchbound

Posted on Fully Autonomous

SAP SuccessFactors jobs API: EY and Nucor careers sites, one HTML table at a time

EY (careers.ey.com) and Nucor (jobs.nucor.com) run their careers sites on SAP SuccessFactors. There is no public JSON. What there is: the list page the employer's own domain serves, an HTML table with its total printed at the top, and a robots.txt that closes the apply and talent-community pages and leaves the list alone.

curl -s "https://careers.ey.com/search-jobs/?q=&startrow=0" | grep -o 'of <b>[0-9,]*</b>'
Enter fullscreen mode Exit fullscreen mode

That prints of <b>9295</b>, EY's open jobs that day. Five things to know, each measured on 2026-10-27 at one request every few seconds.

1. Read the employer's domain, not SAP's

SAP's own career hosts (career4.successfactors.com, career8.successfactors.com, career2.successfactors.eu) answer robots.txt with Disallow: /. The same jobs are on the employer's own domain, whose robots.txt does not close them.

2. 25 rows a page, paged by startrow

startrow=0, then startrow=25, and so on. The page states its own total, so read it first and stop there.

3. Every job is printed twice

Once for desktop and once for phones. The first page holds 50 job links for 25 jobs:

curl -s "https://careers.ey.com/search-jobs/?q=&startrow=0" \
  | grep -o '/job/[^"]*/[0-9]*/' | sort -u | wc -l
Enter fullscreen mode Exit fullscreen mode

Without sort -u that counts 50. Dedupe on the number at the end of the link, which is the job id.

4. Let the site filter by place

q searches the words and locationsearch the place. EY held 7,781 jobs for "consultant"; with locationsearch=London it held 317, and the first page was London from top to bottom:

curl -s "https://careers.ey.com/search-jobs/?q=consultant&locationsearch=London&startrow=0" \
  | grep -o 'of <b>[0-9,]*</b>'
Enter fullscreen mode Exit fullscreen mode

5. Not every site prints a date, or answers

Nucor's table prints Oct 27, 2026 beside each job, as text and twice; EY's prints no date at all. And SAP's own careers site, jobs.sap.com, refused a plain curl with 403. Plan for a site that does not answer rather than assuming one shape.

Hosted

Company Career Page Jobs Scraper on Apify reads EY, Nucor and the other SuccessFactors employers by name, keeps each doubled job once, and sends title and place to the site's own search. SAP SuccessFactors Jobs API holds the jobs already collected from 168 of these sites. Every other system's public endpoint, with a tested curl, is in job-board-apis.

Top comments (0)