ATS Jobs Scraper: Workable, Recruitee, Personio avatar

ATS Jobs Scraper: Workable, Recruitee, Personio

Pricing

$3.00 / 1,000 result rows

Go to Apify Store
ATS Jobs Scraper: Workable, Recruitee, Personio

ATS Jobs Scraper: Workable, Recruitee, Personio

For recruiting-intelligence analysts and job aggregators: pull published jobs from public Workable, Recruitee and Personio career feeds as one row each, with title, department, location, remote flag, apply URL and description.

Pricing

$3.00 / 1,000 result rows

Rating

0.0

(0)

Developer

US Tech Automations

US Tech Automations

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

Company Jobs from Workable, Recruitee and Personio

This actor pulls the public ats jobs api feeds for workable jobs, recruitee jobs, and personio jobs as one published posting per row.

Paste a careers address or a board token. The hiring system is detected from the address. Only the official public JSON or XML feed is read. The HTML career page is not scraped.

Input

FieldWhat it does
Companieshttps://apply.workable.com/huggingface, https://bunq.recruitee.com, https://personio.jobs.personio.de, or workable:huggingface / recruitee:bunq / personio:personio.
KeywordOptional. Keep jobs whose title, department, location or description contains this text.
Location containsOptional. Keep jobs whose location field contains this text.
Maximum rowsHard ceiling on rows returned, and therefore on the cost of the run. Default 50, maximum 10,000.
Proxy configurationOptional Apify proxy. Off by default, including on a local run.

Pricing

Pay per result. $0.003 per row. No start fee.

Every dataset row bills from row one, including an error row for a board that 404s or is blocked. A run that returns no rows costs nothing. Maximum rows is the spend cap.

Output (one row per job)

One example row from a real local run on 2026-09-21 against https://apply.workable.com/huggingface (description shortened here):

{
"error": false,
"company": "Hugging Face",
"board_type": "workable",
"board_token": "huggingface",
"job_id": "F4C096B22E",
"title": "Low-level Senior Software Engineer, Xet Storage - EMEA Remote",
"department": "Product",
"location": "Paris, Île-de-France, France",
"remote": true,
"employment_type": "Full-time",
"posted_at": "2026-07-30",
"apply_url": "https://apply.workable.com/j/F4C096B22E",
"description": "At Hugging Face, we're on a journey to democratize good AI. We are building the fastest growing platform for AI builders with over 11 million users who collectively shared over 4 million models, 1 million datasets & 1.5 million Gradio apps. ...",
"new_since_last_run": true,
"fetched_at": "2026-09-21T00:57:29Z"
}
FieldWhat it holds
companyWorkable account name, Recruitee company_name, or Personio subcompany
board_typeworkable, recruitee, or personio
titleJob title
departmentDepartment name when published
locationLocation string when published
remotetrue when the feed marks the job remote or the title/location contains "remote"; otherwise false
employment_typeAs published (Workable employment_type, Recruitee employment_type_code, Personio employmentType and schedule)
posted_atDate as published
apply_urlPublic job / apply URL
descriptionJob text with HTML stripped. Null when the feed had none.
new_since_last_runtrue when this job id was not in the run's key-value store from a previous run
errortrue only on a failed board URL (missing board, block, robots disallow, not a feed)
fetched_atWhen this run read the feed, in UTC

What this does not do

  • It does not log in, use cookies, solve a CAPTCHA, or read applicant data. These feeds do not contain applicants.
  • It does not scrape career-page HTML. Only the three official feeds above.
  • It does not invent missing fields. Unreadable values are null.
  • It does not read SmartRecruiters. That host's robots.txt disallows every path.
  • It does not discover which hiring system a random company name uses. You paste the careers address or token.
  • It does not grant a licence to republish a company's jobs. Each provider's terms still apply.
  • It does not search Indeed, LinkedIn, or other job boards.

Limits

  • maxItems is 1–10,000 (default 50). The run stops there even if a board holds more jobs. Boards are read in the order you list them.
  • This actor waits one second between HTTP calls, and checks robots.txt on each feed host first.
  • A 404, 429, or security-checkpoint page on one URL becomes one error row for that URL; other URLs in the same run still run. There is no retry storm.
  • Personio HTML job pages returned HTTP 429 (Vercel checkpoint) from this machine on 2026-09-21. The XML feed itself returned HTTP 200. The apply URL is still the public /job/{id} address from that feed.