Karriere.at Jobs Scraper — Austria Salary & Contacts avatar

Karriere.at Jobs Scraper — Austria Salary & Contacts

Pricing

from $1.50 / 1,000 job listings

Go to Apify Store
Karriere.at Jobs Scraper — Austria Salary & Contacts

Karriere.at Jobs Scraper — Austria Salary & Contacts

Karriere.at Jobs Scraper for public vacancies in Austria. Search by keyword, city, or employment type and export title, employer, EUR salary, home office, and the job description.

Pricing

from $1.50 / 1,000 job listings

Rating

0.0

(0)

Developer

Andrej Kiva

Andrej Kiva

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Disclaimer: Unofficial tool — not affiliated with, sponsored by, or endorsed by karriere.at GmbH or its affiliates. Data is read from publicly accessible job-search results and job pages only. No login. You are responsible for complying with applicable law (including GDPR where personal data appears) and the site’s terms. No warranty on accuracy or availability. Provided for informational and research use.

Karriere.at jobs scraper for public vacancies in Austria. A practical karriere.at API alternative: search by keyword, city, employment type, job level, or paste a search / job URL. Export title, employer, location, EUR salary, home office, the job description, and the contact name and phone when the public page shows them. JSON, CSV, or Excel. Fast HTTP, no headless browser, no login. Run it with Python, Node.js, cURL, or Apify MCP.

Use it for Austrian recruiting coverage, salary checks, and a scheduled watch of new job ids.

ActorFocus
Karriere.at Jobs Scraper ◄── you are herePublic Austrian vacancies, salary, and contacts
AMS Austria Jobs ScraperAustria public employment board
Stepstone Jobs ScraperDACH commercial job board
Arbeitsagentur Jobs ScraperGermany public employment board
Kununu ScraperDACH employer reviews, salaries, and jobs

When to use this Actor

  • You need a karriere.at scraper that returns structured Austrian jobs
  • You want keyword + city + employment type without an employer login
  • You need the EUR salary, home office flag, and the description on the same row
  • You run a daily monitor and only want job ids this watch has not already stored

When not to use this Actor

  • Candidate profiles or CVs — public job ads only
  • Guessed email addresses — only the contact name and phone printed on the job page
  • Logged-in recruiter tools — no login
  • German public-employment listings — use Arbeitsagentur Jobs Scraper
  • Employer reviews — use Kununu Scraper after you have the company

Key features

  • Public search JSON (about 15 jobs per page) plus the public job page
  • Employment type, job level, job field, home office, and radius
  • EUR salary parsed from the published figure (monthly, yearly, or hourly)
  • Contact name and phone when the job page shows an Ansprechperson
  • Monitor mode stores seen job ids and bills only new rows
  • 256 MB HTTP run, proxy off by default

Input

FieldWhat it does
keywordJob title or skill
locationCity or federal state, for example Wien or Graz
radiusKm0–100 km. Leave empty for the site default (about 20 km)
employmentTypeVollzeit 3960, Teilzeit 3961, Praktika 3963, and the other public ids
jobLevelBerufseinstieg, Berufserfahrung, and the other public level ids
jobFieldOptional Berufsfeld, for example IT 2172
homeOfficeKeep jobs marked as home office
companyEmployer slug, for example otto-immobilien
minSalaryEurDrop rows whose published EUR figure is below this. Rows with no figure are kept
postedWithinDaysDrop rows older than this when a date is present
startUrlsSearch, company, or job URLs. They replace keyword and location
includeDetailsOpen the job page for description, date, and contact. Default on
maxItems / maxPagesCaps. About 15 jobs per page
monitorModePush only job ids this named store has not already walked
{
"keyword": "Python",
"location": "Wien",
"employmentType": "3960",
"homeOffice": false,
"maxItems": 50,
"includeDetails": true,
"proxyConfiguration": { "useApifyProxy": false }
}

Job URL example inside a run input:

