Personio Job Scraper — Personio Jobs XML API | $3/1K avatar

Personio Job Scraper — Personio Jobs XML API | $3/1K

Pricing

from $3.00 / 1,000 job listings

Go to Apify Store
Personio Job Scraper — Personio Jobs XML API | $3/1K

Personio Job Scraper — Personio Jobs XML API | $3/1K

Unofficial — not affiliated with Personio. Personio jobs API: give company names or jobs.personio.de subdomains and get every open role in one schema — title, department, office, employment type, seniority, apply link. One request per company.

Pricing

from $3.00 / 1,000 job listings

Rating

0.0

(0)

Developer

KENKO

KENKO

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Personio Job Scraper — Personio Jobs XML API

Unofficial — not affiliated with Personio. Personio jobs API: give company names or jobs.personio.de subdomains and get every open role in one schema — title, department, office, employment type, seniority, apply link. One request per company.

Input

{
"companies": [
"holidu",
"https://ottonova.jobs.personio.de"
],
"keywords": [
"engineer",
"developer",
"manager"
],
"maxJobsTotal": 200
}

Every filter is optional; companies is the only required field. maxJobsTotal is what caps spend — you are billed per row delivered.

Output

One row per open role, the same schema for every company:

fieldnotes
title, department, teamas the board publishes them
location, locations, countrylocations is every place the role is open; location is the first of them and country its ISO-2 code, resolved from the feed where the feed has one and otherwise computed from the location text
workplaceType, isRemotethe board's own field where it publishes one, otherwise inferred from the location text — remote if any published location reads remote; null when neither says, and isRemote follows workplaceType. It is a heuristic over free text and it is sometimes wrong: "Remote, OR" reads as remote work, not Oregon
senioritythe level Personio publishes on the posting — entry-level, experienced, student, executive. Never guessed from the title, where "Senior" is as often the subject as the level
salaryMin, salaryMax, salaryCurrency, salaryPeriodthe Personio feed this reads carries no pay field, so these and salaryText are always null. They are in the schema because the multi-ATS build fills them from boards that do publish pay
postedAtISO 8601, only where the board publishes a date. An open-ended age ("30+ days ago") is null, not a guess
url, jobId, company, companySlug, provider

Fields the board does not publish are null rather than guessed — except the ones the table above marks as computed or inferred, which are derived from another field on the same row and ship beside the field they came from.

Pricing

$3 per 1,000 rows. You are charged for rows delivered — filters are applied before anything is pushed, so a run that matches nothing costs nothing beyond the platform's start event.

Scope

Reads Personio's public job feed only, and only where the host's own robots.txt permits it. No logins, no candidate data, no applications, no personal data of any kind — job postings are the only thing it touches.

Need more than one ATS? The multi-ATS build detects Greenhouse, Lever, Ashby, Rippling, Workable and Personio from a bare company name, and reads Workday from a career-site URL.


Unofficial. Not affiliated with, endorsed by, or sponsored by Personio.