Personio Jobs & Careers Scraper
Scrape Personio career page job listings by company. Extract job title, location, department, employment type, seniority, schedule, apply URL and full description. Filter by keyword. Export JSON, CSV or Excel. No login or API key.
{ "title": "(Senior) Accountant (m/w/d)", "company": "ottonova Holding AG - 9680", "location": "München", "offices": ["München"], "department": "Finance", "recruitingCategory": "Corporate Functions", "occupation": "corporate_finance", "occupationCategory": "accounting_and_finance", "employmentType": "permanent" }
Every run returns clean, typed records, ready for your CRM, spreadsheet or database.
- One clean record per result, deduped and normalized
- Stable schema in JSON, CSV or Excel, or read it via the Apify API
- Pay per use in the cloud, nothing to install or maintain
A real example record, exactly the shape you receive.
| Title | Company | Location | Offices |
|---|---|---|---|
| (Senior) Accountant (m/w/d) | ottonova Holding AG - 9680 | München | ["München"] |
| Customer Support Agent - private … | ottonova Krankenversicherung AG -… | München | ["München","Köln"] |
| Initiativ bewerben (m/w/d) | ottonova Holding AG - 9680 | München | ["München"] |
{ "title": "(Senior) Accountant (m/w/d)", "company": "ottonova Holding AG - 9680", "location": "München", "offices": ["München"], "department": "Finance", "recruitingCategory": "Corporate Functions", "occupation": "corporate_finance", "occupationCategory": "accounting_and_finance", "employmentType": "permanent" }
Frequently asked questions
Which companies can I scrape with this?
Any company that publishes its career page through Personio, which is widely used across Germany, Austria, Switzerland, the Netherlands, Spain and the rest of Europe. Enter the company subdomain, the career page host or the full career page URL, one entry per company.
How do I find a company's Personio identifier?
It is the company slug in its Personio career page address. If a company hires through optiply.jobs.personio.com, the identifier is optiply. You can paste the slug, the host or the full URL and the scraper will normalize it.
How many jobs can it return per company?
It returns every open role on the career page, which ranges from a handful to several hundred per company. Use Max Items to cap the total across all companies when you only need a sample.
Can I filter to specific roles?
Yes. Use the Keyword filter to keep only jobs whose title, department, location, category or description contain your keyword, for example engineer, remote or sales. Leave it empty to return every open role.
What happens if a company cannot be reached?
If a company slug does not exist or its career page is not publicly accessible, the scraper records an error row for that company and moves on to the next one, so a single bad entry never stops the run.
Ready when you are.
Run the scraper live on Apify right now, or have us build one tailored to exactly what you need.