Jobware Scraper: Stellenanzeigen als CSV exportieren
Du suchst Stellenanzeigen für Fach- und Führungskräfte von Jobware.de und willst sie in Excel oder in eine eigene Auswertung bekommen? Der Jobware.de Scraper holt die Anzeigen zu deinen Suchbegriffen und deiner Stadt und liefert sie als Tabelle: Titel, Arbeitgeber, Ort, Datum, Gehalt (wenn angegeben) und Link zur Anzeige. Ohne Code, in wenigen Minuten.
In diesem Tutorial
- Das bekommst du
- Alle Felder
- Beispiel: Controller in Frankfurt am Main
- Beispiel: Ingenieure in Stuttgart
- Schritt 1: Apify-Konto anlegen
- Schritt 2: Suche und Ort eintragen
- Schritt 3: Actor starten
- Schritt 4: Daten exportieren
- Welche Filter es gibt
- API und Zeitplan
- Prompt für Claude
- Kosten
- Anwendungen
- FAQ
Das bekommst du
Jobware.de bietet keine Export-Funktion für Stellenanzeigen. Der Jobware-Scraper holt die Anzeigen zu deinen Suchbegriffen und legt sie als Tabelle ab, die du als CSV, Excel oder JSON herunterladen kannst. Jobware richtet sich an Fach- und Führungskräfte, die Anzeigen sind also eher Controlling, IT, Ingenieurwesen und Management als Aushilfsjobs. Der Actor arbeitet ohne Login und ohne Browser.
Wir haben ihn einmal lokal laufen lassen, mit dem Suchbegriff „Controller“ in Frankfurt am Main. Das Ergebnis steht im Beispiel weiter unten.
Alle Felder im Überblick
So sind die Felder laut Ausgabe-Schema des Actors aufgebaut. Ohne includeDetails fehlen die Felder, die nur auf der Detailseite stehen (zum Beispiel Volltext und Anforderungen).
| Feld | Typ | Inhalt |
|---|---|---|
id | Text | Eindeutige Anzeigen-ID, zum Beispiel jw-2070127905 |
title | Text | Titel der Anzeige |
company | Text | Arbeitgeber (bei Personalberatungen der Name der Beratung) |
location | Text | Ort der Stelle |
canton | Text | Bundesland als Kürzel, zum Beispiel HE (der Feldname stammt aus dem gemeinsamen Schema aller Job-Actors) |
employment_type | Text | Beschäftigungsart, zum Beispiel full-time |
workload_min / workload_max | Zahl | Arbeitszeit in Prozent |
remote_option | Text | Homeoffice-Angabe, falls vorhanden (zum Beispiel hybrid) |
salary_text | Text | Gehalt, wie es in der Anzeige steht |
salary_min / salary_max | Zahl | Gehalt als Zahl aus salary_text (salary_max bleibt bei einer einzelnen Zahl leer) |
salary_currency / salary_period / salary_source | Text | Währung (EUR), Zeitraum (year, month oder hour) und Quelle der Angabe (im Beispiellauf immer stated, also so in der Anzeige genannt) |
description_snippet | Text | Kurzbeschreibung |
description_full | Text | Voller Anzeigentext (mit includeDetails) |
requirements | Liste | Genannte Anforderungen und Kenntnisse |
company_description / company_url / company_logo_url / company_rating / company_review_count / company_benefits / company_social_urls | Text / Zahl / Liste | Firmenangaben, soweit Jobware sie liefert |
apply_url / apply_email | Text | Bewerbungslink und, falls angegeben, Bewerbungs-E-Mail |
contact_salutation, contact_firstname, contact_lastname, contact_email, contact_phone, contact_position, contact_raw | Text | Ansprechperson, falls die Anzeige eine nennt |
posted_at | Datum | Veröffentlichungsdatum mit Uhrzeit (UTC) |
expires_at | Datum | Ablaufdatum der Anzeige |
job_status / top_listing | Text / Boolean | Status der Anzeige und Markierung als hervorgehobene Anzeige |
source_url / source_platform | Text | Link zur Originalanzeige und Plattform (jobware.de) |
country / search_query / scraped_at | Text | Land (DE), der Suchbegriff, der die Anzeige gefunden hat, und Zeitpunkt des Abrufs |
Beispiel: Controller in Frankfurt am Main
Wir haben den Actor am 21.10.2026 lokal mit diesem Input laufen lassen:
{
"searchQueries": ["Controller"],
"city": "Frankfurt am Main",
"radius": 25,
"sortBy": "date",
"maxResultsPerQuery": 30,
"maxResults": 30,
"includeDetails": true
}Die Suche meldete 88 Treffer für diese Kombination. Wir haben bei 30 gestoppt, also nicht an einer Seitengrenze (eine Seite hat bis zu 100 Treffer). Bei höherem Limit hätte der Actor alle 88 geholt. Der Lauf lieferte 30 Anzeigen mit Details und war nach wenigen Sekunden fertig (lokal gemessen, Zeiten auf Apify können abweichen). Drei Ergebnisse, gekürzt und ohne Kontaktangaben von Personen:
[
{
"id": "jw-2070127905",
"title": "Controller (m/w/d)",
"company": "a-team Zeitarbeit und Personalmanagement GmbH",
"location": "Frankfurt am Main",
"canton": "HE",
"employment_type": "full-time",
"workload_min": 100,
"workload_max": 100,
"remote_option": "hybrid",
"salary_text": "60.000 €",
"salary_min": 60000,
"salary_currency": "EUR",
"salary_period": "year",
"salary_source": "stated",
"posted_at": "2026-10-21T03:04:34.000Z",
"expires_at": "2027-04-20T21:59:59.000Z",
"source_url": "https://www.jobware.de/job/controller-m-w-d-064713753",
"source_platform": "jobware.de",
"search_query": "Controller"
},
{
"id": "jw-2069000065",
"title": "Financial Controller (m/w/d)",
"company": "adesta GmbH & Co. KG",
"location": "Frankfurt am Main",
"remote_option": "hybrid",
"salary_text": "65.000€ - 75.000€ pro Jahr",
"salary_min": 65000,
"salary_max": 75000,
"salary_period": "year",
"posted_at": "2026-10-17T23:41:16.000Z",
"source_url": "https://www.jobware.de/job/financial-controller-m-w-d-064683801"
},
{
"id": "jw-2068941705",
"title": "Projektleiter Schaltanlagenbau Hoch- und Höchstspannung (w/m/d)",
"company": "Brunel GmbH NL Mannheim",
"location": "Frankfurt am Main",
"salary_text": null,
"posted_at": "2026-10-17T09:26:58.000Z",
"source_url": "https://www.jobware.de/job/projektleiter-schaltanlagenbau-hoch-und-hoechstspannung-w-m-d-064681585"
}
]So waren die Felder bei den 30 Anzeigen gefüllt:
- 30 von 30: Titel, Arbeitgeber, Ort, Beschäftigungsart, Arbeitszeit, Anzeigentext, Anforderungen, Veröffentlichungs- und Ablaufdatum, Link zur Anzeige, Bewerbungslink.
- 26 von 30: Bewerbungs-E-Mail. 24 von 30: Bundesland-Kürzel. 14 von 30: Homeoffice-Angabe (immer hybrid).
- 4 von 30: Gehalt. Das ist wenig. Die meisten Anzeigen nennen kein Gehalt.
- 9 von 30: Telefonnummer einer Ansprechperson, 1 von 30: Name einer Ansprechperson. Diese Felder enthalten Angaben zu Personen, prüfe vor der Weiterverwendung die Rechtslage.
- 0 von 30: Firmenwebsite, Firmenbeschreibung, Firmenlogo, Bewertung und Benefits.
sortBy date sortiert der Actor die gesammelten Treffer nach Datum. Mit Limit 30 bekommst du also die 30 relevantesten Treffer, nach Datum sortiert, und nicht unbedingt die 30 neuesten. Sortiere in der Tabelle zusätzlich nach posted_at.Der Beispiellauf lief lokal ohne Apify-Proxy (der Actor verlangt auf Apify einen Proxy, wir haben ihn für den Test aus einer Kopie des Codes entfernt) und wurde nicht auf Apify abgerechnet. Die Kosten dafür findest du unter Kosten.
Beispiel: Ingenieure in Stuttgart und Umgebung
Dieses Beispiel steckt hinter unserem Short zu Ingenieurstellen in Stuttgart. Lokaler Lauf am 21.10.2026: Suchbegriff „Ingenieur“, Stuttgart und 25 km Umkreis, bis zu 300 Anzeigen mit Details:
{
"searchQuery": "Ingenieur",
"city": "Stuttgart",
"radius": 25,
"sortBy": "date",
"maxResultsPerQuery": 300,
"includeDetails": true
}- 300 Anzeigen kamen zurück, so viele wie
maxResultsPerQueryerlaubt. Wie oben beschrieben sind das die relevantesten Treffer, nach Datum sortiert. - Nur Orte in der Region Stuttgart (Stuttgart, Böblingen, Sindelfingen, Ditzingen, Leonberg, Weissach und weitere), veröffentlicht zwischen dem 23.09. und dem 21.10.2026, mit „Ingenieur“ oder „Engineer“ im Titel und ohne ein duales Studium: 55 Stellen von 29 Firmen.
- 18 davon sind als hybrid markiert.
- Viele Anzeigen kommen von Personalvermittlern, nicht vom Endarbeitgeber. Prüfe die Spalte
company, bevor du nach Firmen zählst.
Mit Claude: Verbinde den Apify MCP Server als eigenen Konnektor mit dieser URL (siehe Apifys MCP-Dokumentation). Sie beschränkt Claude auf diesen einen Actor:
https://mcp.apify.com?tools=santamaria-automations/jobware-de-scraperDann fügst du diesen Prompt ein. Claude nennt dir zuerst die Kosten und wartet auf dein OK:
Nutze den Apify MCP Server. Starte den Actor santamaria-automations/jobware-de-scraper mit
searchQuery "Ingenieur", city "Stuttgart", radius 25, sortBy "date", maxResultsPerQuery 300, includeDetails true.
Sag mir vor dem Start, was der Lauf kostet, und warte auf mein OK.
Behalte danach nur Anzeigen aus der Region Stuttgart (Stuttgart, Böblingen, Sindelfingen, Ditzingen, Leonberg, Weissach und Nachbarorte)
aus den letzten vier Wochen mit Ingenieur oder Engineer im Titel, ohne duale Studiengänge.
Gib mir eine Tabelle mit Firma, Anzahl Anzeigen und remote_option, und markiere Firmen, die nach Personalvermittlung aussehen.Apify-Konto anlegen
- Öffne die Seite des Jobware-Scrapers auf Apify.
- Klicke auf Try for free und registriere dich mit Google oder E-Mail.
- Du landest in der Apify Console im Tab Input des Actors. Für kleine Läufe reicht das monatliche Gratis-Guthaben des Free-Plans.
Suche und Ort eintragen
Im Feld searchQueries trägst du ein oder mehrere Suchbegriffe ein. Jeder Begriff läuft als eigene Suche, doppelte Anzeigen werden über alle Begriffe hinweg entfernt. Den Ort gibst du bei city an, die Umkreissuche bei radius. Das war der Input des Beispiellaufs (siehe oben).
city: Stadt, zum Beispiel „Frankfurt am Main“ oder „München“. Leer heißt ganz Deutschland.radius: Umkreis in Kilometern, 0 bis 200 (Standard 25).maxResultsPerQuery: Obergrenze pro Suchbegriff (Standard 100, 0 heißt unbegrenzt).maxResults: Obergrenze über alle Suchbegriffe zusammen (0 heißt unbegrenzt).sortBy:datesortiert die gesammelten Treffer nach Datum, die neuesten zuerst.relevanceoder leer behält die Reihenfolge der Seite.includeDetails:trueholt zusätzlich die Detailseite jeder Anzeige (Standard).falseist schneller und günstiger, liefert aber weniger Felder.
maxResults auf 10 bis 30. So siehst du in kurzer Zeit, ob die Treffer zu deinem Suchbegriff passen, und zahlst nur wenige Cent.Actor starten und Ergebnis ansehen
Klicke unten auf Save and Run. Auf der Lauf-Seite siehst du im Tab Log den Fortschritt, im Tab Dataset die Ergebnisse als Tabelle. Mehrere Suchbegriffe in einem Lauf sehen so aus:
{
"searchQueries": ["Controller", "Finanzbuchhalter", "Business Analyst"],
"city": "München",
"maxResultsPerQuery": 50,
"includeDetails": false
}Daten exportieren
- Öffne im Lauf den Tab Dataset.
- Klicke auf Export.
- Wähle das Format: CSV, Excel, JSON und weitere stehen zur Auswahl. Mit der Feld-Auswahl exportierst du nur die Spalten, die du brauchst, zum Beispiel
title,company,location,salary_text,posted_atundsource_url.
Welche Filter es gibt
Der Actor filtert bei der Suche nach diesen Angaben:
- Suchbegriff (
searchQueries), Stadt (city) und Umkreis (radius). - Beschäftigungsart (
employmentType):vollzeit,teilzeit,werkstudent,praktikumoderausbildung. Leer heißt alle. - Sortierung (
sortBy): nach Datum oder nach Relevanz, siehe Hinweis im Beispiel. - Alter der Anzeigen (
maxAgeHours): wirkt nur zusammen mitsortBydate. Der Actor hört auf, sobald er drei Anzeigen hintereinander findet, die älter sind. Weil die Suche nach Relevanz liefert, kann er dabei zu früh stoppen. Für vollständige Listen lässt du das Feld leer. - Mengen:
maxResultsPerQueryundmaxResults. - Einzelne Anzeigen (
directUrls): Links von Jobware-Anzeigen, die du gezielt abrufen willst, zum Beispiel um zu prüfen, ob sie noch online sind.
Einen Filter für Gehalt oder Branche gibt es nicht. Das erledigst du danach in der Tabelle, etwa mit salary_min und remote_option.
Per API und automatisch abrufen
Du kannst den Actor auch aus eigenen Skripten, n8n oder Make aufrufen. Dieser Aufruf startet einen Lauf und gibt die Ergebnisse direkt zurück (Apify-Endpunkt run-sync-get-dataset-items):
curl -X POST "https://api.apify.com/v2/acts/santamaria-automations~jobware-de-scraper/run-sync-get-dataset-items?token=DEIN_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"searchQueries": ["Controller"], "city": "Frankfurt am Main", "radius": 25, "maxResults": 50, "sortBy": "date"}'Deinen API-Token findest du in der Apify Console unter Settings → API & Integrations. Für Abrufe, die regelmäßig laufen sollen, legst du in der Console unter Schedules einen Zeitplan an. Vergleiche die Ergebnisse mit dem letzten Abruf (Feld id), damit du nur neue Anzeigen weiterverarbeitest.
Prompt für Claude zum Kopieren
Füge in Claude den Apify MCP Server als eigenen Konnektor mit dieser URL hinzu (siehe Apifys MCP-Dokumentation). Die URL beschränkt Claude auf diesen einen Actor:
https://mcp.apify.com?tools=santamaria-automations/jobware-de-scraperDann fügst du diesen Prompt ein und ersetzt die Suche durch deine. Claude nennt dir zuerst die Kosten und wartet auf dein OK, bevor der Lauf startet:
Nutze den Apify MCP Server. Starte den Actor santamaria-automations/jobware-de-scraper mit
searchQueries ["Controller"], city "Frankfurt am Main", radius 25, sortBy "date",
maxResultsPerQuery 30, maxResults 30 und includeDetails true.
Sag mir vor dem Start, was der Lauf kostet, und warte auf mein OK.
Wenn er fertig ist, gib mir eine Tabelle mit Titel, Arbeitgeber, Ort, Gehalt, Veröffentlichungsdatum und Link,
sortiert nach Veröffentlichungsdatum, und nenne mir, wie viele Anzeigen ein Gehalt haben.Getestet haben wir den Actor und die Eingaben, nicht die Prompts über MCP; Claude formuliert die Kostenangabe eventuell anders.
Was das kostet
Der Actor rechnet pro Ergebnis ab (Preise laut Apify Store, Stand 21.10.2026):
- Start: 0,005 $ pro Lauf.
- Anzeige aus der Trefferliste (
includeDetailsaus): 0,00375 $ pro Ergebnis. - Anzeige mit Detailseite (
includeDetailsan): 0,00875 $ pro Ergebnis.
Jede Anzeige wird nur einmal berechnet, entweder als Treffer oder mit Details, nicht beides. Rechenbeispiel für den Lauf oben: 30 Anzeigen mit Details = 0,005 $ + 30 x 0,00875 $ = 0,2675 $, also etwa 0,27 $. Dieselben 30 Anzeigen ohne Details kosten 0,005 $ + 30 x 0,00375 $ = 0,1175 $, also etwa 0,12 $. Die aktuellen Preise findest du immer auf der Apify-Seite des Actors.
Wofür Leute die Daten nutzen
Stellenmarkt für Fach- und Führungskräfte beobachten
Lass regelmäßig dieselbe Suche laufen und zähle, wie viele Anzeigen pro Woche für eine Rolle und eine Region dazukommen oder welche Arbeitgeber am häufigsten suchen.
Gehälter vergleichen
Mit salary_min, salary_max und salary_period vergleichst du die Angaben aus den Anzeigen. Rechne mit wenigen Treffern: Im Beispiel hatten 4 von 30 Anzeigen ein Gehalt.
Personalberatungen und Arbeitgeber auseinanderhalten
Viele Anzeigen stammen von Personalberatungen. Mit company und dem Anzeigentext trennst du Direktarbeitgeber von Vermittlern, etwa für eine Marktübersicht.
Eigene Jobliste füttern
Über source_url verlinkst du auf die Originalanzeige. Mit expires_at entfernst du abgelaufene Anzeigen aus deiner Liste.
Häufige Fragen
Brauche ich Programmierkenntnisse für den Jobware-Scraper?
Nein. In der Apify Console füllst du ein Formular aus, klickst auf Save and Run und lädst die Tabelle herunter. Code brauchst du nur, wenn du den Actor per API in ein eigenes System einbauen willst.
Welche Daten bekomme ich von Jobware.de?
Titel, Arbeitgeber, Ort, Beschäftigungsart, Arbeitszeit, Homeoffice-Angabe, Gehalt (wenn genannt), Veröffentlichungs- und Ablaufdatum, Link zur Originalanzeige, Bewerbungslink und mit includeDetails auch Volltext und Anforderungen. Welche Felder gefüllt sind, hängt von der einzelnen Anzeige ab.
Warum ist das Gehaltsfeld bei den meisten Anzeigen leer?
Weil die meisten Anzeigen kein Gehalt nennen. Im Beispiellauf mit 30 Anzeigen hatten 4 eine Gehaltsangabe. Der Actor schätzt kein Gehalt, er übernimmt nur, was in der Anzeige steht.
Bekomme ich mit sortBy date die 30 neuesten Anzeigen?
Nicht unbedingt. Die Suche von Jobware liefert nach Relevanz. Der Actor sortiert die gesammelten Treffer nach Datum. Mit einem kleinen Limit bekommst du also die relevantesten Treffer, nach Datum sortiert. Für alle Anzeigen setze das Limit höher oder auf 0.
Was kostet der Jobware-Scraper?
0,005 $ pro Lauf, dazu 0,00375 $ pro Anzeige aus der Trefferliste oder 0,00875 $ pro Anzeige mit Detailseite. 30 Anzeigen mit Details kosten damit etwa 0,27 $.
Darf ich die Daten verwenden?
Das hängt von deinem Anwendungsfall ab, besonders bei Angaben zu Personen, etwa Ansprechpartner oder E-Mail-Adresse in der Bewerbungsangabe. Prüfe das für deinen Fall, bevor du Daten speicherst oder weiterverwendest.
Weiterführende Links
- Jobware.de Scraper, Actor-Seite: Eingabefelder, Ausgabefelder und Preise im Überblick.
- Jobware.de Scraper auf Apify: Der Actor mit Dokumentation und allen Parametern.
- meinestadt.de Scraper: Stellenanzeigen exportieren: Das gleiche Vorgehen für meinestadt.de.
- StepStone Scraper: Stellenanzeigen exportieren: Das gleiche Vorgehen für StepStone.
- How to Scrape Every Job Online (Englisch): Stellenanzeigen von 110+ Jobbörsen mit einem Aufruf.