Workday, SmartRecruiters & Personio Jobs Scraper
Pricing
from $1.50 / 1,000 jobs
Workday, SmartRecruiters & Personio Jobs Scraper
Scrape open jobs from Workday, SmartRecruiters and Personio career sites in one run, same job schema as our ATS Jobs Scraper. Filter by keyword, location, remote and posted date. No personal data.
Pricing
from $1.50 / 1,000 jobs
Rating
0.0
(0)
Developer
Scrapify
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
20 hours ago
Last modified
Categories
Share
Workday, SmartRecruiters & Personio Jobs Scraper: open jobs from three career-site systems in one run
Scrape open jobs from company career sites that run on Workday, SmartRecruiters or Personio and get one clean, normalised dataset: title, company, department, location(s), remote flag, employment type, posted date, job URL, requisition ID and the job description as plain text. Paste a list of career-site addresses, press Start and get all of them in one run; the ATS is detected from each address. Filter by keyword, location, remote and posted-since before you pay. Export to JSON, CSV or Excel, or call it from the API.
Use it for job-market and hiring-trend research, lead lists for recruiters and staffing firms, competitor hiring signals, job aggregators and alerts, salary and skills datasets, and LLM/RAG pipelines. Works with AI agents through the Apify MCP server. It reads the public JSON/XML endpoints the career pages themselves use; no login, no cookies, no proxy.
Same schema as our ATS Jobs Scraper, which covers Greenhouse, Lever and Ashby. Use both and merge the datasets: the field names are identical. For Greenhouse, Lever or Ashby boards, use that actor.
Why this one
- Three systems, one run. Workday (large employers), SmartRecruiters and Personio (European SMEs) together, one schema, one price.
- Filters that work before charging. Keywords (all words of a line must match), locations, remote only and posted in the last N days. Jobs that do not match are not returned and not charged.
- Auto-detect from a careers URL. Paste
https://nvidia.wd5.myworkdayjobs.com/NVIDIAExternalCareerSite,https://jobs.smartrecruiters.com/ServiceNoworhttps://mobimeo.jobs.personio.de; tenant, server and site are parsed for you. - Optional full description as plain text (HTML removed, length-capped).
- Keeps running when a site does not cooperate. A wrong address, unknown company, blocked or empty site gets one error row with the reason; every other site continues. A site that keeps answering 429 is stopped politely.
- No personal data. Job fields only. No recruiter or hiring-manager names, emails or phone numbers.
- Cheap and predictable. $0.0015 per job;
Max jobs per companyandMax jobs in totalcap every run. - Run summary. A
RUN_SUMMARYrecord lists jobs and requests per career site, errors, HTTP statuses and charged events.
Input
| Field | Meaning |
|---|---|
| Career site URLs | Career-site addresses, one per line (Workday, SmartRecruiters, Personio). Custom company domains cannot be auto-detected: copy the myworkdayjobs / smartrecruiters / personio address from the careers page |
| Workday sites / SmartRecruiters IDs / Personio names | Optional short forms (adobe/wd5/external_experienced, Sodexo, mobimeo) |
| Keywords | Optional. All words of at least one line must appear in title, department or (with descriptions on) description |
| Locations | Optional location texts (india, london) |
| Remote jobs only | Default off |
| Posted in the last N days | Optional |
| Include job description / Max description length | Default off / 4,000 characters |
| Max jobs per company / Max jobs in total | Default 200 / 500 |
| Remove duplicates | Default on |
Output
Job row (same names as ATS Jobs Scraper): company, platform (workday|smartrecruiters|personio), companyName, jobId, title, department, team, location, locations[], workplaceType, employmentType, postedAt, updatedAt, jobUrl, applyUrl, requisitionId, isRemote, salaryMin, salaryMax, salaryCurrency, salaryInterval, salarySummary, descriptionText (when requested), scrapedAt, plus careerSite for Workday.
Error row: type: "error", input, platform, company, error, httpStatus. See sample-output.json for real rows.
Notes on the data:
- Workday shows only a relative age in its list ("Posted 3 Days Ago", "30+" for older), so
postedAtis the day (midnight UTC) derived from it, ornullfor 30+ days; with descriptions on, the exact start date is used. Multi-location jobs show "3 Locations" inlocationunless the detail page is read (descriptions, location filter or remote filter on). - SmartRecruiters gives release date, department, function and a remote/hybrid flag.
- Personio feeds contain the description text, office list, department, category, schedule and created date.
- Salary fields are part of the shared schema; these three systems do not publish structured pay, so they are
null. - Workday
jobIdis the requisition ID; SmartRecruitersjobIdis the posting ID.
Pricing
Pay per event: $0.0015 per job ($1.50 per 1,000 jobs) plus a $0.00005 start event per run. Error rows, filtered-out jobs and duplicates are not charged. A run returning 200 jobs costs about 30 cents. See PRICING.md for the benchmark.
Public career-site data only, no personal data
The actor reads only public career-site endpoints (Workday /wday/cxs/.../jobs, SmartRecruiters /v1/companies/<id>/postings, Personio /xml) that are served to every visitor of a careers page. It returns job posting fields only: no recruiter or candidate data, no names, emails or phone numbers, no login, and it does not bypass anything. Job postings belong to the employers: you are responsible for using them in line with applicable law and each site's terms.
Notes and limits
- Not an official Workday, SmartRecruiters or Personio product. Endpoints can change without notice.
- Workday returns 20 jobs per request, paced about one request per second; a 1,000-job company takes about a minute without descriptions, and descriptions need one more request per job.
- SmartRecruiters answers 200 with an empty list for an unknown company ID; the actor turns that into an error row. IDs are case-sensitive.
- A company that moved to another system, or uses a custom domain, cannot be found from the name alone.
FAQ
How much does it cost? $0.0015 per job plus $0.00005 per run. 1,000 jobs = $1.50. Error rows are free.
Do I need an API key, account or proxy? No.
Can I scrape LinkedIn or Indeed with it? No. Only Workday, SmartRecruiters and Personio career sites. For Greenhouse, Lever and Ashby use our ATS Jobs Scraper.
Can I get recruiter emails? No. Job data only.
Which export formats are available? JSON, CSV, Excel, XML, HTML or RSS from the Console or API, or integrations such as Make, Zapier, n8n and Google Sheets.
Something broke or a field is missing? Open an issue on the Actor's Issues tab with the run link.
Use with AI agents / MCP
Agents can call this Actor through the Apify MCP server. Let the agent find it with the search-actors tool ("workday jobs scraper") and call it by name:
- Actor:
santis_hermes/workday-jobs-scraper - Example prompt: "List the data engineer jobs posted in the last 7 days at NVIDIA and ServiceNow."
- Minimal input:
{"careerSiteUrls": ["https://nvidia.wd5.myworkdayjobs.com/NVIDIAExternalCareerSite", "https://jobs.smartrecruiters.com/ServiceNow"],"keywords": ["data engineer"],"postedSinceDays": 7,"maxJobsPerCompany": 50}
Feedback
If this saved you time, a rating on the Store page helps others find it. If it did not work for you, please open an issue on the Issues tab with the run link and I will look at it.