Karriere.at Austrian Jobs Scraper avatar

Karriere.at Austrian Jobs Scraper

Pricing

from $0.89 / 1,000 job scrapeds

Go to Apify Store
Karriere.at Austrian Jobs Scraper

Karriere.at Austrian Jobs Scraper

Scrape jobs from karriere.at: titles, salaries, companies, locations, remote flags, and full descriptions. Search by keyword, location, or paste a search URL.

Pricing

from $0.89 / 1,000 job scrapeds

Rating

0.0

(0)

Developer

ParseBird

ParseBird

Maintained by Community

Actor stats

1

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

Karriere.at Austrian Jobs Scraper

Extract job listings from karriere.at, Austria's largest job platform, without writing a single line of scraping code. The Karriere.at Austrian Jobs Scraper searches by keyword, location, or a pasted search URL, and returns clean, structured job data — titles, salaries, companies, locations, remote flags, and full descriptions — ready for analysis, monitoring, or integration into your own job board or ATS.

Search by keyword, location, and radius, pull structured salary and apply-URL data from every listing, track a search over time with incremental mode, and get new jobs pushed straight to Telegram, Slack, Discord, WhatsApp, or your own webhook.

Copy to your AI assistant

Copy this block into ChatGPT, Claude, Cursor, or any LLM to start using this actor.

