<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Bence Kadi</title>
    <description>The latest articles on DEV Community by Bence Kadi (@kadi_bence).</description>
    <link>https://dev.to/kadi_bence</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4163834%2F34588045-ecb9-4b82-8682-d6a3979efb42.png</url>
      <title>DEV Community: Bence Kadi</title>
      <link>https://dev.to/kadi_bence</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/kadi_bence"/>
    <language>en</language>
    <item>
      <title>How to export all Workday job postings of a company to Excel</title>
      <dc:creator>Bence Kadi</dc:creator>
      <pubDate>Mon, 05 Oct 2026 13:00:00 +0000</pubDate>
      <link>https://dev.to/kadi_bence/how-to-export-all-workday-job-postings-of-a-company-to-excel-5097</link>
      <guid>https://dev.to/kadi_bence/how-to-export-all-workday-job-postings-of-a-company-to-excel-5097</guid>
      <description>&lt;p&gt;Many large companies (NVIDIA, Salesforce, Intel and thousands more) publish their jobs on Workday career sites. You know the address: &lt;code&gt;something.wd5.myworkdayjobs.com&lt;/code&gt;. The site is fine for one person looking for one job. It is not fine if you need &lt;strong&gt;all&lt;/strong&gt; jobs of a company in a spreadsheet:&lt;/p&gt;

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

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Disclosure: I built the tool used in this guide, the Workday Jobs Scraper on Apify.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 1: Open the Actor and try the example
&lt;/h2&gt;

&lt;p&gt;Go to &lt;a href="https://apify.com/kadi_bence/workday-jobs-scraper" rel="noopener noreferrer"&gt;Workday Jobs Scraper&lt;/a&gt; and click &lt;strong&gt;Try for free&lt;/strong&gt; (you need a free Apify account). The form is already filled with a small test:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"companies"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"NVIDIA"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"maxJobsPerSite"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;50&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Click &lt;strong&gt;Start&lt;/strong&gt;. It finishes in about 20 seconds and costs about $0.05. Now you can see what the data looks like before you spend more.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 2: Add your companies
&lt;/h2&gt;

&lt;p&gt;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 &lt;strong&gt;Start URLs&lt;/strong&gt; instead.&lt;/p&gt;

&lt;p&gt;To get &lt;strong&gt;every&lt;/strong&gt; job, set &lt;strong&gt;Max jobs per site&lt;/strong&gt; to &lt;code&gt;0&lt;/code&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 3: Filter (optional)
&lt;/h2&gt;

&lt;p&gt;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":&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"companies"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"NVIDIA"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"salesforce.com"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"startUrls"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;"url"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"https://intel.wd1.myworkdayjobs.com/External"&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}],&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"titleIncludes"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"data engineer"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"titleExcludes"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"internship"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"countries"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"US"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Germany"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"maxJobsPerSite"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"postedWithinDays"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;7&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Countries can be names or ISO codes. A job with several locations is kept if any of them matches.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 4: Download to Excel
&lt;/h2&gt;

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

&lt;h2&gt;
  
  
  What the output looks like
&lt;/h2&gt;

&lt;p&gt;A few of the columns (real values from a test run on 2026-10-05, shortened):&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;title&lt;/th&gt;
&lt;th&gt;company&lt;/th&gt;
&lt;th&gt;locations&lt;/th&gt;
&lt;th&gt;workMode&lt;/th&gt;
&lt;th&gt;postedDate&lt;/th&gt;
&lt;th&gt;salaryMin&lt;/th&gt;
&lt;th&gt;salaryMax&lt;/th&gt;
&lt;th&gt;salaryCurrency&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Senior Full-Stack Software Engineer, Storage Management Platform - DGX Cloud&lt;/td&gt;
&lt;td&gt;NVIDIA&lt;/td&gt;
&lt;td&gt;US, CA, Santa Clara; US, Remote&lt;/td&gt;
&lt;td&gt;remote&lt;/td&gt;
&lt;td&gt;2026-10-04&lt;/td&gt;
&lt;td&gt;184000&lt;/td&gt;
&lt;td&gt;356500&lt;/td&gt;
&lt;td&gt;USD&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

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

&lt;h2&gt;
  
  
  What it costs
&lt;/h2&gt;

&lt;p&gt;The price is &lt;strong&gt;$0.90 per 1,000 jobs&lt;/strong&gt;, plus Apify's small per-run start fee. Platform compute is included.&lt;/p&gt;

&lt;p&gt;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 = &lt;strong&gt;$5.40&lt;/strong&gt;. 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.&lt;/p&gt;

&lt;p&gt;You can set &lt;strong&gt;Max charge per run&lt;/strong&gt; in the run options, and the Actor stops cleanly at that limit.&lt;/p&gt;

&lt;h2&gt;
  
  
  Automation tip: a daily sheet of new jobs
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Turn on &lt;strong&gt;Only new jobs&lt;/strong&gt; (&lt;code&gt;onlyNewJobs: true&lt;/code&gt;) and give the search a &lt;strong&gt;Monitor name&lt;/strong&gt; (for example &lt;code&gt;target-companies&lt;/code&gt;). 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.&lt;/li&gt;
&lt;li&gt;In Apify Console, click &lt;strong&gt;Save as a new task&lt;/strong&gt;, then create a &lt;strong&gt;Schedule&lt;/strong&gt; (for example every day at 07:00) for that task.&lt;/li&gt;
&lt;li&gt;Send the results somewhere useful:

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Google Sheets:&lt;/strong&gt; on the task's &lt;strong&gt;Integrations&lt;/strong&gt; tab, add the Google Sheets integration and point it at your sheet, so every run appends its rows.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Make or Zapier:&lt;/strong&gt; trigger "Actor run finished", then "Get dataset items", then "Google Sheets: add row" or "Slack: send message".&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Now every morning you have a list of new postings at your target companies, with real dates, locations and salaries.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try it
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://apify.com/kadi_bence/workday-jobs-scraper" rel="noopener noreferrer"&gt;Workday Jobs Scraper on Apify&lt;/a&gt;. If a company is not found or a field is missing, open an issue on the Actor's &lt;strong&gt;Issues&lt;/strong&gt; tab. I read all of them.&lt;/p&gt;

</description>
      <category>webscraping</category>
      <category>career</category>
      <category>automation</category>
      <category>productivity</category>
    </item>
  </channel>
</rss>
