{
  "id": 18880603,
  "title": "How to scrape Workday job postings (and the 2,000-job trap)",
  "url": "https://urgent.news/2026/11/08/how-to-scrape-workday-job-postings-and-the-2-000-job-trap",
  "topic": "tech",
  "section": "Tech",
  "published": "2026-11-08T06:44:29.000Z",
  "source": {
    "name": "Dev.to",
    "slug": "dev-to",
    "url": "https://dev.to/yakk000/how-to-scrape-workday-job-postings-and-the-2000-job-trap-4648"
  },
  "original_language": "en",
  "account": "Many major companies—such as Nvidia, Salesforce, and Adobe—post their job openings on the Workday platform. Unlike other job boards like Greenhouse or Lever, Workday does not provide a public API or a comprehensive directory, making it challenging to scrape. However, the careers page of a Workday site loads job data from a small JSON endpoint that can be accessed by anyone. This endpoint is structured with three key components: the tenant (the company name), the data center, and the site name. To locate these components, you can search for \"myworkdayjobs.com/company\" using a search engine.\n\nTo extract job information, a POST request is made to the careers page's endpoint, specifying parameters like the number of jobs to display (limit), the starting point (offset), and the search terms. The response includes details like the total number of jobs, the job postings themselves, and additional metadata. For a complete view of each job, a GET request is sent to the detail endpoint, which provides further information such as the full job description, exact posting date, and all associated locations.\n\nThere are two significant issues to be aware of when scraping Workday job postings. The first issue is the \"2,000-job wall.\" The total number of jobs listed never exceeds 2,000, even though this value is only reported on the initial page. Additionally, if you continue to paginate beyond the 2,000 threshold, Workday does not return an error; instead, it restarts from the first page, leading to duplicate entries. To avoid this, you should keep track of unique job IDs (externalPath) and stop when you encounter a new page with no additional jobs. For companies with over 2,000 openings, it's best to split the search using search terms or location filters.\n\nThe second issue involves interpreting relative dates. The job list only provides vague terms like \"Posted Today,\" \"Posted Yesterday,\" or \"Posted 30+ Days Ago.\" To get accurate posting dates, you should rely on the startDate data available in the detail endpoint. Moreover, a 422 status code indicates that the tenant (company) does not exist, while a 404 status code means the site name is incorrect. A 401 or 403 status code signifies that the site does not allow anonymous access, and you should respect these restrictions. When making requests, it's advisable to limit the number of simultaneous connections and include a delay if you encounter a 429 Too Many Requests response.\n\nIf maintaining a scraper for Workday and other job boards is too cumbersome, there is an alternative solution. The ATS Jobs Scraper on Apify can handle multiple platforms—including Workday, Greenhouse, Lever, Ashby, Workable, Recruitee, and SmartRecruiters—providing a unified format for job data. This tool automatically manages the 2,000-job limitation, delivers precise posting dates, and includes full job descriptions. The service costs $1 for every 1,000 jobs retrieved. Any companies not found or blocked sites are free to use.",
  "summary": "Thousands of large employers (Nvidia, Salesforce, Adobe and much of the Fortune 500) publish their jobs on Workday. Unlike Greenhouse or Lever, Workday has no documented public API and no global directory, so most job scrapers skip it. But every Workday careers site loads its jobs from a small JSON endpoint that anyone can call. Here is how it works, the two traps that silently break most…",
  "key_points": [
    "Workday job postings scraped via JSON endpoint with tenant, data center, and site name",
    "2,000-job wall limits total listings; duplicate entries risk if pagination ignored",
    "Relative dates require detail endpoint for accurate posting dates"
  ],
  "editors_take": "Workday’s lack of a public API and its restrictive pagination limit forces developers to use specific technical workarounds or paid third-party tools to capture complete hiring data.",
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}