Every Workday career site has a public JSON API. Here is how to get all its jobs
NVIDIA, CVS Health, Wells Fargo, Northrop Grumman and thousands of other large employers post their jobs on Workday. You know these sites by the address: something.wd5.myworkdayjobs.com/SomeCareerSite . The page itself is a JavaScript app, so fetching its HTML gives you almost nothing. But the app loads every job from a small JSON API, and that API is public: no login, no key, no cookies. It is…
Every Workday career site offers a public JSON API, allowing access to all job listings without the need for login or authentication. To retrieve these jobs, follow these steps:
1. Identify the URL pattern for each company's careers page, which includes the company code, data center, and career site name. For example, NVIDIA's site is nvidia.wd5/NVIDIAExternalCareerSite, while Wells Fargo's is wf.wd1/WellsFargoJobs.
2. Use the JSON API to list the jobs by sending a GET request to the endpoint /wday/cxs/{tenant}/{site}/jobs. Include the necessary headers, such as Content-Type: application/json, and specify the desired search parameters, like the job category (searchText). Pagination can be achieved using the offset parameter, with a maximum of 20 jobs per page.
3. Be aware of four potential issues when working with these APIs:
a. The maximum number of jobs per page is often 20, and exceeding this limit will result in an HTTP 400 error.
b. The total number of jobs may not always be provided, so it's essential to check the total from the first page's response and handle cases where subsequent pages return 0 results.
c. Some sites limit the number of jobs that can be retrieved (typically around 2,000), and pasting this limit, you may receive the same set of jobs repeatedly.
d. Dates in the job listings are relative, with terms like "Posted Today" or "Posted 30+ Days Ago." The exact date is only available in the individual job details.
4. To handle capped sites with more than 2,000 jobs, utilize the facets provided in the API response. Choose a facet with a manageable number of jobs, run separate searches for each value, and then merge the results based on the externalPath.
5. To access individual job details, use the externalPath provided in the API response to make another GET request. This will give you the full job posting, including the description, dates, location, and application link. Note that there is no salary information available through this API.
6. While the Workday sites are publicly accessible, it is essential to be respectful of the servers hosting them. Limit the number of concurrent requests, cache results when possible, and avoid unnecessary requests, such as fetching full descriptions unless needed. Alternatively, you can utilize a tool like the Workday Jobs Scraper on Apify, which handles the complexities of crawling these sites and offers additional features, such as salary parsing and filtering options.
Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.