Karriere.at Job Listings Scraper avatar

Karriere.at Job Listings Scraper

Pricing

Pay per event

Go to Apify Store
Karriere.at Job Listings Scraper

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

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

7 days ago

Last modified

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

FieldDescription
jobIdKarriere.at numeric job identifier when present
titleJob title
companyHiring company
locationPrimary location
locationsAll locations found on the detail page or listing card
salarySalary text or JSON-LD salary range when visible
employmentTypeFull-time, part-time, internship, or schema.org employment type
postedDateHuman-readable posted label from search results
datePostedMachine-readable date from JSON-LD when available
descriptionFull job description text
requirementsBest-effort requirements/profile section
benefitsBest-effort benefits/offer section
phonePhone number when publicly visible in the job text
applyUrlExternal or Karriere.at application link when visible
jobUrlKarriere.at job detail URL
companyUrlKarriere.at company profile URL
sourceSearchUrlSearch 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

  1. Open the actor on Apify.
  2. Add a searchQueries item such as keyword software engineer and location wien.
  3. Set maxItems to the number of jobs you need.
  4. Keep includeDetails enabled if you need descriptions, requirements, benefits, salary, and apply URLs.
  5. Click Start.
  6. 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, or salzburg.
  • Keep includeDetails enabled for research datasets.
  • Disable includeDetails for quick vacancy counts or URL discovery.
  • Use startUrls when you need filters not represented by keyword/location inputs.
  • Increase maxPagesPerSearch gradually 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 ApifyClient
client = 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.

Explore other Automation Lab actors:

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.