← All twelve ATS APIs compared

Personio jobs API

The German-speaking mid-market, and almost nothing else covers it. Third-largest board count here, and largely invisible to US-built job tools.

The endpoint

GET https://{company}.jobs.personio.de/search.json

No key, no login. The slug is the subdomain in {company}.jobs.personio.de — some employers are on .personio.com instead, same shape.

curl -s 'https://acme.jobs.personio.de/search.json'

What it returns, measured

Measured across every live Personio board in our registry — 41,608 postings from 5,172 boards, not a sample. yes means 99.5% or more; no means the field does not exist on this endpoint.

FieldPersonio
Posting dateno
Descriptionno
Payno
Marked remote8.8%

Title, company, location and an apply URL come back on every row.

What it is good at

Deep coverage of German, Austrian, Swiss and Dutch employers below the size where they would appear in an English-language aggregator. Department is on 97.1% of rows and employment type on all of them.

Where it falls short

No posting date, no description and no pay on the listing endpoint. This is a "who is hiring and for what" source, not a content source.

Mistakes that cost us time

No date means no freshness filter.
A "posted in the last N days" filter has to either keep every Personio row or silently discard the whole platform. Say which one you did.
Two domains.
.jobs.personio.de and .jobs.personio.com both exist and the slug is the same.
It rate-limits aggressively.
Validating Personio boards from a single machine ran at roughly a tenth of the throughput of Greenhouse.

So should you use it

Yes, for European coverage that English-language tools miss.

No, for freshness or full text.

How Personio compares with the other eleven on the same four fields is on the comparison page. If you would rather not write and maintain a client, this Actor reads Personio and emits the same row shape as the other eleven, and ATS Database is a free lookup for finding which platform a given company is on.

Finding the boards

Personio was invisible to us until we looked at the right shape of URL. The company is a subdomain — {company}.jobs.personio.de — which appears in a CDX urlkey as an extra comma-separated segment rather than a path, so a harvester written for path-based platforms returns zero and the platform looks like it has no public boards. Reading it correctly yielded 5,172 boards, almost entirely German, Austrian, Swiss and Dutch.