# Kununu Jobs Scraper ($0.30/1k results) (`thescrappa/kununu-jobs-scraper`) Actor

Search Kununu job listings across Germany, Austria, and Switzerland by query, location, company score, workplace model, benefits, and Top Company status.

- **URL**: https://apify.com/thescrappa/kununu-jobs-scraper.md
- **Developed by:** [Scrappa](https://apify.com/thescrappa) (community)
- **Categories:** Lead generation, Marketing, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$0.30 / 1,000 kununu job results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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

## 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

## Kununu Jobs Scraper

Search Kununu job listings across Germany, Austria, and Switzerland with Scrappa. This actor is built for DACH hiring-market research, employer-brand monitoring, and sourcing workflows where company quality signals matter alongside job search filters.

Use it to find Kununu jobs by query, city, country, company score, workplace model, benefits, employment type, career level, industry, discipline, and Top Company badge status.

### Pricing

This actor is intended to run on usage-aligned paid pricing at $0.30 per 1,000 saved job results. The actor writes one dataset item per Kununu job listing, so billing maps directly to successful result volume.

### Input Examples

Berlin software engineering jobs:

```json
{
  "query": "Software Engineer",
  "location": "Berlin",
  "country": "de",
  "page": 1,
  "max_pages": 2
}
````

Remote and hybrid DACH jobs with strong company scores:

```json
{
  "query": "Product Manager",
  "location": "Munich",
  "country": "de",
  "radius": 100,
  "workplace": ["FULL_REMOTE", "PARTLY_REMOTE"],
  "kununu_score": ["4-5", "3-4"],
  "sort": "kununuScore",
  "max_pages": 3
}
```

Top Company employers with selected benefits:

```json
{
  "query": "Data Analyst",
  "location": "Vienna",
  "country": "at",
  "is_top_company": true,
  "benefits": ["flexWorkingHours", "pensionPlan", "healthProgram"]
}
```

Supported countries are `de`, `at`, and `ch`. Kununu returns about 30 results per page. Use `page` as the first page and `max_pages` to fetch consecutive pages in one run.

### Output

Each dataset item is one Kununu job listing. The actor preserves Scrappa job fields and adds table-friendly aliases for common marketplace columns:

```json
{
  "id": "123456",
  "title": "Senior Software Engineer (m/w/d)",
  "job_url": "https://www.kununu.com/de/example/jobs/senior-software-engineer-123456",
  "company": {
    "name": "Example GmbH",
    "slug": "example",
    "url": "https://www.kununu.com/de/example",
    "kununu_score": 4.3,
    "is_top_company": true
  },
  "company_name": "Example GmbH",
  "company_slug": "example",
  "company_url": "https://www.kununu.com/de/example",
  "company_score": 4.3,
  "company_is_top_company": true,
  "location": {
    "formatted": "Berlin",
    "city": "Berlin",
    "country": "DE"
  },
  "location_formatted": "Berlin",
  "location_city": "Berlin",
  "location_country": "DE",
  "workplace": "PARTLY_REMOTE",
  "employment_type": "FULL_TIME",
  "career_level": "3",
  "benefits": ["flexWorkingHours", "pensionPlan"],
  "date_posted": "2026-07-01"
}
```

The key-value store `OUTPUT` record contains the request, page count, saved job count, and compact per-page metadata including pagination when Scrappa provides it.

# Actor input Schema

## `query` (type: `string`):

Job title or keyword, for example Software Engineer, Product Manager, Pflegefachkraft, or Sales.

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

City or location name. Pass a plain city name such as Berlin, Munich, Vienna, Zurich, or Hamburg.

## `country` (type: `string`):

Kununu country market.

## `page` (type: `integer`):

First Kununu result page to fetch. Kununu returns about 30 results per page.

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

Number of consecutive Kununu result pages to fetch in one run.

## `radius` (type: `integer`):

Search radius in kilometers around the selected location. Allowed values: 10, 20, 30, 50, 100, or 200.

## `sort` (type: `string`):

Sort by newest listings or by Kununu company score. Leave empty for Kununu relevance order.

## `workplace` (type: `array`):

Filter jobs by remote, hybrid, or on-site workplace model.

## `employment_types` (type: `array`):

Filter by employment type.

## `career_level` (type: `array`):

Filter by career level. Values follow Kununu's career-level IDs.

## `kununu_score` (type: `array`):

Filter by company score range.

## `industry` (type: `array`):

Kununu industry IDs from 1 to 44.

## `discipline` (type: `array`):

Kununu discipline or field-of-activity IDs from 1001 to 1022.

## `benefits` (type: `array`):

Filter jobs by employer benefits.

## `is_top_company` (type: `boolean`):

Only return employers with Kununu Top Company status.

## `include_raw_job` (type: `boolean`):

Move unmapped Scrappa job fields into raw\_job instead of spreading them at the top level. Mapped fields remain at the top level.

## Actor input object example

```json
{
  "query": "Software Engineer",
  "location": "Berlin",
  "country": "de",
  "page": 1,
  "max_pages": 1,
  "sort": "",
  "is_top_company": false,
  "include_raw_job": false
}
```

# 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 = {
    "query": "Software Engineer",
    "location": "Berlin"
};

// Run the Actor and wait for it to finish
const run = await client.actor("thescrappa/kununu-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 = {
    "query": "Software Engineer",
    "location": "Berlin",
}

# Run the Actor and wait for it to finish
run = client.actor("thescrappa/kununu-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 '{
  "query": "Software Engineer",
  "location": "Berlin"
}' |
apify call thescrappa/kununu-jobs-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Kununu Jobs Scraper ($0.30/1k results)",
        "description": "Search Kununu job listings across Germany, Austria, and Switzerland by query, location, company score, workplace model, benefits, and Top Company status.",
        "version": "1.0",
        "x-build-id": "b3khHKeNpW9RfNXVc"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/thescrappa~kununu-jobs-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-thescrappa-kununu-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/thescrappa~kununu-jobs-scraper/runs": {
            "post": {
                "operationId": "runs-sync-thescrappa-kununu-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/thescrappa~kununu-jobs-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-thescrappa-kununu-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": {
                    "query": {
                        "title": "Job Search Query",
                        "maxLength": 120,
                        "type": "string",
                        "description": "Job title or keyword, for example Software Engineer, Product Manager, Pflegefachkraft, or Sales."
                    },
                    "location": {
                        "title": "Location",
                        "maxLength": 120,
                        "type": "string",
                        "description": "City or location name. Pass a plain city name such as Berlin, Munich, Vienna, Zurich, or Hamburg."
                    },
                    "country": {
                        "title": "Country",
                        "enum": [
                            "de",
                            "at",
                            "ch"
                        ],
                        "type": "string",
                        "description": "Kununu country market.",
                        "default": "de"
                    },
                    "page": {
                        "title": "Page",
                        "minimum": 1,
                        "maximum": 100,
                        "type": "integer",
                        "description": "First Kununu result page to fetch. Kununu returns about 30 results per page.",
                        "default": 1
                    },
                    "max_pages": {
                        "title": "Max Pages",
                        "minimum": 1,
                        "maximum": 10,
                        "type": "integer",
                        "description": "Number of consecutive Kununu result pages to fetch in one run.",
                        "default": 1
                    },
                    "radius": {
                        "title": "Radius",
                        "minimum": 10,
                        "maximum": 200,
                        "type": "integer",
                        "description": "Search radius in kilometers around the selected location. Allowed values: 10, 20, 30, 50, 100, or 200."
                    },
                    "sort": {
                        "title": "Sort",
                        "enum": [
                            "",
                            "newest",
                            "kununuScore"
                        ],
                        "type": "string",
                        "description": "Sort by newest listings or by Kununu company score. Leave empty for Kununu relevance order.",
                        "default": ""
                    },
                    "workplace": {
                        "title": "Workplace Model",
                        "type": "array",
                        "description": "Filter jobs by remote, hybrid, or on-site workplace model.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "FULL_REMOTE",
                                "PARTLY_REMOTE",
                                "NON_REMOTE"
                            ],
                            "enumTitles": [
                                "Remote",
                                "Hybrid",
                                "On-site"
                            ]
                        }
                    },
                    "employment_types": {
                        "title": "Employment Types",
                        "type": "array",
                        "description": "Filter by employment type.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "FULL_TIME",
                                "PART_TIME",
                                "INTERN",
                                "TEMPORARY",
                                "CONTRACTOR",
                                "SEASONAL",
                                "VOLUNTARY"
                            ],
                            "enumTitles": [
                                "Full-time",
                                "Part-time",
                                "Internship",
                                "Temporary",
                                "Contractor",
                                "Seasonal",
                                "Voluntary"
                            ]
                        }
                    },
                    "career_level": {
                        "title": "Career Level",
                        "type": "array",
                        "description": "Filter by career level. Values follow Kununu's career-level IDs.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "1",
                                "2",
                                "3",
                                "4",
                                "5",
                                "6",
                                "99"
                            ],
                            "enumTitles": [
                                "Student or intern",
                                "Entry-level",
                                "Experienced",
                                "Manager",
                                "Director",
                                "Executive",
                                "Apprentice"
                            ]
                        }
                    },
                    "kununu_score": {
                        "title": "Kununu Score",
                        "type": "array",
                        "description": "Filter by company score range.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "4-5",
                                "3-4",
                                "2-3",
                                "1-2"
                            ],
                            "enumTitles": [
                                "4 to 5",
                                "3 to 4",
                                "2 to 3",
                                "1 to 2"
                            ]
                        }
                    },
                    "industry": {
                        "title": "Industry IDs",
                        "maxItems": 10,
                        "type": "array",
                        "description": "Kununu industry IDs from 1 to 44.",
                        "items": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 44
                        }
                    },
                    "discipline": {
                        "title": "Discipline IDs",
                        "maxItems": 10,
                        "type": "array",
                        "description": "Kununu discipline or field-of-activity IDs from 1001 to 1022.",
                        "items": {
                            "type": "integer",
                            "minimum": 1001,
                            "maximum": 1022
                        }
                    },
                    "benefits": {
                        "title": "Benefits",
                        "type": "array",
                        "description": "Filter jobs by employer benefits.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "flexWorkingHours",
                                "pensionPlan",
                                "coaching",
                                "mobilePhone",
                                "internet",
                                "healthProgram",
                                "reachability",
                                "events",
                                "discounts",
                                "parking",
                                "car",
                                "meals",
                                "dogs",
                                "daycare",
                                "cantine",
                                "stockOptions",
                                "doctor",
                                "accessibility",
                                "material",
                                "clothes",
                                "transportation"
                            ],
                            "enumTitles": [
                                "Flexible working hours",
                                "Pension plan",
                                "Coaching",
                                "Mobile phone",
                                "Internet",
                                "Health program",
                                "Good reachability",
                                "Employee events",
                                "Employee discounts",
                                "Parking",
                                "Company car",
                                "Meals",
                                "Dogs allowed",
                                "Daycare",
                                "Canteen",
                                "Stock options",
                                "Company doctor",
                                "Accessibility",
                                "Work equipment",
                                "Work clothes",
                                "Transportation"
                            ]
                        }
                    },
                    "is_top_company": {
                        "title": "Top Company Only",
                        "type": "boolean",
                        "description": "Only return employers with Kununu Top Company status.",
                        "default": false
                    },
                    "include_raw_job": {
                        "title": "Include Raw Job",
                        "type": "boolean",
                        "description": "Move unmapped Scrappa job fields into raw_job instead of spreading them at the top level. Mapped fields remain at the top level.",
                        "default": 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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
