DEV Community

Bence Kadi
Bence Kadi

Posted on AI-assisted

How to export all Workday job postings of a company to Excel

Many large companies (NVIDIA, Salesforce, Intel and thousands more) publish their jobs on Workday career sites. You know the address: something.wd5.myworkdayjobs.com. The site is fine for one person looking for one job. It is not fine if you need all jobs of a company in a spreadsheet:

  • there is no "Export" or "Download" button,
  • the list says "Multiple Locations" instead of the real cities,
  • dates say "Posted 30+ Days Ago" instead of a real date,
  • and the site stops paging at about 2,000 results, so on big boards you never see everything.

Recruiters, sales teams (hiring signals), job boards and job seekers with a list of target companies all hit this. This guide shows how to get every job into Excel or Google Sheets in a few minutes, without code.

Disclosure: I built the tool used in this guide, the Workday Jobs Scraper on Apify.

Step 1: Open the Actor and try the example

Go to Workday Jobs Scraper and click Try for free (you need a free Apify account). The form is already filled with a small test:

{
  "companies": ["NVIDIA"],
  "maxJobsPerSite": 50
}
Enter fullscreen mode Exit fullscreen mode

Click Start. It finishes in about 20 seconds and costs about $0.05. Now you can see what the data looks like before you spend more.

Step 2: Add your companies

Type company names or websites, one per line. You don't need the Workday URL: the Actor finds the company's Workday boards for you (subsidiaries included). If a company is not found, open its careers page, click through to the job list and paste that URL into Start URLs instead.

To get every job, set Max jobs per site to 0.

Step 3: Filter (optional)

You can narrow the results by job title, country and posting date. Filtered-out jobs are free: you only pay for the rows you keep. Example for "data engineer jobs in the US or Germany, posted in the last 7 days, no internships, at NVIDIA, Salesforce and Intel":

{
  "companies": ["NVIDIA", "salesforce.com"],
  "startUrls": [{ "url": "https://intel.wd1.myworkdayjobs.com/External" }],
  "titleIncludes": ["data engineer"],
  "titleExcludes": ["internship"],
  "countries": ["US", "Germany"],
  "maxJobsPerSite": 0,
  "postedWithinDays": 7
}
Enter fullscreen mode Exit fullscreen mode

Countries can be names or ISO codes. A job with several locations is kept if any of them matches.

Step 4: Download to Excel

When the run is done, open the run's Output (the dataset) and click Export. Choose Excel (or CSV / JSON). You get one row per job.

What the output looks like

A few of the columns (real values from a test run on 2026-10-05, shortened):

title company locations workMode postedDate salaryMin salaryMax salaryCurrency
Senior Full-Stack Software Engineer, Storage Management Platform - DGX Cloud NVIDIA US, CA, Santa Clara; US, Remote remote 2026-10-04 184000 356500 USD

Other columns include country, countryCode, timeType, firstPostedDate, jobId (the company's requisition ID), url (the live job page) and the full description. Salary is filled only when the posting shows a range; in my NVIDIA test, 42 of 50 jobs had one.

What it costs

The price is $0.90 per 1,000 jobs, plus Apify's small per-run start fee. Platform compute is included.

Example: you track 5 companies and together they have 6,000 open jobs. The first full export costs 6,000 x $0.90 / 1,000 = $5.40. With monitoring mode on (see below), every later run charges only for new jobs. If 40 new jobs appear per day, that is about $0.04 per day.

You can set Max charge per run in the run options, and the Actor stops cleanly at that limit.

Automation tip: a daily sheet of new jobs

  1. Turn on Only new jobs (onlyNewJobs: true) and give the search a Monitor name (for example target-companies). The first run returns all matching jobs and remembers them; every later run returns only jobs it has not returned before. Use a different monitor name for each saved search.
  2. In Apify Console, click Save as a new task, then create a Schedule (for example every day at 07:00) for that task.
  3. Send the results somewhere useful:
    • Google Sheets: on the task's Integrations tab, add the Google Sheets integration and point it at your sheet, so every run appends its rows.
    • Make or Zapier: trigger "Actor run finished", then "Get dataset items", then "Google Sheets: add row" or "Slack: send message".

Now every morning you have a list of new postings at your target companies, with real dates, locations and salaries.

Try it

Workday Jobs Scraper on Apify. If a company is not found or a field is missing, open an issue on the Actor's Issues tab. I read all of them.

Top comments (0)