Personio Jobs Scraper: Open Positions from Career Pages
Pricing
from $0.70 / 1,000 results
Personio Jobs Scraper: Open Positions from Career Pages
Extracts every open position from companies that use Personio: title, office, department, employment type, keywords, full job description and published salary ranges, from their public job feed.
Pricing
from $0.70 / 1,000 results
Rating
0.0
(0)
Developer
Demetrius Greses Jr
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Extracts every open position from companies that use Personio, with title, office, department, employment type, keywords, full job description text and published salary ranges, for job boards, recruiters and sales teams that need structured hiring data.
Use cases
- Job boards and aggregators load every open position of a list of Personio employers into one feed, refreshed on a schedule.
- Recruiters and HR-tech tools search open roles by department, keyword or office and link candidates to the live job page.
- B2B sales teams use new postings as hiring signals to find companies that are growing their teams.
- Labor-market analysts compare how many roles each employer opens, by occupation, seniority and city.
Sample output
| Title | Company | Office | Created |
|---|---|---|---|
| (Senior) Aktuar (m/w/d) mit Schwerpunkt Solvency II (20h) (m/w/d) | ottonova Krankenversicherung AG - 9698 | München | 2026-03-23 |
| Account Executive (w/m/d) | Everphone GmbH | Berlin Köpenicker Straße 154, 10997 Berlin | 2025-03-17 |
| (Senior) CRM Manager (m/w/d) | CLARK Holding SE | Berlin | 2025-11-04 |
One item as JSON:
{"id": "ottonova:2573573","positionId": "2573573","companySlug": "ottonova","company": "ottonova Krankenversicherung AG - 9698","title": "(Senior) Aktuar (m/w/d) mit Schwerpunkt Solvency II (20h) (m/w/d)","office": "München","additionalOffices": ["Köln"],"department": "Risk Management & Actuary","recruitingCategory": "Versicherung","employmentType": "permanent","seniority": "experienced","schedule": "full-or-part-time","yearsOfExperience": null,"keywords": ["Solvency 2", "Risikomanagemen", "Aktuariat", "Risk Reporting"],"occupation": "acturial_analysis","occupationCategory": "accounting_and_finance","description": "DEIN TEAM\nottonova ist eine rein digitale private Krankenversicherung - innovativ, zeitgemäß und anders. An unseren Standorten München und Köln entwickeln wir z…","createdAt": "2026-03-23T15:24:29.000Z","salaryMin": null,"salaryMax": null,"salaryCurrency": null,"salaryPeriod": null,"jobUrl": "https://ottonova.jobs.personio.de/job/2573573","sourceUrl": "https://ottonova.jobs.personio.de/job/2573573","scrapedAt": "2026-10-11T01:11:57.844Z"}
Pricing
$1 per 1,000 results. A 500-result run costs about $0.50. You pay only for results saved to your dataset, plus Apify's standard start fee of $0.00005 per run. Apify Silver and Gold plan users get lower per-result prices automatically.
Set Max results to cap what a run can cost. The Actor stops cleanly when it reaches your spending limit.
Input
| Field | Type | Description |
|---|---|---|
companies | array | Required. Personio company slugs or career-page URLs, for example 1komma5grad or https://ottonova.jobs.personio.de. Values that are not Personio career pages are ignored. |
language | string | Optional language code such as en or de. Leave empty for each company's default-language text. With en, positions without an English version have an empty description. |
keywords | array | Keep only positions whose title, department or keywords contain any of these words (case-insensitive). Leave empty to keep every position. |
includeDescription | boolean | Add the full job description as plain text with section headings. Default true. Turn off for a smaller dataset. |
maxItems | integer | Maximum number of positions to return. Default 100. You are charged per result. |
proxyConfiguration | object | Personio's public job feed needs no proxy, so none is used by default. |
How to find a company slug: open the company's careers page. If the address is https://ottonova.jobs.personio.de, the slug is ottonova, the part before .jobs.personio.de. You can paste the full URL instead.
Example input:
{"companies": ["1komma5grad", "ottonova", "everphone"],"maxItems": 20}
Integrations
- API: run the Actor and fetch results with the Apify API or the JavaScript and Python clients.
- AI agents: call it as a tool through the Apify MCP server.
- No-code: connect it to Make, Zapier or n8n, or export results straight to Google Sheets.
- Scheduling: run it daily or hourly with Apify Schedules and get only fresh data.
FAQ
What are the limits? Each run reads one public XML feed per company, three at a time, and returns what the company publishes in that feed. Descriptions are plain text, capped at 10,000 characters. A slug that is not a Personio career page returns "not found": it is skipped and logged, and the run fails only when it returns no results at all.
Is this legal? The Actor collects public data only: each company's public job feed. It needs no login, does not solve CAPTCHAs and crawls at a polite rate. It is not affiliated with, endorsed by or connected to Personio. You are responsible for how you use the data.
Why are the salary fields often empty? salaryMin, salaryMax, salaryCurrency and salaryPeriod are filled only when the company publishes a salary range in its Personio feed (for example 2410, EUR, monthly). Many companies do not, so expect them on a minority of positions.
Something broke or a field is missing? Open an issue on the Actor's Issues tab. We answer within one business day and usually ship a fix within 48 hours.
Related Actors
- More Husena Actors — the rest of the catalog.
Changelog
- 0.1 (2026-10-10) — First release.