Personio Jobs Scraper avatar

Personio Jobs Scraper

Pricing

from $1.20 / 1,000 results

Go to Apify Store
Personio Jobs Scraper

Personio Jobs Scraper

Scrape open jobs from Personio company career pages (jobs.personio.de/.com XML feeds). Returns clean rows with title, department, office, employment, seniority, dates, URLs and descriptions. Supports monitor mode for new/changed/removed jobs.

Pricing

from $1.20 / 1,000 results

Rating

0.0

(0)

Developer

Redomic

Redomic

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 hours ago

Last modified

Features

Limited permissions

Share

Personio Jobs Scraper: Open Jobs from Personio Career Pages

Get every open job from any company whose career page runs on Personio (company.jobs.personio.de or .com), as a spreadsheet or an API. Thousands of European small and mid-sized companies hire through Personio, and their jobs often don't reach the big job boards. Each row gives you the title, department, office, city and country, contract type, level, remote or onsite, the salary when the company states it, the posting date and the full description.

Run it on a schedule and you get only the jobs that are new, changed or taken down since the last run.

Who uses it

  • Recruiters and agencies watching the companies they place candidates with.
  • Job boards that list European SME jobs and need them the day they're posted.
  • Sales teams looking for companies that are hiring in a department they sell to.

What you get

Four Personio companies, newest jobs first, on 15 November 2026:

CompanyJobDepartmentCityContractLevelSalaryPosted
PersonioBusiness Development RepresentativeGo to MarketBerlinpermanententry-level11 Nov
SolactiveClient Services SpecialistClient ServicesTorontopermanententry-level10 Nov
SolactiveIntern, Equity Index StructuringProductAmsterdaminternstudent5 Nov
VividProduct Engineer (Mid/Senior)Customer experienceRemotepermanentexperiencedEUR 65,000 to 75,000 a year22 Oct
VividCompliance Officer, FranceOperationsParispermanentexperiencedEUR 50,000 to 60,000 a year2 Oct

Each row also carries the job and apply URLs, the office and any extra offices, the country code, full-time or part-time, years of experience when stated, the occupation category, how many days the job has been open, how many roles the company has open in total, and the description as HTML and plain text. We also pull the skills, responsibilities, requirements and benefits out of the description into separate lists.

Three modes

ModeWhat you getGood for
jobs (default)Every open job at the companies you listExports, one-off checks
monitorOnly jobs that are new, changed or removed since the last runDaily alerts
searchA keyword search across a built-in list of Personio companies, no company names neededTrying it out, quick market checks

Price

$1.50 per 1,000 jobs. There's no start fee. In monitor mode you pay for the first run's jobs and after that only for new and changed jobs, so a quiet day costs nothing. 100 jobs cost $0.15.

How to run it

Add the companies you care about. You can use the part before .jobs.personio.de, or paste the career page URL:

{
"companies": ["solactive", "https://vivid.jobs.personio.de"],
"maxItems": 100
}

Only engineering jobs in Germany with a posted salary:

{
"companies": ["solactive", "vivid", "personio"],
"countries": ["Germany"],
"departments": ["Engineering", "Tech"],
"hasSalary": true
}

For alerts, save your company list as a task with "mode": "monitor" and schedule it daily. For a changed job, changedFields tells you what changed (title, office, salary) and changes gives the old and new values.

Per-input coverage

Every run writes a per-input coverage report to the key-value store: INPUT-REPORT (JSON array) and INPUT-REPORT.csv. Each company gets one row in input order with input, status, org, jobsFound, jobsEmitted, and error.

Input

FieldDefaultWhat it does
companies["solactive"]Personio subdomains or career page URLs.
modejobsjobs, monitor or search.
searchnoneKeep jobs whose title, location, department or description contains this text.
titleKeywords, excludeTitleKeywordsnoneKeep or drop jobs by words in the title.
locations, countries, cities, excludeLocationsallFilter by place.
departments, jobFunctionsallFilter by department or job function.
employmentTypesallFor example permanent, intern, working_student, freelance.
senioritiesallFor example entry-level, experienced, student, executive.
schedulesallfull-time or part-time.
workplaceTypes, remoteOnlyallRemote, hybrid or onsite.
hasSalary, minSalary, maxSalaryoffOnly jobs with a stated salary, or within a yearly range.
skillsInclude, skillsExcludenoneKeep or drop jobs that mention these skills.
postedSinceDays, postedAfternoneOnly recent jobs.
excludeEvergreentrueLeave out jobs that have been up for a year or more.
includeGeneralApplicationsfalseInclude open applications such as "Initiativbewerbung".
includeDescriptiontrueAdd the full description.
languageenThe description language to request, for example de.
sortnewestnewest or oldest.
includeUnchangedfalseIn monitor mode, also emit jobs still present and unchanged since the previous run as changeType=unchanged (never charged).
maxItems20The most jobs per company.

Output fields

id, globalId, company, subcompany, title, department, recruitingCategory, office, additionalOffices, location, city, country, countryCode, workplaceType, employmentType, schedule, seniority, yearsOfExperience, occupation, occupationCategory, salary, salaryMin, salaryMax, salaryCurrency, salaryPeriod, createdAt, daysOpen, ageDays, companyOpenRoles, skills, responsibilities, requirements, benefits, keywords, descriptionText, descriptionHtml, url, applyUrl, firstSeenAt, lastSeenAt, scrapedAt.

FAQ

Which companies work? Any company whose career page lives on Personio, at name.jobs.personio.de or name.jobs.personio.com. If the page isn't on Personio, the run tells you so.

Where does the salary come from? Personio has no salary field, so we read it from the description when the company states a range. Numbers that aren't pay (revenue, funding) are ignored.

How do I find a company's Personio name? Open their careers page. If the address looks like acme.jobs.personio.de, use acme.

Something looks wrong in my results. Open an issue on the Issues tab with your input and we'll look at it.

Auf Deutsch

Alle offenen Stellen von Unternehmen, deren Karriereseite auf Personio läuft, als Tabelle: Titel, Abteilung, Standort, Vertragsart, Level, Remote oder vor Ort, Gehalt (wenn angegeben), Datum und Beschreibung. Im Modus monitor bekommen Sie nur neue, geänderte und entfernte Stellen seit dem letzten Lauf.

Use it from AI agents (MCP) and Python

AI agents. Add this Actor as a tool in Claude, Cursor, VS Code or any MCP client through the Apify MCP server. The agent reads the input schema, so a plain request is enough.

{
"mcpServers": {
"personio-jobs": {
"url": "https://mcp.apify.com?tools=redomic/personio-jobs",
"headers": {
"Authorization": "Bearer <YOUR_APIFY_TOKEN>"
}
}
}
}

Python. pip install apify-client, then:

from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("redomic/personio-jobs").call(run_input={"companies": ["solactive"]})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)

More from us