Personio Jobs Scraper: Career Pages, Salaries & Alerts
Pricing
from $2.00 / 1,000 jobs
Personio Jobs Scraper: Career Pages, Salaries & Alerts
Open jobs from any Personio careers page (jobs.personio.de / .com) via Personio’s public XML job feed. Give company names or links; get every job with offices, department, employment type, description and alerts.
Pricing
from $2.00 / 1,000 jobs
Rating
0.0
(0)
Developer
Wil Tech
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
21 hours ago
Last modified
Categories
Share
Personio Jobs Scraper
Get every open job from any Personio careers page (company.jobs.personio.de or .com) in one clean format, from Personio's public XML job feed. Each job comes with title, legal employer, offices, department, category, employment type, seniority, posting date, salary range when published, and the full description with its sections.
Use it to track who is hiring at German and European companies, build job boards and alerts, find sales leads, or give an AI agent live jobs data.
What you get
- The full description, section by section, in the language the employer wrote it.
- Employment type mapped from Personio's type and schedule (full-time, part-time, internship, contract); working-student jobs count as part-time.
- Salary ranges when the employer publishes them.
- Remote options: offices named "Remote" (e.g. "Berlin (Remote)") are detected.
- New-job alerts: schedule it daily and get only new jobs.
How to use it
- Add companies in Companies:
https://ottonova.jobs.personio.de/,personio:tado, a website or a name. - Optionally narrow the results with filters.
- Run it and download as JSON, CSV or Excel, or connect to Google Sheets, Slack, Zapier or Make.
Good to know
- Personio's feed lists office names without countries, so
countryCodeis only set when the office name is a recognizable place. companyNameis the legal employer Personio publishes for each job (for example a subsidiary).
Filters
All filters run before results are saved, so you only pay for jobs you keep.
| Filter | Example |
|---|---|
| Job title contains | engineer, sales (matches the start of words: "engineer" finds "Engineering Manager") |
| Job title does not contain | intern, senior |
| Location contains | London, Germany, Remote, US |
| Workplace type | Remote, Hybrid, On-site, Not stated |
| Department or team contains | Engineering, Sales |
| Posted in the last N days | 7 |
| Only jobs that show a salary | on/off |
New jobs only (alerts)
Turn on Only new jobs since the last run and schedule the Actor (for example every morning). The first run returns everything and sets the baseline; later runs return only jobs that weren't there before. Every job also carries isNew and firstSeenAt. Use Watch list name to keep separate alert lists.
For AI agents and automations
- Every input has a sensible default except Companies, which is required.
- Results never come back empty without a reason: unmatched companies, missing boards, failed loads and "no jobs matched your filters" each produce a
recordType: "status"row with a plain-languagemessage. Status rows are free. - A run summary (per company: boards found, confidence, jobs found and saved, notes) is saved to the key-value store as
OUTPUT. matchConfidenceon every job:exact(you gave the link),high(found on the company's own website, or confirmed by the employer name the job system publishes),medium(board name equals the company name but could not be confirmed).
Output fields
| Field | Description |
|---|---|
id | Stable ID: provider:board:jobId. Use it to deduplicate across runs. |
companyName, companySlug | Company name and its board name in Personio |
title, department, team | Role details, when Personio provides them |
location, locations | Primary location and all listed locations |
countryCode, countryName | ISO country code; null when unknown or when a job spans several countries |
workplaceType, isRemote | remote, hybrid, onsite or unspecified |
employmentType | full-time, part-time, contract, internship, temporary, other |
salary, salaryMin, salaryMax, salaryCurrency, salaryPeriod, salaryText | Pay range when published; null otherwise |
postedAt | ISO date |
url, applyUrl | Job page and application link |
requisitionId | Company's requisition ID, when public |
description, descriptionHtml | Full description as text and/or HTML |
isNew, firstSeenAt | New-job tracking (isNew is null on the first run) |
companyInput, matchConfidence, scrapedAt | Which input produced the job, how sure the match is, when it was collected |
Pricing
Pay per result: $2.00 per 1,000 jobs saved, plus Apify's small per-run start fee. Filtered-out jobs and status records are free. Set a maximum cost per run in Apify Console and the Actor stops cleanly when it is reached.
More job systems
Need several job systems in one run? Career Site Jobs reads 10 job systems (Workday, Greenhouse, Lever, Ashby, SmartRecruiters, Workable, Recruitee, Personio, Teamtailor and Breezy HR) with the same output format, and finds each company's board for you.
Support
Something missing or wrong? Open an issue on the Issues tab with the company you tried; fixes are made based on requests.
Personio is a trademark of its owner. This Actor is independent and not affiliated with or endorsed by Personio SE & Co. KG.