AI Decision System
Replayable, offline-verifiable records for AI-assisted go/no-go decisions: experiment promotions, typed model answers and human-approved actions.
Workday jobs scraper and careers API by company name, 78,000 companies: Cisco, Coca-Cola, Chipotle, Vanguard, Geico, Lockheed Martin, Qualcomm, Micron, ...
Translation pending
Developer toolsPythonGitHub @danielhageverOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Workday jobs scraper and API: every posting from any myworkdayjobs careers site, by company name. Quick start in curl, Python and MCP (Claude, Cursor).
Taken from the repository README
Loading the full README.
Read the full README ↗Pull every open job from a Workday careers site (*.myworkdayjobs.com) as clean JSON or
CSV. Type a company name, such as NVIDIA, Wells Fargo or Procter & Gamble, for over
3,000 employers, or paste any Workday careers URL. No Workday account, no API key for
Workday, no proxy.
This repo is the quick start for the hosted Workday Jobs Scraper on Apify: one HTTP call from the shell, a standard-library Python script, and the setup for using it as a tool in Claude, ChatGPT or Cursor. If you would rather call Workday's public endpoint yourself, that is documented too.
Get a free Apify API token at console.apify.com/settings/integrations, then:
export APIFY_TOKEN=apify_api_...
curl -s -X POST \
-H "Authorization: Bearer $APIFY_TOKEN" -H "Content-Type: application/json" \
-d '{"companies": ["NVIDIA", "Wells Fargo"], "titleKeywords": ["engineer"], "maxItems": 20}' \
"https://api.apify.com/v2/acts/glitchbound~workday-jobs-scraper/run-sync-get-dataset-items"
The response is a JSON array, one object per job. For runs longer than five minutes, start
the run and fetch the dataset when it finishes (/runs then /datasets/{id}/items).
example.py uses only the standard library and writes a CSV:
python3 example.py --company NVIDIA --company "Wells Fargo" --title engineer --max 20
python3 example.py inputs/engineers-remote.json
A real run of the first command, with --max 6:
6 jobs written to jobs.csv
NVIDIA: Director, Engineering – Software Engineering (Hanoi, Vietnam)
NVIDIA: Senior Software Engineer, Platform Engineering (US, CA, Santa Clara)
NVIDIA: Senior System Engineer, Solution Engineering (Poland)
Wells Fargo: Principal Engineer, AI Engineering (CITY OF LONDON,)
Wells Fargo: Principal Engineer (Bengaluru, India)
Locations are kept as the employer typed them; country, and city where the location
names one, are parsed out separately.
The Actor is a ready-made tool for any MCP client through Apify's MCP server. Add this as a connector in Claude or ChatGPT:
https://mcp.apify.com?tools=glitchbound/workday-jobs-scraper
In Cursor or VS Code, the same address goes in mcp.json:
{ "mcpServers": { "apify": { "url": "https://mcp.apify.com?tools=glitchbound/workday-jobs-scraper" } } }
The first call asks you to sign in to Apify or takes an API token. Then you can ask "which software engineering roles does NVIDIA have open in Israel?" and the agent calls the Actor with the right input.
| Field | What it does |
|---|---|
companies | Company names, written the way people write them: "Wells Fargo" finds the wf tenant, "Procter & Gamble" finds pg. All of a company's Workday sites are read. A name that is not on Workday is looked up on the other career systems the Actor reads (Oracle, Eightfold, SAP SuccessFactors and more) and read there. |
boards | Workday careers URLs, e.g. https://nvidia.wd5.myworkdayjobs.com/NVIDIAExternalCareerSite |
titleKeywords | Keep roles whose title contains any of these. Plain text, so c++ means c++. |
locationKeywords | Keep roles whose location contains any of these, e.g. London. |
remoteOnly | Keep remote roles only. |
includeDescription | Also read each job's page: full description, the real posting date, every office and the employment type. One extra request per job. |
maxResultsPerCompany | Ceiling per company (default 1,000). |
maxItems | Ceiling for the whole run. |
Ready-made inputs are in inputs/. Rows your filters drop are not charged.
One row per job. Two real rows from a run are in sample-output.json:
{
"jobId": "JR2015832",
"title": "Senior Software Engineer, Platform Engineering",
"location": "US, CA, Santa Clara",
"url": "https://nvidia.wd5.myworkdayjobs.com/nvidiaexternalcareersite/job/US-CA-Santa-Clara/Senior-Software-Engineer--Platform-Engineering_JR2015832",
"postedAt": "2026-10-20T00:00:00Z",
"postedAtRelative": "Posted 5 Days Ago",
"company": "NVIDIA",
"atsPlatform": "workday",
"boardUrl": "https://nvidia.wd5.myworkdayjobs.com/nvidiaexternalcareersite",
"seniority": "senior",
"workArrangement": "onsite",
"isRemote": false,
"country": "United States"
}
jobId is Workday's own requisition id and stays the same across runs, so a scheduled run
can tell new postings from old ones. Error rows ("recordType": "error") say why a company
returned nothing and are not charged.
A sample of the employers the Actor answers by name on Workday: 3M, Accenture, Adobe, AT&T, Bank of America, Boeing, Capital One, Caterpillar, Chevron, Cisco, Citi, CVS Health, Disney, FedEx, General Motors, Home Depot, HP, Humana, Intel, Johnson & Johnson, Lowe's, Mastercard, Merck, Morgan Stanley, Netflix, Nike, NVIDIA, PayPal, Pfizer, Procter & Gamble, PwC, Salesforce, Target, T-Mobile, Verizon, Visa, Walmart, Wells Fargo.
Companies that hire on other systems answer too, read where they really post: Marriott, Kroger and JPMorgan Chase on Oracle; Microsoft, Starbucks and Lockheed Martin on Eightfold; EY and Nestle on SAP career sites; UPS and Eli Lilly on Phenom; Costco on Jibe. The full, dated list is on the Actor page.
Every Workday careers page loads its jobs from a public endpoint:
curl -s -X POST "https://nvidia.wd5.myworkdayjobs.com/wday/cxs/nvidia/NVIDIAExternalCareerSite/jobs" \
-H "Content-Type: application/json" \
-d '{"limit":20,"offset":0,"searchText":"","appliedFacets":{}}' | jq '.total, (.jobPostings | length)'
Three things will catch you out, each measured:
limit is capped at 20. Ask for 50 and Workday answers HTTP 400 with an empty
message.total is only real on the first page. NVIDIA reports 2,000 at offset 0 and 0 at
offset 20, so a loop written as while offset < total stops after one page and reports
no error. Keep the first page's number.wd1, wd5, ...) and site
name are all the employer's choice, so a Workday board cannot be derived from a company's
domain. That is why the Actor ships a map of career sites it has already read real
postings from, and refuses to guess at names outside it.The list rows carry no description and only a phrase for the date ("Posted 30+ Days Ago"); the full posting is one more GET per job. The same notes for 16 other systems (Greenhouse, Lever, Ashby, Oracle, ADP, ...) are in job-board-apis.
How do I scrape Workday jobs by company name?
Put the name in companies as you would say it. Over 3,000 employers resolve to their
Workday site without a URL.
Does it get past Workday's 2,000-result limit?
Yes. Workday reports 2,000 for any bigger board; set maxResultsPerCompany above 2,000 and
the Actor reads the rest category by category. With a title or a place it uses Workday's own
search instead, which finds every match.
Do I need a Workday account or API key? No. This reads the public feed Workday publishes so job boards can index it. Nothing is behind a login. You need an Apify token only to run the hosted Actor.
What does it cost? It is paid per result, and rows dropped by your filters and error rows are not charged. The current rate for your plan is on the Actor page.
A board came back empty. Is the company not hiring? On Workday an empty board cannot be told apart from a wrong id, so the Actor says exactly that instead of claiming the company has nothing open.
Is there an Indeed or Glassdoor API instead? No public one. Those sites aggregate from company career pages like these; going to the source is fresher.
Questions or a company that does not resolve? Open an issue here or on the Actor page.
MIT