# Karriere.at Jobs Scraper (`shahidirfan/karriere-at-jobs-scraper`) Actor

Extract job listings from Austria's leading job board. Scrape Karriere.at for titles, companies, salaries & requirements. Perfect for job market analysis, recruitment automation & competitive intelligence. Fast, reliable data extraction.

- **URL**: https://apify.com/shahidirfan/karriere-at-jobs-scraper.md
- **Developed by:** [Shahid Irfan](https://apify.com/shahidirfan) (community)
- **Categories:** Jobs, Automation, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per usage

This Actor is paid per platform usage. The Actor is free to use, and you only pay for the Apify platform usage, which gets cheaper the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-usage

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## Karriere.at Jobs Scraper

Extract job listings from Karriere.at with titles, companies, locations, salary details, employment types, and optional full descriptions. This actor is built for recruiting research, market monitoring, job data pipelines, and lead generation workflows that need clean structured output.

---

### Features

- **Keyword and location search** — Collect jobs by keyword, location, or both.
- **Direct URL input** — Start from a Karriere.at search URL when you already have the exact filtered search page.
- **Real pagination support** — Continues through additional result pages until the requested number of jobs is collected.
- **Optional detail enrichment** — Adds full descriptions and extra structured job fields when enabled.
- **Clean dataset output** — Omits empty and null values from dataset items.

---

### Use Cases

#### Recruitment Research

Track openings for specific roles and cities to understand demand, salary trends, and employer activity.

#### Market Intelligence

Monitor hiring activity across companies and regions to detect growth patterns and changing labor demand.

#### Job Data Pipelines

Export structured job data into dashboards, spreadsheets, databases, and downstream automation flows.

#### Sales Prospecting

Identify companies actively hiring relevant roles and build targeted lead lists for outreach.

---

### Input Parameters

| Parameter            | Type    | Required | Default             | Description                                                |
| -------------------- | ------- | -------- | ------------------- | ---------------------------------------------------------- |
| `startUrl`           | String  | No       | —                   | Karriere.at search URL to start from                       |
| `url`                | String  | No       | —                   | Alternative search URL input used when `startUrl` is empty |
| `keyword`            | String  | No       | `software engineer` | Search keyword for jobs                                    |
| `location`           | String  | No       | `Wien`              | Location filter for jobs                                   |
| `collectDetails`     | Boolean | No       | `true`              | Enrich items with full job description and extra details   |
| `results_wanted`     | Integer | No       | `20`                | Maximum number of jobs to collect                          |
| `max_pages`          | Integer | No       | `10`                | Safety cap on pages to visit                               |
| `proxyConfiguration` | Object  | No       | optional            | Proxy settings for more reliable collection                |

---

### Output Data

Each dataset item can contain:

| Field                | Type    | Description                           |
| -------------------- | ------- | ------------------------------------- |
| `id`                 | String  | Karriere.at job ID                    |
| `url`                | String  | Job detail URL                        |
| `title`              | String  | Job title                             |
| `company`            | String  | Company name                          |
| `company_id`         | String  | Company identifier                    |
| `company_slug`       | String  | Company slug                          |
| `company_url`        | String  | Company profile URL                   |
| `company_logo_url`   | String  | Company logo URL                      |
| `company_employees`  | String  | Reported employee range               |
| `company_location`   | String  | Main company location                 |
| `company_website`    | String  | Company website when available        |
| `location`           | String  | Primary location                      |
| `locations`          | Array   | All extracted locations               |
| `location_slugs`     | Array   | Extracted location slugs              |
| `salary`             | String  | Human-readable salary text            |
| `salary_min`         | Number  | Numeric salary minimum when available |
| `salary_currency`    | String  | Salary currency                       |
| `salary_period`      | String  | Salary period such as month or year   |
| `employment_types`   | Array   | Employment types for the role         |
| `date_posted`        | String  | Relative publication text             |
| `posted_at`          | String  | Structured posting timestamp          |
| `is_home_office`     | Boolean | Whether home office is signaled       |
| `is_active`          | Boolean | Whether the listing is active         |
| `is_smart_apply_job` | Boolean | Whether the job supports Smart Apply  |
| `is_direct_apply`    | Boolean | Whether direct apply is available     |
| `description_html`   | String  | Full description in HTML              |
| `description_text`   | String  | Plain-text description                |
| `snippet`            | String  | Listing snippet                       |
| `source`             | String  | Source platform name                  |

---

### Usage Examples

#### Basic Keyword Search

```json
{
    "keyword": "software engineer",
    "location": "Wien",
    "results_wanted": 20
}
````

#### Search By URL

```json
{
    "url": "https://www.karriere.at/jobs?keywords=data&locations=graz",
    "results_wanted": 30,
    "max_pages": 5
}
```

#### Listing-Only Collection

```json
{
    "keyword": "marketing",
    "location": "Linz",
    "collectDetails": false,
    "results_wanted": 15
}
```

***

### Sample Output

```json
{
    "id": "10010845",
    "url": "https://www.karriere.at/jobs/10010845",
    "title": "Junior Software Support & Application Engineer",
    "company": "RailNetEurope",
    "company_id": "119456",
    "location": "Wien",
    "salary": "ab 47.000 € jährlich",
    "salary_min": 47000,
    "salary_currency": "EUR",
    "employment_types": ["Full Time"],
    "date_posted": "30.3.2026",
    "posted_at": "2026-03-30T00:00:00+02:00",
    "description_text": "RailNetEurope (RNE) is an association of European Infrastructure Managers...",
    "source": "karriere.at"
}
```

***

### Tips for Best Results

#### Use Specific Searches

Use focused keywords and locations to reduce noise and get more relevant results.

#### Start Small First

Test with `results_wanted: 20` before increasing volume for production runs.

#### Use URL Input For Exact Filters

If you already have a Karriere.at search page with the right filters applied, pass it through `startUrl` or `url`.

#### Disable Details For Faster Runs

Set `collectDetails` to `false` when you only need listing-level data.

***

### Proxy Configuration

```json
{
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": ["RESIDENTIAL"]
    }
}
```

***

### Integrations

- **Google Sheets** — Export job data for analysis
- **Airtable** — Build searchable hiring databases
- **Slack** — Send run notifications to your team
- **Webhooks** — Forward results to your own endpoints
- **Make** — Automate enrichment and delivery workflows
- **Zapier** — Connect job datasets to other business tools

#### Export Formats

- **JSON** — For APIs and developers
- **CSV** — For spreadsheets and BI tools
- **Excel** — For business reporting
- **XML** — For custom integrations

***

### Frequently Asked Questions

#### Can I use a search URL instead of keywords?

Yes. You can provide `startUrl` or `url` and the actor will use that search page directly.

#### Does the actor collect more than the first page?

Yes. The actor follows the site pagination flow and keeps loading more pages until it reaches `results_wanted`, `max_pages`, or no more pages are available.

#### Can I collect only listing data?

Yes. Set `collectDetails` to `false` if you do not need full descriptions.

#### Why are some fields missing from certain items?

Some jobs do not expose every field. Empty and null values are omitted from the final dataset.

#### Will user-provided input override defaults?

Yes. Runtime input always takes priority over defaults and prefill values.

***

### Support

If you encounter issues or want a feature improvement, use the support channel for your deployment environment or open an issue in the project repository.

#### Resources

- [Apify Documentation](https://docs.apify.com/)
- [Apify API Reference](https://docs.apify.com/api/v2)
- [Scheduling Runs](https://docs.apify.com/schedules)

***

### Legal Notice

This actor is intended for legitimate data collection and research. Users are responsible for ensuring their use complies with website terms of service and applicable laws. Respect privacy requirements, robots.txt where relevant, and reasonable rate limits when collecting data.

# Actor input Schema

## `startUrl` (type: `string`):

Start scraping from a specific Karriere.at search URL. If provided, it is used instead of keyword and location.

## `url` (type: `string`):

Alternative search URL field. If provided, it is used when Start URL is empty.

## `keyword` (type: `string`):

Keyword for the Karriere.at jobs search.

## `location` (type: `string`):

Location for the Karriere.at jobs search.

## `collectDetails` (type: `boolean`):

If enabled, the actor enriches each listing with full job details and description.

## `results_wanted` (type: `integer`):

The maximum number of jobs to collect.

## `max_pages` (type: `integer`):

A safety cap on the number of search result pages to visit.

## `proxyConfiguration` (type: `object`):

Use Apify Proxy for more reliable extraction.

## Actor input object example

```json
{
  "keyword": "software engineer",
  "location": "Wien",
  "collectDetails": true,
  "results_wanted": 20,
  "max_pages": 10,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

## `overview` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "keyword": "software engineer",
    "location": "Wien",
    "results_wanted": 20,
    "max_pages": 10
};