Apify Actor: parsebird/karriere-at-jobs-scraper. Scrapes job listings from karriere.at (Austria's largest job platform). Call via ApifyClient: client.actor("parsebird/karriere-at-jobs-scraper").call(run_input={"query": "software engineer", "location": "wien", "maxResults": 50, "includeDetails": true}). Also accepts startUrls (paste a karriere.at /jobs search URL directly), radius, remoteOnly, compact (core fields only), descriptionFormat ("all"/"text"/"html"/"markdown"), incrementalMode + stateKey (emit only NEW/CHANGED/EXPIRED jobs across runs), skipReposts, and notification channels (telegramToken/telegramChatId, discordWebhookUrl, slackWebhookUrl, whatsappPhoneNumberId/whatsappAccessToken/whatsappTo, webhookUrl). Returns per job: jobId, title, company, companySlug, companyUrl, companyEmployees, companyLogoUrl, location, addressRegion, isRemote, salaryText, salaryMin, salaryMax, salaryCurrency, salaryPeriod, employmentType, jobLevel, description (or descriptionText/descriptionHtml/descriptionMarkdown), url, applyUrl, directApply, postedDate, portalUrl, scrapedAt, source. Full API spec: https://apify.com/parsebird/karriere-at-jobs-scraper/api. Get your token: https://console.apify.com/settings/integrations.

What does Karriere.at Austrian Jobs Scraper do?

This actor queries karriere.at's own job search endpoint directly — no browser rendering, no fragile CSS selectors. You give it a search term, a location, or a karriere.at search URL, and it returns every matching job with salary, employment type, remote-work flag, company details, and (optionally) the full job description and apply link.

  • 🔍 Keyword, location, and radius search — search by job title or free text, narrow to a city or region, and set a search radius in kilometers.
  • 🔗 Paste-a-URL mode — copy a search URL straight from your browser (with filters already applied) and the actor parses keywords, locations, radius, and homeoffice from it automatically.
  • 📋 Full job details on request — structured salary (min/max/currency/period), employment type, job level, address region, apply URL, and direct-apply detection, sourced from karriere.at's own structured job-posting data.
  • ✂️ Flexible description output — plain text, HTML, Markdown, or all three, with optional character-length truncation for LLM token budgets.
  • 📦 Compact mode — a lean, core-fields-only shape built for AI-agent and MCP workflows.
  • ♻️ Incremental tracking — re-run the same search on a schedule and only get NEW, CHANGED, REAPPEARED, or EXPIRED listings back, keyed by a stable state per search.
  • 🚫 Repost detection — flags and optionally excludes listings that look like a repost of a job you've already seen (same title, company, and location under a new job ID).
  • 🔔 Built-in alerts — send new/changed jobs to Telegram, Discord, Slack, WhatsApp, or a generic webhook for n8n/Make/Zapier, with no extra automation needed.

What data can you extract from karriere.at?

FieldDescription
titleJob title as posted
company / companySlug / companyUrl / companyEmployees / companyLogoUrlHiring company details
location / addressRegionCity/region and Austrian federal state
isRemoteWhether the listing offers a home-office option
salaryText / salaryMin / salaryMax / salaryCurrency / salaryPeriodSalary as displayed and as structured data, where disclosed
employmentType / jobLevele.g. Vollzeit, Teilzeit; Berufseinstieg, Berufserfahrung
description / descriptionText / descriptionHtml / descriptionMarkdownFull job description, in the format(s) you choose
applyUrl / directApplyWhere to apply and whether it's a direct/smart-apply listing
postedDate / postedDateRelativeISO publish date (from full details) and karriere.at's own relative label
urlCanonical karriere.at job URL
changeStatusNEW / CHANGED / UNCHANGED / REAPPEARED / EXPIRED — only present when Incremental Mode is on

Input parameters

ParameterTypeRequiredDefaultDescription
querystringNoSearch term (e.g. "developer"). Aliases: searchQuery, keyword, or keywords as a string/array — array entries each run as a separate search and are merged/deduplicated
startUrlsarrayNokarriere.at search URLs to parse directly instead of/alongside query — either a query-string search or a /jobs/<location> URL
locationstringNoCity or region, e.g. "wien", "graz", "salzburg"
radiusstringNoSearch radius in km: 0, 10, 20, 30, 50
remoteOnlybooleanNofalseOnly return jobs with a home-office option
maxResultsintegerNo25Maximum total results (0 = unlimited, capped at 5000)
includeDetailsbooleanNotrueFetch full details (description, structured salary, apply URL) per job
descriptionFormatstringNoallall, text, html, or markdown
descriptionMaxLengthintegerNo0Truncate description to N characters (0 = no truncation)
compactbooleanNofalseCore fields only, for AI-agent/MCP workflows
excludeEmptyFieldsbooleanNofalseDrop null/empty fields from each record before push
incrementalModebooleanNofalseOnly emit new/changed jobs since the last run with this stateKey
stateKeystringNoauto-derivedStable identifier for the tracked search; auto-derived from your search inputs if left empty
skipRepostsbooleanNofalseExclude listings detected as reposts of previously seen jobs
emitUnchanged / emitExpiredbooleanNofalseAlso emit UNCHANGED / EXPIRED listings in incremental mode
telegramToken / telegramChatIdstringNoTelegram bot alerts
discordWebhookUrlstringNoDiscord webhook alerts
slackWebhookUrlstringNoSlack webhook alerts
whatsappPhoneNumberId / whatsappAccessToken / whatsappTostringNoWhatsApp Cloud API alerts
webhookUrl / webhookHeadersstring / objectNoGeneric webhook receiving the full job payload + run metadata
notificationLimitintegerNo5Max jobs listed per notification message (1–20)
notifyOnlyChangesbooleanNofalseWith Incremental Mode, only notify on NEW/CHANGED/REAPPEARED jobs
appConnector / mcpIssueTeamstringNoSend a run summary to a connected app (e.g. Notion) via Apify integrations

Output example

{
"jobId": "10010591",
"title": "IT-Support (m/w/d)",
"company": "Aichelin GesmbH",
"companySlug": "aichelin",
"companyUrl": "http://www.aichelin.at",
"companyEmployees": "51 - 100",
"companyLogoUrl": "https://kcdn.at/company/8281/3387884/aichelin-ifs-logo-farbig-ppt_web.companysquare.png",
"location": "Mödling",
"addressRegion": "Niederösterreich",
"isRemote": true,
"salaryText": "ab 3.396,21 € monatlich",
"salaryMin": 3396.21,
"salaryCurrency": "EUR",
"salaryPeriod": "MONTH",
"employmentType": "Vollzeit",
"jobLevel": "Berufserfahrung",
"description": "<p>Als Technologieführer mit hoher Wärmebehandlungskompetenz haben wir uns...</p>",
"url": "https://www.karriere.at/jobs/10010591",
"applyUrl": "https://bewerben.karriere.at/9dKs2qV3",
"directApply": true,
"postedDate": "2026-03-29T00:00:00+01:00",
"portalUrl": "https://www.karriere.at",
"scrapedAt": "2026-04-04T10:59:55.809Z",
"source": "karriere.at"
}

Download results as JSON, CSV, Excel, HTML, or XML directly from the Apify Console, or fetch them via the Apify API / dataset endpoint.

Use cases

  • Job board aggregation — feed a niche job board, newsletter, or Slack/Discord bot with fresh Austrian listings filtered by keyword and location.
  • Job alerts — pair incrementalMode with a schedule and Telegram/Slack/Discord notifications to get pinged the moment a matching role goes live.
  • Talent sourcing pipelines — pair webhookUrl with your ATS or CRM to ingest new roles automatically.
  • Salary benchmarking — collect structured compensation data by role, location, and employment type across the Austrian market.
  • Market research — track which companies are hiring, where, and how listing volume shifts over time for a given keyword or region.

How to scrape karriere.at jobs

  1. Set your search — enter a Search Term, a Location (e.g. "wien"), or paste a karriere.at search URL into Start URLs.
  2. Choose filters — set a Radius, toggle Remote Only, and set Max Results.
  3. Choose output shape — toggle Include Full Details, pick a Description Format, and enable Compact Output if you're feeding an LLM.
  4. (Optional) track changes — turn on Incremental Mode to only get new/changed jobs on repeat runs, and connect a notification channel to get alerted automatically.
  5. Run the actor — click Start in the Apify Console, or trigger it via the API or on a schedule.
  6. Get your data — download the dataset as JSON/CSV/Excel, pull it via the API, or have it delivered straight to your notification channels.

How much does it cost to scrape karriere.at?

This actor uses Pay-Per-Event (PPE) pricing — you're charged per job listing extracted, not per compute unit.

EventPrice per eventPrice per 1,000
job-scraped (Free plan)$0.00099$0.99
job-scraped (Bronze / Silver / Gold plans)$0.00089$0.89

A run collecting 500 jobs costs roughly $0.45–$0.50 depending on your Apify plan. All Apify accounts include a free trial with credits to try the actor before committing to a paid plan.

FAQ

Why are some salaryMin/salaryMax fields null? Not every karriere.at listing discloses a salary range (Austrian law only requires a minimum for the specific collective-bargaining agreement to be shown). When compensation data isn't published, the salary fields are returned as null.

What's the difference between postedDate and postedDateRelative? postedDate is an ISO 8601 timestamp available only when includeDetails is on. postedDateRelative is karriere.at's own relative label (e.g. "vor 5 Tagen veröffentlicht") and is always available, even without full details.

How does repost detection work? skipReposts fingerprints each job by its normalized title, company, and location. If a new job ID appears with the same fingerprint as one you've already seen (tracked via stateKey), it's treated as a repost and excluded.

Can I run this on a schedule and only get new jobs? Yes — turn on incrementalMode, set a stateKey (or let it auto-derive from your search), and each run will tag jobs as NEW, CHANGED, UNCHANGED, REAPPEARED, or EXPIRED against the previous run.

Does this actor support scheduling and integrations? Yes. Use Apify Schedules to run it daily or weekly, connect it to Zapier, Make, or Slack, or call it through the Apify API from your own backend.

What are the limitations of this actor? ⚠️

  • maxResults is capped at 5000 per run
  • Job-detail URLs (/jobs/<id>/<slug>) pasted into Start URLs aren't supported yet — use Search Term to find a job via search instead
  • Results reflect karriere.at's public listings only

Yes. This actor only accesses publicly available job listings that karriere.at and its customers have made visible for the purpose of recruitment. It does not bypass login walls, access private accounts, or collect personal data about individuals. Scraping publicly available data is generally considered legal — see Apify's overview of web scraping legality for more detail. Users are responsible for ensuring their use of the collected data complies with applicable laws and karriere.at's Terms of Service.

Python and JavaScript usage

Python (apify-client):

from apify_client import ApifyClient
client = ApifyClient("<YOUR_API_TOKEN>")
run_input = {
"query": "software engineer",
"location": "wien",
"maxResults": 50,
"includeDetails": True,
}
run = client.actor("parsebird/karriere-at-jobs-scraper").call(run_input=run_input)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item["title"], item["company"])

JavaScript (apify-client):

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: '<YOUR_API_TOKEN>' });
const input = {
query: 'software engineer',
location: 'wien',
maxResults: 50,
includeDetails: true,
};
const run = await client.actor('parsebird/karriere-at-jobs-scraper').call(input);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Browse the full catalog on the ParseBird Apify Store page.