Kununu Reviews Scraper | Employee Ratings and Interviews avatar

Kununu Reviews Scraper | Employee Ratings and Interviews

Pricing

from $14.96 / 1,000 reviews

Go to Apify Store
Kununu Reviews Scraper | Employee Ratings and Interviews

Kununu Reviews Scraper | Employee Ratings and Interviews

Kununu reviews scraper for Germany, Austria and Switzerland: export employee and candidate reviews with overall and category scores, pros, cons, employer replies, interview questions and company stats. 20 reviews in 6 seconds, 42 fields each. Start from a link, slug or company name, no account.

Pricing

from $14.96 / 1,000 reviews

Rating

0.0

(0)

Developer

SilentFlow

SilentFlow

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Categories

Security

Limited permissions

Share

Kununu Reviews Scraper | Employee Ratings, Interview Questions and Employer Replies (2026)

Kununu reviews, 42 fields each, from any URL.

From SilentFlow. Creators of Facebook Search Scraper and JD Products Scraper (#1 for โ€œjd scraperโ€ in Apify Store search), with 890,000+ combined lifetime runs.

Turn kununu, the employer review site of Germany, Austria and Switzerland, into a spreadsheet: one row per review with its scores, pros, cons, employer reply and company stats. 20 Bosch reviews in 6 seconds from the prefilled form.

Why choose this actor?

Copying kununu reviews into Excel by hand, ten at a time? Need last quarter's reviews for your company and three competitors by Friday? Tried a scraper that only accepts one kind of input and stops at the first page?

  • Start from whatever you have: a link, a slug or a company name. Three separate inputs, each with its own field. Paste a kununu link (https://www.kununu.com/de/bosch-gruppe/kommentare), type a slug (sap, at/spar-oesterreichische-warenhandels-ag) or just a name (Deutsche Bahn). In our test run, 200 Deutsche Bahn reviews of the last 12 months came back in 48 seconds from the name alone.
  • Nothing to fill in before your first run. No field is required. The form opens prefilled with a Bosch Gruppe link, and even an empty input runs that example and tells you so. Press Start and you get 20 real reviews in 6 seconds.
  • One search box for three countries. Company names are matched with kununu's own company search across Germany, Austria and Switzerland, or in one country when you pick it. In one run, Siemens, Allianz, Deutsche Telekom and Lidl (Germany), Swisscom and Migros Bank (Switzerland) and Red Bull (Austria) were each matched to their kununu profile.

Try Kununu Reviews Scraper free

Try your first 20 reviews

Paste this input in the JSON tab of the Input page and press Start. It reads the 20 newest employee reviews of Bosch Gruppe on kununu Germany.

{
"startUrls": ["https://www.kununu.com/de/bosch-gruppe/kommentare"],
"maxReviewsPerCompany": 20
}

It runs on the Apify Free plan. Each review becomes one row of your dataset: open the Output tab to see the "Reviews" table with the title, company, score, pros, cons, role, date and link, switch to "Category ratings" for the 13 employee scores side by side, or to "Candidate reviews" for applications and interview questions. Export the rows as JSON, CSV or Excel, or pull them from the API into your own tools.

How it works

Copy to your AI assistant

Paste this block into Claude, ChatGPT or Cursor to give it full context about this scraper:

You have access to the Kununu Reviews Scraper on Apify: silentflow/kununu-reviews-scraper
It reads public kununu.com reviews (Germany, Austria, Switzerland). One dataset row = one review.
Input (no field is required; give at least one company, otherwise a Bosch example runs):
- startUrls (array of strings): kununu company links, any tab: /de/<slug>, /de/<slug>/kommentare (employee reviews), /de/<slug>/bewerbung (candidate reviews). Countries de, at, ch.
- companySlugs (array of strings): "bosch-gruppe", "sap", or with a country "at/spar-oesterreichische-warenhandels-ag". A slug without a country is looked up in de, then at and ch.
- searchQueries (array of strings): company names, matched with kununu's company search ("Deutsche Bahn").
- maxReviewsPerCompany (integer, default 100): cap per company and review type.
- maxItems (integer, default 1000): cap for the whole run.
- reviewType (string, default "employees"): "employees", "candidates" or "all".
- sortBy (string, default "newest"): "newest", "oldest", "best" or "worst".
- postedWithin (string, default "any"): "any", "30days", "6months", "12months", "24months".
- country (string, optional): "de", "at" or "ch" for names and bare slugs; names like "Austria" or "ร–sterreich" also work.
- debugMode (boolean, default false).
Output per review (67 fields, null when kununu has no value):
- id (string, kununu review id), url (string, permanent link opening the review), reviewType ("employee" | "candidate"), title (string)
- text (string, every free text of the review), pros, cons, suggestions (strings), ratingComments (object: category -> comment), interviewQuestions (array of strings, candidates)
- position, department, jobStatus ("current" | "former"), leftIn (integer year), isRecommended (boolean), apprenticeshipJob (string)
- appliedPosition (string), applicationYear (integer), applicationResult ("hired" | "rejected" | ...), candidates only
- score (number 1-5), ratingAtmosphere, ratingImage, ratingWorkLife, ratingCareer, ratingSalary, ratingEnvironment, ratingTeamwork, ratingOldColleagues, ratingLeadership, ratingWorkConditions, ratingCommunication, ratingEquality, ratingTasks (employees, numbers 1-5)
- ratingNextSteps, ratingProfessionalism, ratingReaction, ratingAppreciation, ratingInformation, ratingPredictability, ratingInterviewResponses, ratingInterviewResult, ratingInterviewAtmosphere, ratingResponsiveness (candidates, numbers 1-5), otherRatings (object)
- helpfulCount, agreeCount (integers)
- hasEmployerResponse (boolean), employerResponse (string), employerResponseAt (RFC 3339), employerResponderName (string)
- reviewedEntity (string, the site or subsidiary reviewed), city, state, countryCode (ISO, upper case), createdAt, updatedAt (RFC 3339 UTC)
- companyName, companySlug, companyId, companyUrl, companyScore, companyReviewsCount, companyRecommendationRate (percent), companyIndustryAverageScore, companyWebsite, companyLogoUrl
- scrapedAt (RFC 3339)
Use apify-client for Python or JavaScript: client.actor("silentflow/kununu-reviews-scraper").call(run_input=...).

How to scrape kununu reviews

Get the latest reviews of one employer

The simplest run: one link, the default order (newest first) and a cap.

{
"startUrls": ["https://www.kununu.com/de/siemens"],
"maxReviewsPerCompany": 50
}

A profile link, a /kommentare link or a link with ?uuid= all point at the same company. You get 50 rows, newest first, each with its category scores, texts and employer reply.

Compare several competitors by name

When you only know the company names, let kununu's search find the profiles. Set a country to stay in one market.

{
"searchQueries": ["Deutsche Telekom", "Vodafone", "Telefonica"],
"country": "de",
"postedWithin": "12months",
"maxReviewsPerCompany": 100
}

Each name reads the profile kununu suggests first for that name, and the log shows which one it picked. The date window keeps only reviews of the last 12 months, the same filter as on the site.

Pull candidate reviews and interview questions

Candidate reviews rate the hiring process and often list the questions asked in the interview. Read them alone, or set reviewType to all to get both kinds in one run.

{
"companySlugs": ["sap", "siemens"],
"reviewType": "candidates",
"sortBy": "newest",
"maxReviewsPerCompany": 50
}

Candidate rows fill appliedPosition, applicationYear, applicationResult, interviewQuestions and the ten hiring-process scores (ratingProfessionalism, ratingResponsiveness, ratingInterviewAtmosphere...).

Input parameters

ParameterTypeDefaultWhat it does
startUrlsarray of stringsBosch Gruppe link (prefill)kununu company links, any tab, Germany, Austria and Switzerland
companySlugsarray of stringsnoneCompany slugs, with or without a country (sap, at/red-bull-dach)
searchQueriesarray of stringsnoneCompany names, matched with kununu's company search
maxReviewsPerCompanyinteger100Cap per company and review type
maxItemsinteger1000Cap for the whole run, across every company
reviewTypestringemployeesemployees, candidates or all
sortBystringnewestnewest, oldest, best or worst: which reviews come first when you ask for fewer than the company has
postedWithinstringany30days, 6months, 12months or 24months
countrystringnonede, at or ch for names and bare slugs
debugModebooleanfalseDetailed progress lines in the log

Accepted formats

  • Links: https://www.kununu.com/de/bosch-gruppe, https://www.kununu.com/de/bosch-gruppe/kommentare, https://www.kununu.com/at/red-bull-dach/bewerbung, kununu.com/ch/swisscom (with or without https:// and www, with or without a trailing slash or query). A /bewerbung link reads candidate reviews unless reviewType is all.
  • Slugs: the part of the link after the country, bosch-gruppe, or with its country, at/spar-oesterreichische-warenhandels-ag. A bare slug is looked up in Germany first, then Austria and Switzerland, unless you set country.
  • Names: anything you would type in the kununu search box: Deutsche Bahn, Lidl, Red Bull.
  • Country: a code (de, AT), a three-letter code (che) or a name in English or German (Germany, ร–sterreich, Schweiz).
  • Lists also accept a single comma-separated text ("SAP, Siemens"), and numbers typed as text ("50") are read as numbers.

What data can you extract from kununu?

Every row is one review, flat and ready for a spreadsheet. 67 fields per row, grouped in the same order every time:

  • Identity (4): id, url, reviewType, title. The id is kununu's own review id and never changes; the url opens the company's review list on that exact review and stays valid as long as the review is online.
  • Content (6): text (every free text of the review in one field, ready for an LLM or a sentiment model), pros, cons, suggestions, ratingComments (the comment left on each category, keyed by category) and interviewQuestions for candidates.
  • Reviewer (9): position (employee, manager, apprentice, student, intern, contractor, freelancer), department, jobStatus (current or former), leftIn (the year a former employee left, when given), isRecommended, apprenticeshipJob, and for candidates appliedPosition, applicationYear and applicationResult (hired, rejected...).
  • Scores (25): the overall score (1 to 5), the 13 employee categories as their own columns (ratingAtmosphere, ratingImage, ratingWorkLife, ratingCareer, ratingSalary, ratingEnvironment, ratingTeamwork, ratingOldColleagues, ratingLeadership, ratingWorkConditions, ratingCommunication, ratingEquality, ratingTasks), the 10 candidate-process categories, and otherRatings for the categories kununu asks apprentices about.
  • Reactions (2): helpfulCount and agreeCount, the votes other readers gave the review.
  • Employer reply (4): hasEmployerResponse, employerResponse (plain text, line breaks kept), employerResponseAt and employerResponderName (for example "Bosch Karriere Team").
  • Place and time (6): reviewedEntity (the site or subsidiary the reviewer worked for, like "Robert Bosch GmbH Waiblingen Kunststofftechnik"), city, state, countryCode, createdAt and updatedAt, in RFC 3339 UTC.
  • Company (10): companyName, companySlug, companyId, companyUrl, companyScore, companyReviewsCount, companyRecommendationRate, companyIndustryAverageScore, companyWebsite and companyLogoUrl, the same on every row of a company so each row stands on its own in a pivot table.
  • Meta (1): scrapedAt.

On the default Bosch run, 40 fields were filled on at least half of the rows: every employee category score, the company block, the place and the reviewer fields. Texts depend on the reviewer: on that run, 35 % of the newest reviews carried pros. In a run over Bosch's reviews of the last six months, 7 of 30 had an employer reply.

Output example

A real row from the Bosch Gruppe run of 3 November 2026:

{
"id": "095dbd3d-fdf0-4c38-9395-82c6e434bd2a",
"url": "https://www.kununu.com/de/bosch-gruppe/kommentare?uuid=095dbd3d-fdf0-4c38-9395-82c6e434bd2a",
"reviewType": "employee",
"title": "Bester Standort im GroรŸraum Stuttgart",
"text": "Umgang unter den Kollegen\n\nDas Management\n\nBessere Wertschรคtzung der Fachkrรคfte\n\nAuf Arbeitsebene, okay\n\nRuf ist besser als die Wirklichkeit\n\nPasst\n\nBei den langjรคhrigen Kollegen ist er groรŸ\n\nVon jรผngeren Fรผhrungskrรคfte nicht schรถn\n\nEnormer Wechsel, die quer aus anderen Bereichen kommen.\n\nViel blah blah und unnรถtige Infos und Umfragen\n\nDarauf wird geachtet\n\n... geht alles extrem umstรคndlich",
"pros": "Umgang unter den Kollegen",
"cons": "Das Management",
"suggestions": "Bessere Wertschรคtzung der Fachkrรคfte",
"ratingComments": {
"atmosphere": "Auf Arbeitsebene, okay",
"communication": "Viel blah blah und unnรถtige Infos und Umfragen",
"equality": "Darauf wird geachtet",
"image": "Ruf ist besser als die Wirklichkeit",
"leadership": "Enormer Wechsel, die quer aus anderen Bereichen kommen.",
"oldColleagues": "Von jรผngeren Fรผhrungskrรคfte nicht schรถn",
"tasks": "... geht alles extrem umstรคndlich",
"teamwork": "Bei den langjรคhrigen Kollegen ist er groรŸ",
"workLife": "Passt"
},
"interviewQuestions": null,
"position": "employee",
"department": "procurement",
"jobStatus": "current",
"leftIn": null,
"isRecommended": false,
"apprenticeshipJob": null,
"appliedPosition": null,
"applicationYear": null,
"applicationResult": null,
"score": 3.2,
"ratingAtmosphere": 3,
"ratingImage": 3,
"ratingWorkLife": 4,
"ratingCareer": 3,
"ratingSalary": 5,
"ratingEnvironment": 3,
"ratingTeamwork": 4,
"ratingOldColleagues": 3,
"ratingLeadership": 1,
"ratingWorkConditions": 3,
"ratingCommunication": 2,
"ratingEquality": 5,
"ratingTasks": 2,
"ratingNextSteps": null,
"ratingProfessionalism": null,
"ratingReaction": null,
"ratingAppreciation": null,
"ratingInformation": null,
"ratingPredictability": null,
"ratingInterviewResponses": null,
"ratingInterviewResult": null,
"ratingInterviewAtmosphere": null,
"ratingResponsiveness": null,
"otherRatings": null,
"helpfulCount": 0,
"agreeCount": 1,
"hasEmployerResponse": false,
"employerResponse": null,
"employerResponseAt": null,
"employerResponderName": null,
"reviewedEntity": "Robert Bosch GmbH Waiblingen Kunststofftechnik",
"city": "Waiblingen",
"state": "Baden-Wรผrttemberg",
"countryCode": "DE",
"createdAt": "2026-10-29T00:00:00Z",
"updatedAt": "2026-10-29T00:00:00Z",
"companyName": "Bosch Gruppe",
"companySlug": "bosch-gruppe",
"companyId": "39f1ca5c-8321-4d18-85d6-3924e3a43e65",
"companyUrl": "https://www.kununu.com/de/bosch-gruppe",
"companyScore": 4,
"companyReviewsCount": 8508,
"companyRecommendationRate": 76,
"companyIndustryAverageScore": 3.4,
"companyWebsite": "http://www.bosch.de",
"companyLogoUrl": "https://assets.kununu.com/media/prod/profiles/logos/39f1ca5c-8321-4d18-85d6-3924e3a43e65_1_6a58c9510f294.gif",
"scrapedAt": "2026-11-03T14:10:55Z"
}

Advanced usage

Track new reviews and replies every month

Schedule this input on the first day of each month (Schedules tab in Apify Console). The 30-day window keeps each run to what is new, so a monthly report never double counts.

{
"companySlugs": ["bosch-gruppe", "siemens", "sap"],
"postedWithin": "30days",
"maxReviewsPerCompany": 500
}

Sum hasEmployerResponse per company to see who answers their reviewers and how fast (employerResponseAt minus createdAt).

Read the worst reviews first for a culture audit

For due diligence or an employer-brand audit, start from the lowest scores. worst reads the subpar reviews first, then works its way up.

{
"searchQueries": ["Lidl", "Aldi Sรผd", "Rewe"],
"country": "de",
"sortBy": "worst",
"postedWithin": "24months",
"maxReviewsPerCompany": 100
}

Group the cons and ratingComments.leadership texts by company and feed them to an LLM to list the recurring complaints.

Benchmark category scores across a whole sector

Put the competitors of one sector in a single run and open the "Category ratings" view: the 13 employee scores sit side by side, one line per review.

{
"companySlugs": ["deutsche-telekom", "siemens", "allianzdeutschland", "lidl-deutschland"],
"maxReviewsPerCompany": 300,
"maxItems": 1200
}

Average ratingSalary, ratingWorkLife and ratingLeadership per companyName in a pivot table, and compare them with companyIndustryAverageScore.

Build an interview-question bank for one employer

Candidate reviews often list what applicants were asked. Read them for a whole group and keep the questions.

{
"startUrls": ["https://www.kununu.com/de/deutsche-bahn/bewerbung"],
"maxReviewsPerCompany": 300
}

Flatten interviewQuestions, filter by appliedPosition, and keep applicationResult next to each question to see what the hired candidates were asked.

Cover Germany, Austria and Switzerland in one run

Mix links, slugs and names from the three markets. Each row keeps its countryCode and companyUrl, so one dataset covers the whole DACH region.

{
"startUrls": ["https://www.kununu.com/ch/swisscom"],
"companySlugs": ["at/red-bull-dach", "at/spar-oesterreichische-warenhandels-ag"],
"searchQueries": ["Migros Bank"],
"reviewType": "all",
"maxReviewsPerCompany": 50
}

With reviewType set to all, each company is read twice: employee reviews first, then candidate reviews.

FAQ

What is kununu? kununu is the largest employer review platform of Germany, Austria and Switzerland, the DACH counterpart of Glassdoor. Employees rate their employer on 13 categories (atmosphere, salary, leadership, work-life balance...) and applicants rate the hiring process. It is part of New Work SE, the company behind XING.

Do I need a kununu account? No. The actor reads the reviews kununu shows publicly. You need no login, no API key and no account of any kind.

Can I get more than the 10 reviews kununu shows on its first page? Yes. A visitor without an account sees the first 10 reviews of each list; the actor reads the company's reviews well past them by combining kununu's own filters (year, score, status, reply...). In our test runs it returned 200 Deutsche Bahn reviews of the last 12 months in 48 seconds, and all 83 employee reviews of Bosch BKK. A small share of reviews can stay out of reach when kununu shows many identical-looking ones (same day, same score, same filters): on Bosch BKK's candidate reviews, 82 of 89 came back.

Which reviews come first when a company has thousands? sortBy decides. newest reads the latest reviews first and walks back year by year, oldest starts from the first reviews, best and worst start from the top or the bottom scores. The first 10 rows always follow kununu's own order exactly; after that the order holds year by year (or score band by score band).

Can I scrape several companies in one run? Yes. Put as many links, slugs and names as you like in the three lists. maxReviewsPerCompany caps each company and maxItems caps the whole run. A company given twice (a link and its slug) is read once.

Why are some fields empty? They are null when kununu has no value. Many reviews carry scores only, with no free text; candidate scores are empty on employee reviews and the other way round; leftIn is only set when a former employee gave the year; department is optional on kununu. Missing values are always null, never an empty string.

What language are the reviews in? The language the reviewer wrote in, almost always German. Field names and the actor's labels are in English. Translate text downstream if you need English.

How fresh is the data? Every run reads kununu live, at the time you run it. Nothing is cached, so a review posted this morning is in this afternoon's run.

Do the links stay valid? url opens the company's review list on that exact review and keeps working while the review is online. companyUrl is the company's permanent kununu page. companyLogoUrl points at kununu's image server and can change when the company updates its logo.

Can I filter by score, role or department? The input keeps to the filters most teams use: review type, order and posting window. Every row carries score, position, department, jobStatus and the category scores, so any other cut is one filter away in your spreadsheet. Using sortBy set to worst or best puts the extremes first when you only need a sample.

Does it read salaries or company culture data? No. This actor reads reviews. Each row still carries the company's overall score, recommendation rate, review count and industry average.

More SilentFlow scrapers

๐Ÿ›’ E-commerce

๐Ÿ’ผ Jobs

๐Ÿ  Real estate

๐Ÿ“ฃ Social media

๐Ÿข Business data

โœˆ๏ธ Travel

๐ŸŽฏ Lead generation

๐Ÿ”Ž SEO

๐ŸŽฌ Video

๐Ÿ“ฐ News

๐Ÿงฐ More tools

Support

Need something this scraper doesn't do yet? We ship features fast.

  • Feature requests go straight to our backlog
  • Enterprise needs? We do custom integrations and high-volume plans
  • Pricing questions? Check the Monetization tab on the actor page

Response time: usually under 24 hours.

This Actor extracts publicly available data from kununu.com. It does not bypass any login, paywall or CAPTCHA. Users are responsible for complying with kununu's terms of service and applicable data protection laws (GDPR, CCPA, and PIPL where relevant). Reviews on kununu are published anonymously; the output holds no reviewer names, only the role, department and location the reviewer chose to share, and the name of the team that wrote an employer reply. Employer replies and company data are published by the companies themselves. The data returned is informational; verify it before any decision about a person or a regulated use.

Built for employer-branding teams, HR analysts, recruiters and researchers who need kununu's reviews as data, not as pages.