Karriere.at Job Listings Scraper
Pricing
Pay per event
Karriere.at Job Listings Scraper
Scrape public Karriere.at job listings for Austrian roles, salaries, companies, descriptions, requirements, benefits, and apply URLs.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Stas Persiianenko
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
7 days ago
Last modified
Categories
Share
Scrape public Austrian job listings from Karriere.at search pages and job detail pages. Export job titles, companies, locations, salaries, employment types, descriptions, requirements, benefits, phone numbers when visible, apply links, and source URLs.
What does Karriere.at Job Listings Scraper do?
Karriere.at Job Listings Scraper collects public vacancy data from karriere.at and stores it in a structured Apify dataset. You can search by keyword and Austrian location, pass existing Karriere.at search URLs, or combine multiple keywords and locations in one run.
The actor uses lightweight HTTP extraction for the public HTML and job detail JSON-LD. It does not require a Karriere.at account.
Who is it for?
- π§βπΌ Recruiters tracking Austrian hiring demand by city and role.
- π Labor-market analysts monitoring salary bands and employment types.
- π’ Sales and lead-generation teams finding companies currently hiring.
- π§ͺ HR-tech builders enriching job intelligence databases.
- π° Journalists and researchers following vacancy trends in Austria.
Why use this actor?
Karriere.at pages are optimized for people, not for repeatable exports. This actor turns public listings into a clean dataset that can be downloaded as JSON, CSV, Excel, XML, or HTML through Apify.
It also opens detail pages when requested, so you get richer fields than a simple search-page scraper.
Key features
- π Search by keyword and location.
- π Use custom Karriere.at start URLs with filters already applied.
- π Optional detail-page extraction.
- πΆ Salary extraction when visible.
- π·οΈ Employment type and posting date extraction.
- π§Ύ Full description, requirements, and benefits from detail pages.
- π HTTP-first implementation for lower runtime cost.
Data you can extract
| Field | Description |
|---|---|
jobId | Karriere.at numeric job identifier when present |
title | Job title |
company | Hiring company |
location | Primary location |
locations | All locations found on the detail page or listing card |
salary | Salary text or JSON-LD salary range when visible |
employmentType | Full-time, part-time, internship, or schema.org employment type |
postedDate | Human-readable posted label from search results |
datePosted | Machine-readable date from JSON-LD when available |
description | Full job description text |
requirements | Best-effort requirements/profile section |
benefits | Best-effort benefits/offer section |
phone | Phone number when publicly visible in the job text |
applyUrl | External or Karriere.at application link when visible |
jobUrl | Karriere.at job detail URL |
companyUrl | Karriere.at company profile URL |
sourceSearchUrl | Search URL that produced the listing |
How much does it cost to scrape Karriere.at job listings?
This actor uses pay-per-event pricing. You pay a small run start fee plus a per-result fee for each job listing saved. The input prefill is intentionally small, so your first run is cheap.
For large monitoring jobs, start with a small maxItems value, check the output quality, then increase the limit.
How to scrape Karriere.at jobs
- Open the actor on Apify.
- Add a
searchQueriesitem such as keywordsoftware engineerand locationwien. - Set
maxItemsto the number of jobs you need. - Keep
includeDetailsenabled if you need descriptions, requirements, benefits, salary, and apply URLs. - Click Start.
- Download the dataset when the run finishes.
Input options
searchQueries
Use this for precise keyword/location pairs.
[{ "keyword": "software engineer", "location": "wien" },{ "keyword": "marketing", "location": "linz" }]
keywords and locations
Use these arrays when you want all combinations. For example, two keywords and three locations create six search URLs.
startUrls
Use this when you already have a filtered Karriere.at URL from your browser.
[{ "url": "https://www.karriere.at/jobs/software-engineer/wien" }]
maxItems
The maximum number of jobs saved across all searches.
maxPagesPerSearch
The maximum pagination depth for each search URL.
includeDetails
When enabled, the actor opens each job detail page and extracts richer fields. Disable it for faster list-only monitoring.
Example input
{"searchQueries": [{ "keyword": "software engineer", "location": "wien" }],"maxItems": 25,"maxPagesPerSearch": 3,"includeDetails": true}
Example output
{"jobId": "10009538","title": "Senior Full Stack Software Engineer (all genders)","company": "PRODYNA SE","location": "Wien, Wien, AT","locations": ["Wien, Wien, AT"],"salary": "4500β5000 EUR month","employmentType": "FULL_TIME","postedDate": "vor 3 Tagen verΓΆffentlicht","datePosted": "2026-05-30T00:00:00+02:00","description": "Full public job description...","requirements": "Profile and requirements...","benefits": "Benefits and offer details...","phone": null,"applyUrl": "https://example.com/apply","jobUrl": "https://www.karriere.at/jobs/10009538","companyUrl": "https://www.karriere.at/f/prodyna","sourceSearchUrl": "https://www.karriere.at/jobs/software-engineer/wien"}
Tips for best results
- Use Austrian city names as Karriere.at users write them, for example
wien,graz,linz, orsalzburg. - Keep
includeDetailsenabled for research datasets. - Disable
includeDetailsfor quick vacancy counts or URL discovery. - Use
startUrlswhen you need filters not represented by keyword/location inputs. - Increase
maxPagesPerSearchgradually for broad keywords.
Common use cases
- Track weekly software engineering vacancies in Vienna.
- Compare salary bands across Austrian cities.
- Build company hiring lead lists.
- Monitor competitor job postings.
- Feed job-market dashboards and BI tools.
- Enrich internal recruiting databases.
Integrations
You can connect the dataset to Google Sheets, Make, Zapier, webhooks, or your data warehouse. Common workflows include:
- π Push new job rows to a spreadsheet every morning.
- π Trigger a webhook when a company posts a matching vacancy.
- π§© Join job listings with CRM company records.
- ποΈ Store historical snapshots in BigQuery, Snowflake, or Postgres.
API usage
Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('automation-lab/karriere-at-job-listings-scraper').call({searchQueries: [{ keyword: 'software engineer', location: 'wien' }],maxItems: 25,includeDetails: true,});console.log(run.defaultDatasetId);
Python
from apify_client import ApifyClientclient = ApifyClient('YOUR_APIFY_TOKEN')run = client.actor('automation-lab/karriere-at-job-listings-scraper').call(run_input={'searchQueries': [{'keyword': 'software engineer', 'location': 'wien'}],'maxItems': 25,'includeDetails': True,})print(run['defaultDatasetId'])
cURL
curl -X POST "https://api.apify.com/v2/acts/automation-lab~karriere-at-job-listings-scraper/runs?token=$APIFY_TOKEN" \-H 'Content-Type: application/json' \-d '{"searchQueries":[{"keyword":"software engineer","location":"wien"}],"maxItems":25,"includeDetails":true}'
MCP usage
Use this actor through Apify MCP in Claude Code or Claude Desktop with:
https://mcp.apify.com/?tools=automation-lab/karriere-at-job-listings-scraper
Example prompts:
- "Find 20 software engineering jobs in Vienna and summarize salary ranges."
- "Scrape marketing roles in Linz and return companies that are hiring."
- "Compare data analyst vacancies in Graz and Vienna."
Legality and responsible use
This actor extracts publicly available job listing data. Always respect Karriere.at terms, privacy rules, and applicable laws. Do not use scraped personal data for spam or unlawful outreach. If a field is not publicly visible, the actor cannot and should not extract it.
Troubleshooting
Why did I get fewer jobs than maxItems?
The search may have fewer public results than requested, or maxPagesPerSearch may be too low. Increase pagination depth or broaden the keyword/location.
Why are some fields null?
Karriere.at listings vary. Salary, phone, benefits, and apply links are only returned when visible on the public page or detail JSON-LD.
Why is detail mode slower?
Detail mode fetches one extra page per job. Disable includeDetails if you only need listing-card fields.
Related scrapers
Explore other Automation Lab actors:
- https://apify.com/automation-lab/workday-jobs-scraper
- https://apify.com/automation-lab/remoteok-jobs-scraper
- https://apify.com/automation-lab/welcome-to-the-jungle-jobs-scraper
- https://apify.com/automation-lab/xing-jobs-scraper
Limitations
- The actor only scrapes public pages.
- It does not log in or apply to jobs.
- Section extraction for requirements and benefits is best-effort because employers format descriptions differently.
- Site layout changes may require extractor updates.
Changelog
Initial version: public Karriere.at search and detail extraction with HTTP + Cheerio.