// Run the Actor and wait for it to finish
const run = await client.actor("shahidirfan/karriere-at-jobs-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "keyword": "software engineer",
    "location": "Wien",
    "results_wanted": 20,
    "max_pages": 10,
}

# Run the Actor and wait for it to finish
run = client.actor("shahidirfan/karriere-at-jobs-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "keyword": "software engineer",
  "location": "Wien",
  "results_wanted": 20,
  "max_pages": 10
}' |
apify call shahidirfan/karriere-at-jobs-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=shahidirfan/karriere-at-jobs-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Karriere.at Jobs Scraper",
        "description": "Extract job listings from Austria's leading job board. Scrape Karriere.at for titles, companies, salaries & requirements. Perfect for job market analysis, recruitment automation & competitive intelligence. Fast, reliable data extraction.",
        "version": "1.0",
        "x-build-id": "Ud0vXlv2sHCIioGdd"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/shahidirfan~karriere-at-jobs-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-shahidirfan-karriere-at-jobs-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/shahidirfan~karriere-at-jobs-scraper/runs": {
            "post": {
                "operationId": "runs-sync-shahidirfan-karriere-at-jobs-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/shahidirfan~karriere-at-jobs-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-shahidirfan-karriere-at-jobs-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "startUrl": {
                        "title": "Start URL",
                        "type": "string",
                        "description": "Start scraping from a specific Karriere.at search URL. If provided, it is used instead of keyword and location."
                    },
                    "url": {
                        "title": "URL",
                        "type": "string",
                        "description": "Alternative search URL field. If provided, it is used when Start URL is empty."
                    },
                    "keyword": {
                        "title": "Keyword",
                        "type": "string",
                        "description": "Keyword for the Karriere.at jobs search."
                    },
                    "location": {
                        "title": "Location",
                        "type": "string",
                        "description": "Location for the Karriere.at jobs search."
                    },
                    "collectDetails": {
                        "title": "Collect job details",
                        "type": "boolean",
                        "description": "If enabled, the actor enriches each listing with full job details and description.",
                        "default": true
                    },
                    "results_wanted": {
                        "title": "Maximum number of jobs",
                        "minimum": 1,
                        "type": "integer",
                        "description": "The maximum number of jobs to collect.",
                        "default": 20
                    },
                    "max_pages": {
                        "title": "Maximum number of pages",
                        "minimum": 1,
                        "type": "integer",
                        "description": "A safety cap on the number of search result pages to visit.",
                        "default": 10
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Use Apify Proxy for more reliable extraction.",
                        "default": {
                            "useApifyProxy": false
                        }
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