{
"startUrls": [
{ "url": "https://www.karriere.at/jobs?keywords=Buchhaltung&locations=Graz" }
],
"maxItems": 20
}

Output

One dataset row is one job.

FieldMeaning
jobIdPublic job id
title, company, companySlug, companyEmployeesEmployer identity
locationCity or cities on the ad
employmentType, jobLevel, jobFieldsContract, seniority, and Berufsfeld
homeOfficeHome-office flag from the search
salaryText, salaryMin, salaryMax, salaryPeriodPublished EUR pay. Period is HOUR, MONTH, YEAR, or WEEK
dateLabel, datePostedRelative label and the posting timestamp when the page has one
summary, descriptionCard summary and the job-page text
contactName, contactPhoneShown on the public page. Empty when the ad has none
companyWebsite, companyUrlEmployer site and the public company profile
sponsored, isChiffrePromoted row, or an anonymous employer
urlPublic job page
{
"jobId": "10032737",
"title": "Analyst (m/w/d)",
"company": "Example GmbH",
"location": "Wien",
"employmentType": "Vollzeit",
"jobLevel": "Berufseinstieg",
"homeOffice": true,
"salaryText": "ab 2.700 € monatlich",
"salaryMin": 2700,
"salaryCurrency": "EUR",
"salaryPeriod": "MONTH",
"contactName": "Ada Analyst",
"contactPhone": "+43 1 500 00 00",
"url": "https://www.karriere.at/jobs/10032737"
}

Use cases

  • Build a daily list of new Python, accounting, or nursing jobs in one Austrian city
  • Compare disclosed monthly gross pay for the same occupation
  • Feed a recruiting CRM with employer, city, salary, and the contact printed on the ad
  • Watch one keyword and skip job ids you already stored

Integration examples

Node.js

import { ApifyClient } from "apify-client";
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor("crawloop/karriere-at-jobs-scraper").call({
keyword: "Buchhaltung",
location: "Graz",
employmentType: "3960",
maxItems: 30,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Python

from apify_client import ApifyClient
client = ApifyClient()
run = client.actor("crawloop/karriere-at-jobs-scraper").call(run_input={
"keyword": "Python",
"location": "Wien",
"maxItems": 30,
})
items = client.dataset(run["defaultDatasetId"]).list_items().items
print(len(items), items[0].get("salaryMin"))

cURL

curl "https://api.apify.com/v2/acts/crawloop~karriere-at-jobs-scraper/runs?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d "{\"keyword\":\"Pflege\",\"location\":\"Linz\",\"maxItems\":20}"

MCP and AI assistants

Use this Actor from AI tools via Apify MCP. Connect your Apify account, then call this Actor by its Store name crawloop/karriere-at-jobs-scraper.

Example prompts:

  • "Run Karriere.at Jobs Scraper for Python in Wien, max 20, and return title, salary, and home office as JSON"
  • "Scrape Buchhaltung jobs in Graz and summarize employment type and the published monthly salary"
  • "Chain Karriere.at Jobs Scraper then Stepstone Jobs Scraper for the same keyword across Austria and Germany"

Suite next step

For Austria’s public employment board, run AMS Austria Jobs Scraper after this Actor. For the wider DACH commercial board, run Stepstone Jobs Scraper. For employer reviews of a company you found here, run Kununu Scraper.

FAQ

Does this log in? No. It reads the public search JSON and the public job page.

Why do some rows have no phone? The phone is saved only when the job page prints an Ansprechperson number. The Actor does not guess addresses.

What does a salary floor skip? Rows whose published EUR amount is below minSalaryEur. Ads with no figure stay in the dataset.

What does monitor mode bill? Only new job rows. A later run that finds nothing new still starts, and it does not charge a job row for ids already stored. Ids skipped by the salary or date filter are remembered, so the next poll does not walk them again.

Is a proxy required? No. Leave proxy off unless a run returns HTTP 403 or 429.