karriere.at Jobs Scraper - Austria Salaries & Apply URLs
Pricing
from $1.06 / 1,000 job searches
karriere.at Jobs Scraper - Austria Salaries & Apply URLs
Scrape every job on karriere.at, Austria's leading job board. Search by keyword, city or federal state and filter by employment type, career level, job field and home office. Each row carries the published EUR salary, employer, location, posted date and the direct apply URL.
Pricing
from $1.06 / 1,000 job searches
Rating
0.0
(0)
Developer
SIÁN OÜ
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
karriere.at Jobs Scraper — Austria Salaries & Apply URLs 🇦🇹
💶 The salary column karriere.at makes you log in for
Every Austrian job advert as a row: employer, location, contract, published gross salary and the apply link
Austria is one of the few countries where the law makes an employer print a minimum salary in the advert. About nine adverts in ten on karriere.at carry one — and the site's own salary filter is behind a login. This karriere.at scraper reads the salary off every posting, splits it into from, to, period and currency, and lets you filter on it without an account.
Built for recruiters, HR analysts, job boards and anyone benchmarking Austrian pay. Test it with 25 jobs free — no credit card, no API key, no login.
🔎 What is the karriere.at Jobs Scraper — and when should you use it?
The karriere.at Jobs Scraper turns public job adverts from karriere.at, Austria's leading job board into clean, structured rows you can filter, export and feed straight into a spreadsheet, database or AI agent. No account, no portal API key, no browser automation to maintain.
Use it when you need: Austrian job adverts as rows you can sort and filter: title, employer, employer website and headcount, city, federal state, employment type, career level, home-office flag and posted date. The published gross salary comes split into from, to, period and currency, with annual figures also expressed per month so a 42,000 EUR advert and a 3,000 EUR advert line up in the same column. Switch on full advert text and each row also carries the complete posting and the direct apply link.
Use something else when: the job is not on karriere.at. Use Jobs Search API for openings across most countries by aggregating Indeed, LinkedIn and Glassdoor, where this actor is one Austrian board done in depth. Use Glassdoor Scraper for what employees say a company pays and what they think of working there, where karriere.at carries the minimum the employer published itself. Use SEEK Jobs Scraper for the same national-job-board shape for Australia and New Zealand. This actor covers public karriere.at adverts only. Other Austrian boards are separate sources, and anything behind a karriere.at login — saved searches, job matching, the applicant side — is out of scope.
🤖 Use with AI agents
Already connected to the Apify MCP server? Just ask for this Actor by name: sian.agency/karriere-at-jobs-scraper
Your agent can pay for its own runs. This Actor is eligible for agentic payments, so an agent can discover it, run it and settle the bill over x402 (USDC on Base) or Skyfire — without an Apify account or API token of its own. Billing is the same either way: per successful row, never for errors.
Otherwise copy this prompt into Claude, ChatGPT, Cursor or any MCP-enabled assistant:
I want Austrian job adverts with salaries from karriere.at using the Apify Actor `sian.agency/karriere-at-jobs-scraper`.Use it when I need: Austrian job adverts as rows you can sort and filter: title, employer, employer website and headcount, city, federal state, employment type, career level, home-office flag and posted date. The published gross salary comes split into from, to, period and currency, with annual figures also expressed per month so a 42,000 EUR advert and a 3,000 EUR advert line up in the same column. Switch on full advert text and each row also carries the complete posting and the direct apply link.Don't use it when: the job is not on karriere.at — use jsearch-jobs-scraper or glassdoor-data-scraper or seek-jobs-scraper instead.How to call it: give `keywords` a list of roles or skills and `locations` a list of cities or federal states (`Wien`, `Graz`, `steiermark`, `tirol`). Every keyword runs against every location, so three roles across three states is nine searches in one dataset. Narrow with `employmentType` (`vollzeit`, `teilzeit`, `praktika`, `lehre`), `jobField`, `jobLevel`, `homeOfficeOnly`, `radiusKm` around a city, `minMonthlySalaryEur`, `requireSalary` and `postedWithinDays`. `includeDetails` adds the full advert text, the apply URL and the exact numeric salary for an extra charge per job. To expand adverts you already have, set `operation` to `detail` and pass `jobUrls`; to reuse a search you built on karriere.at, paste it into `searchUrls`.Start with this input:{"keywords": ["software entwickler"],"locations": ["Wien"],"employmentType": "vollzeit","minMonthlySalaryEur": 3500,"maxResults": 100}Ask me which roles and which Austrian cities or federal states to search, and whether they want a salary floor, then run the Actor and summarise the results as a table.
Things you can ask your agent for:
- Pull every full-time data role in Vienna, Graz and Linz paying at least 4,000 EUR a month and rank the employers by what they offer.
- Give me everything posted in the last three days across all nine federal states with home office, and include the apply link for each one.
- Compare the published salary range for project managers in Vienna against Upper Austria and show me the median for each.
Machine-readable API, MCP config and OpenAPI definition for this Actor are published at apify.com/sian.agency/karriere-at-jobs-scraper.md.
📋 Overview
Type a role, pick a city, press Run — this karriere.at scraper turns any Austrian job search into a spreadsheet in about twenty seconds.
Why professionals choose this karriere.at scraper:
- 💶 Salary on 9 rows in 10: parsed into
salaryMin,salaryMax, period and currency, with annual figures also given per month so every advert compares - 🔍 Keywords × locations in one run: three roles across three federal states is nine searches and one dataset
- 🇦🇹 All of Austria: any city karriere.at knows, all nine federal states, plus a 10–50 km radius around a city
- 🎯 The site's own filters: employment type, job field, career level and home office, using karriere.at's own taxonomy ids
- 🔐 A salary filter without a login: karriere.at gates its own behind an account; this one runs on the salary already parsed
- 💰 From $1.20 per 1,000 jobs: pay per row delivered, never for a failed one
- 📄 Full advert text on demand: complete posting, career level, employer website and the direct apply URL
✨ Features
- 🔑 Multi-keyword search: every role or skill you list runs its own search, merged into one dataset
- 📍 City or federal state:
Wien,Graz,Linz— orsteiermark,tirol,niederoesterreichfor a whole region - 📏 Radius search: 10, 20, 30 or 50 km around a city, the same control karriere.at offers
- 💼 Employment type: full time, part time, marginal, internship, apprenticeship, thesis or freelance
- 🗂️ 20 job fields: IT, engineering, finance, accounting, marketing, sales, logistics, healthcare, hospitality and more
- 📈 Career level: entry, experienced, team lead, executive or self-employed
- 🏠 Home-office filter: only the adverts karriere.at flags as remote-friendly
- 💶 Salary floor: drop everything under a gross monthly figure, with annual salaries converted at 14 payments a year
- 🗓️ Posted-within filter: the cheap way to schedule this and pay only for adverts that are new
- 🔗 Paste-a-URL mode: drop in any karriere.at search URL and every filter in it is honoured
- 📄 Full advert text on demand: complete posting, apply URL and the exact numeric salary
- 📊 Export anywhere: JSON, CSV, Excel, or straight into your own code via the API
🎬 Quick Start
Give it a role and a city. No account, no API key, no proxy settings — press Run and the rows arrive.
curl -X POST "https://api.apify.com/v2/acts/sian.agency~karriere-at-jobs-scraper/runs?token=YOUR_TOKEN" \-H 'Content-Type: application/json' \-d '{"keywords": ["software entwickler"], "locations": ["Wien"], "maxResults": 100}'
🚀 Getting Started (3 Simple Steps)
Step 1: Say what you are looking for
Put one or more roles in Search keywords and one or more places in Cities or federal states. Leave both empty to take every current opening in Austria.
Step 2: Narrow it down
Pick an employment type, a job field, a career level or a salary floor. Every filter is optional.
Step 3: Press Run
Rows appear in the dataset as they are collected. Export as CSV, JSON or Excel, or read them straight from the API.
That's it. In under a minute, you'll have:
- Every matching Austrian job advert as a flat row
- A gross salary column you can sort, on roughly nine rows in ten
- A direct link to each posting, and the apply URL when you ask for full advert text
📥 Input Configuration
| Field | Type | Required | Description |
|---|---|---|---|
operation | string | No | search (default) or detail |
keywords | array | No | Roles or skills, one search per keyword |
locations | array | No | Cities or federal states, one search per location |
radiusKm | string | No | 0, 10, 20, 30 or 50 km around a city |
employmentType | string | No | any, vollzeit, teilzeit, geringfuegig, praktika, lehre, diplomarbeit, freelancer |
jobField | string | No | One of 20 karriere.at industry categories, or any |
jobLevel | string | No | any, berufseinstieg, berufserfahrung, bereichsleitung, unternehmensfuehrung, selbstaendigkeit |
homeOfficeOnly | boolean | No | Keep only remote-friendly adverts |
minMonthlySalaryEur | integer | No | Gross monthly floor in euro, 0 for no limit |
requireSalary | boolean | No | Drop adverts that publish no salary |
postedWithinDays | integer | No | Keep only adverts newer than N days, 0 for no limit |
maxResults | integer | No | Whole-run row budget, default 100 |
includeDetails | boolean | No | Add full advert text, apply URL and exact salary |
searchUrls | array | No | Paste karriere.at search URLs instead of filling the fields |
jobUrls | array | No | Job URLs for the detail operation |
Example — a salary-filtered search:
{"keywords": ["software entwickler", "data engineer"],"locations": ["Wien", "steiermark"],"employmentType": "vollzeit","minMonthlySalaryEur": 4000,"maxResults": 500}
Example — expand adverts you already have:
{"operation": "detail","jobUrls": ["https://www.karriere.at/jobs/10026488","https://www.karriere.at/jobs/10021751"]}
📤 Output
Results are saved to the Apify dataset with 38 fields including:
| Field | Type | Description |
|---|---|---|
jobTitle | string | The advert's headline |
companyName | string | Hiring employer |
companyWebsite | string | The employer's own site (with full advert text) |
companySize | string | Headcount band, e.g. 11 - 30 |
location | string | City or district, as karriere.at prints it |
region | string | Federal state (with full advert text) |
employmentTypes | string | e.g. Vollzeit, Teilzeit |
jobLevel | string | Career level (with full advert text) |
salaryMin / salaryMax | number | Published gross salary, from and to |
salaryPeriod | string | MONTH, YEAR or HOUR |
salaryMinMonthlyEur | number | The same floor expressed per month, for comparison |
isHomeOffice | boolean | Whether the advert offers home office |
postedAt | string | Publication date, ISO |
applyUrl | string | Direct application link (with full advert text) |
url | string | The advert on karriere.at |
Example row:
{"jobId": "10029847","jobTitle": "Senior Backend Engineer (f/m/d) with Social Impact","url": "https://www.karriere.at/jobs/10029847","companyName": "Formunauts GmbH","companyUrl": "https://www.karriere.at/f/formunauts","companyWebsite": "https://www.formunauts.com","companySize": "11 - 30","location": "Wien 1. Bezirk (Innere Stadt)","region": "Wien","country": "AT","employmentTypes": "Vollzeit, Teilzeit","employmentTypeCodes": ["FULL_TIME", "PART_TIME"],"jobLevel": "Berufserfahrung","salaryText": "4.000 € – 5.000 € monatlich","salaryMin": 4000,"salaryMax": 5000,"salaryPeriod": "MONTH","salaryCurrency": "EUR","salaryMinMonthlyEur": 4000,"isHomeOffice": true,"postedAt": "2026-08-25T00:00:00.000Z","applyUrl": "https://bewerben.karriere.at/6Gjs44S7","status": "success"}
💼 Use Cases & Examples
1. Austrian Salary Benchmarking
Compensation analysts and founders who need real Austrian pay data, not a survey.
Input: one role, all nine federal states, requireSalary: true
Output: several hundred adverts with a from/to salary and a per-month comparison column
Use: build a pay curve for a role and see what Vienna costs against Styria before you write an offer.
2. Recruitment Lead Generation
Agency recruiters looking for Austrian companies that are hiring right now.
Input: a job field, a federal state, postedWithinDays: 7
Output: employer name, karriere.at profile, own website and headcount for every fresh advert
Use: work this week's hiring list before it reaches the aggregators.
3. Competitor Hiring Intelligence
Strategy and talent teams tracking what a rival is building.
Input: the competitor's name as a keyword, on a daily schedule Output: every role they open, with level, location and the salary they are willing to print Use: spot a new team forming from the job titles, months before it is announced.
4. Job Board & Aggregator Feeds
Niche boards and newsletters that need clean listings without a manual copy pass.
Input: a job field plus includeDetails: true
Output: title, employer, location, contract, salary, full text and a direct apply URL
Use: map the rows straight onto a JobPosting schema and publish.
5. Labour Market Research
Economists and public-sector analysts measuring Austrian demand.
Input: each job field in turn, run monthly Output: counts by field, level, home-office flag and federal state, on karriere.at's own taxonomy Use: track how remote-friendly Austrian hiring is, month over month, on categories that stay comparable.
6. Relocation & Candidate Research
Jobseekers and relocation consultants comparing Austrian cities.
Input: one role, radiusKm: 50 around Vienna, Graz and Linz
Output: every opening in commuting distance with its published salary
Use: answer "where does this job pay best" with adverts rather than anecdotes.
7. Pay Transparency Reporting
Works councils and HR teams auditing published salary practice.
Input: a sector, whole country, requireSalary: false
Output: which employers publish a real range and which publish the bare legal minimum
Use: benchmark your own advert against what the rest of the sector prints.
🔗 Integration Examples
JavaScript/Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_TOKEN' });const run = await client.actor('sian.agency/karriere-at-jobs-scraper').call({keywords: ['software entwickler'],locations: ['Wien'],minMonthlySalaryEur: 4000,maxResults: 200,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items[0].jobTitle, items[0].salaryMinMonthlyEur);
Python
from apify_client import ApifyClientclient = ApifyClient('YOUR_TOKEN')run = client.actor('sian.agency/karriere-at-jobs-scraper').call(run_input={'keywords': ['software entwickler'],'locations': ['Wien'],'minMonthlySalaryEur': 4000,'maxResults': 200,})for item in client.dataset(run['defaultDatasetId']).iterate_items():print(item['jobTitle'], item.get('salaryMinMonthlyEur'))
cURL
curl -X POST 'https://api.apify.com/v2/acts/sian.agency~karriere-at-jobs-scraper/runs?token=YOUR_TOKEN' \-H 'Content-Type: application/json' \-d '{"keywords": ["software entwickler"], "locations": ["Wien"], "maxResults": 200}'
Automation Workflows (N8N / Zapier / Make)
- Trigger: a daily schedule
- HTTP Request: run the actor with
postedWithinDays: 1 - Process: read the dataset, deduplicate against yesterday on
jobId - Action: push new adverts into your ATS, a Google Sheet or a Slack channel
📊 Performance & Pricing
FREE Tier (Try It Now)
- 25 jobs per run — every filter, every field, same quality
- No credit card required
- Enough to see the salary column before you commit
PAID Tier (Production Ready)
- Unlimited jobs per run
- Keywords × locations fan-out across the whole country in one go
- Pay per result: charged only for jobs actually delivered, never for a failed one
💰 From $1.20 per 1,000 jobs — below every karriere.at scraper on the Store that offers a comparable filter set.
❓ Frequently Asked Questions
Q: Do I need an account, an API key or a proxy? A: No. Type a keyword and press Start.
Q: How many jobs can I collect? A: FREE tier: 25 per run. PAID tier: unlimited. A single keyword pages out when karriere.at runs out of matches, so wider coverage comes from more keywords and more locations.
Q: Which locations are supported?
A: Any Austrian city karriere.at knows, and all nine federal states: wien, niederoesterreich, oberoesterreich, steiermark, tirol, salzburg, kaernten, vorarlberg, burgenland. Cities also take a 10–50 km radius.
Q: How reliable is the salary column? A: Austrian law obliges employers to publish a minimum salary, and roughly nine adverts in ten carry one. The actor splits it into from, to, period and currency, and adds a per-month figure so annual and monthly adverts compare. Anything it cannot parse comes back empty rather than guessed.
Q: Why does the salary filter work here but not on karriere.at? A: karriere.at gates its own salary filter behind a login and drops it from the URL otherwise. This actor filters on the salary it has already read off the advert, so no account is involved.
Q: What does the full advert text option cost? A: It opens one extra page per job, so it bills one Job Detail event per enriched posting on top of the search row. Leave it off and you pay for search rows only.
Q: Can I paste a karriere.at search URL? A: Yes. Put it in Search URLs and the keyword, location, radius and every filter in that URL are read straight off it.
Q: What output formats are available? A: JSON, CSV and Excel, exported from the dataset or read through the API.
🐛 Troubleshooting
A run returns fewer jobs than maxResults
- karriere.at simply had fewer matches. Widen the keyword, add locations, or drop a filter.
- A salary floor or a posted-within limit removes rows after they are fetched. The run log prints how many were filtered out.
A location returns nothing
- Use the German spelling karriere.at uses. Umlauts are handled for you, so
Kärntenandkaerntenboth work. - A federal state ignores the radius, because it is already an area.
Salary columns are empty on some rows
- Roughly one advert in ten publishes no figure. Turn on Only postings that state a salary to drop those.
- Hourly adverts keep
salaryMinandsalaryPeriod: "HOUR"but no monthly figure, because converting one needs contract hours the advert never states.
A job URL returns an error row
- The advert has expired or was withdrawn. Error rows are never charged.
- Paste the address from your browser:
https://www.karriere.at/jobs/10026488.
The run is slower than expected with full advert text on
- Each enriched job costs one extra request. Lower
maxResults, or leave the option off and enrich a shortlist afterwards with thedetailoperation.
⚖️ Is it legal to scrape data?
Our actors are ethical and do not extract any private user data, such as email addresses, gender, or location. They only extract what the user has chosen to share publicly. We therefore believe that our actors, when used for ethical purposes by Apify users, are safe.
However, you should be aware that your results could contain personal data. Personal data is protected by the GDPR in the European Union and by other regulations around the world. You should not scrape personal data unless you have a legitimate reason to do so. If you're unsure whether your reason is legitimate, consult your lawyers.
You can also read Apify's blog post on the legality of web scraping.
karriere.at is a trademark of karriere.at GmbH. This actor is not affiliated with, endorsed by, or sponsored by karriere.at.
🤝 Support
Join our active support community
- For issues or questions, open an issue in the actor's repository
- Check SIÁN Agency Store for more automation tools
- 📧 apify@sian-agency.online
Built by SIÁN Agency | More Tools