stellenanzeigen.de Scraper: Stellenanzeigen als CSV exportieren
Du willst Stellenangebote von stellenanzeigen.de als Excel- oder CSV-Tabelle haben? Der Stellenanzeigen.de Scraper holt die Anzeigen zu deinem Suchbegriff 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
stellenanzeigen.de bietet keine Export-Funktion für Suchergebnisse. Der stellenanzeigen.de-Scraper ruft die Anzeigen zu deinen Suchbegriffen ab und legt sie als Tabelle ab, die du als CSV, Excel oder JSON herunterladen kannst. Pro Anzeige gibt es mehr als 50 Felder. Welche davon gefüllt sind, hängt von der Anzeige ab.
Wir haben den Actor einmal lokal mit dem Suchbegriff „Buchhaltung“ in Köln laufen lassen. Die Details dazu stehen unten im Beispiel.
Alle Felder im Überblick
So sind die Felder laut Ausgabe-Schema des Actors aufgebaut. Ohne includeJobDetails fehlen die Felder, die nur auf der Detailseite stehen, zum Beispiel Volltext, Anforderungen und Benefits.
| Feld | Typ | Inhalt |
|---|---|---|
id | Text | Eindeutige Anzeigen-ID, zum Beispiel SDE-118408 |
title | Text | Titel der Anzeige |
company / company_name | Text | Arbeitgeber |
location / locations / work_address | Text / Liste | Ort, Orte der Stelle und Arbeitsadresse (zum Teil nur mit PLZ und Ort) |
canton / country | Text | Bundesland als Kürzel (im Beispiellauf NW) und Land (DE) |
employment_type | Text | Beschäftigungsart, im Beispiellauf full-time, part-time oder temporary |
workload_min / workload_max / workload_text | Zahl / Text | Arbeitszeit in Prozent bzw. als Text, falls genannt |
hours_per_week / hours_per_week_min / hours_per_week_max | Zahl | Wochenstunden, falls genannt |
remote_option | Text | Homeoffice-Angabe, zum Beispiel hybrid |
salary_text | Text | Gehalt, wie es in der Anzeige steht, mit Zeitraum (EUR/year, EUR/month) |
salary_min / salary_max / salary_currency | Zahl / Text | Gehalt als Zahl aus salary_text und Währung |
industries | Liste | Branchen bzw. Berufsfelder der Anzeige |
experience_months | Zahl | Geforderte Berufserfahrung in Monaten, falls angegeben |
description_snippet | Text | Kurzbeschreibung |
description_full / description_html / description_md | Text | Voller Anzeigentext als Text, HTML und Markdown |
requirements / company_benefits | Liste | Genannte Anforderungen und Benefits des Arbeitgebers |
apply_url / apply_email | Text | Bewerbungslink und, falls angegeben, Bewerbungs-E-Mail |
direct_apply | Boolean | Bewerbung direkt über stellenanzeigen.de möglich |
company_url / company_logo_url / company_description | Text | Firmenwebsite, Logo und Firmenbeschreibung, soweit vorhanden |
company_rating / company_review_count / company_social_urls | Zahl / Liste | Bewertung und Social-Media-Links, soweit vorhanden |
contact_salutation, contact_firstname, contact_lastname, contact_email, contact_phone, contact_position, contact_raw | Text | Ansprechperson, falls die Anzeige eine nennt |
posted_at / originally_posted_at / posted_at_datetime | Datum | Veröffentlichungsdatum und ursprüngliches Datum der Anzeige |
expires_at | Datum | Ablaufdatum der Anzeige |
job_status / is_sponsored / top_listing | Text / Boolean | Status der Anzeige (online, offline, expired) und Markierung als hervorgehobene Anzeige |
reference_number / external_job_id | Text | Referenznummer der Anzeige bzw. ID beim Arbeitgeber |
source_url / job_url / source_platform | Text | Link zur Originalanzeige und Plattform (stellenanzeigen.de) |
search_query / scraped_at | Text | Der Suchbegriff, der die Anzeige gefunden hat, und Zeitpunkt des Abrufs |
Beispiel: Buchhaltung in Köln
Wir haben den Actor lokal mit diesem Input laufen lassen (ohne Apify Proxy, mit Detailseiten):
{
"searchQueries": [
"Buchhaltung"
],
"location": "Köln",
"radius": 30,
"maxResultsPerQuery": 30,
"maxResults": 30,
"sortBy": "newest",
"includeJobDetails": true
}Die Suche fand 48 Treffer auf einer Seite (die Seite liefert höchstens 50 pro Abruf). Davon hat der Actor 17 Anzeigen gespeichert. Die übrigen 31 waren bezahlte oder „ähnliche“ Anzeigen, in deren Titel „Buchhaltung“ nicht vorkommt. Der Actor lässt sie aus und berechnet sie nicht. Das Limit von 30 wurde nicht erreicht, und auch das Seitenlimit nicht: Bei dieser Suche gab es nicht mehr Treffer. Drei Ergebnisse, gekürzt und ohne Bewerbungs- und Kontaktdaten:
[
{
"id": "SDE-118408",
"title": "Bilanzbuchhalter mit Schwerpunkt Steuern (w/m/d)",
"company": "DE-CIX",
"location": "Köln, Nordrhein-Westfalen",
"canton": "NW",
"employment_type": "full-time",
"salary_text": "36.000 - 48.000 EUR/year",
"salary_min": 36000,
"salary_max": 48000,
"salary_currency": "EUR",
"industries": [
"Finanzbuchhaltung",
"Rechnungswesen",
"Steuerwesen"
],
"posted_at": "2026-10-16T00:00:00.000Z",
"expires_at": "2026-10-31T21:59:00.000Z",
"source_url": "https://www.stellenanzeigen.de/job/bilanzbuchhalter-mit-schwerpunkt-steuern-w-m-d-koeln-sde-118408/",
"source_platform": "stellenanzeigen.de",
"country": "DE",
"search_query": "Buchhaltung"
},
{
"id": "SDE-124016",
"title": "Erfahrener Buchhalter (w/m/d)",
"company": "Caritasverband für die Stadt Köln e. V.",
"location": "Köln, Nordrhein-Westfalen",
"employment_type": "full-time",
"salary_text": "3.708 - 4.786 EUR/month",
"salary_min": 3708,
"salary_max": 4786,
"posted_at": "2026-10-02T00:00:00.000Z",
"expires_at": "2026-11-01T21:59:00.000Z",
"search_query": "Buchhaltung"
},
{
"id": "YF-51557",
"title": "Spezialist Finanzbuchhaltung & Rechnungswesen (m/w/d) - Allrounder mit Gestaltungsspielraum - Teilzeit",
"company": "KölnTourismus GmbH | Cologne Tourist Board",
"location": "Köln, Nordrhein-Westfalen",
"employment_type": "temporary",
"remote_option": "hybrid",
"workload_text": "30 Stunden",
"posted_at": "2026-10-19T00:00:00.000Z",
"expires_at": "2026-11-27T21:59:00.000Z",
"search_query": "Buchhaltung"
}
]Wie voll die Felder waren (17 Anzeigen):
- Immer gefüllt (17 von 17): Titel, Arbeitgeber, Ort, Beschäftigungsart, Veröffentlichungs- und Ablaufdatum, Link, Bewerbungslink, Volltext und Kurzbeschreibung.
- Meistens: Branchen und Arbeitsadresse (je 16), Bundesland (16), Referenznummer (16), Berufserfahrung (11), Anforderungen (11), Bewerbungs-E-Mail (11), Benefits (10), Homeoffice-Angabe (8).
- Selten: Gehalt (4), Wochenstunden (3), Arbeitszeit in Prozent (2). Firmenwebsite, Firmenbeschreibung und Bewertung waren bei keiner Anzeige gefüllt.
location. Außerdem ist die Reihenfolge nicht streng nach Datum: Eine hervorgehobene Anzeige kann vor neueren stehen. Sortiere deshalb nach posted_at.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/stellenanzeigen-de-scraperDann fügst du diesen Prompt ein und ersetzt Suchbegriff und Stadt 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/stellenanzeigen-de-scraper mit
searchQueries ["Buchhaltung"], location "Köln", radius 30, maxResults 30, sortBy "newest", includeJobDetails 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 Datum.Getestet haben wir den Actor und die Eingaben, nicht die Prompts über MCP. Claude formuliert die Kostenangabe eventuell anders.
Apify-Konto anlegen
- Öffne die Seite des stellenanzeigen.de-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 location an, den Umkreis bei radius. Das war der Input des Beispiels (siehe oben). Die wichtigsten Felder:
location: Stadt oder Region, zum Beispiel „Köln“ oder „Hamburg“. Leer heißt ganz Deutschland.radius: Umkreis in Kilometern, 0 bis 200. Der Wert wird auf 10-km-Schritte gerundet, bei 0 gilt der Standard der Seite (30 km).maxResultsPerQuery: Obergrenze pro Suchbegriff (Standard 100).maxResults: Obergrenze über alle Suchbegriffe zusammen (0 heißt unbegrenzt).sortBy:newestsortiert nach Datum, die neuesten zuerst (Standard).relevancenutzt die Standard-Reihenfolge der Seite.includeJobDetails: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": [
"Buchhaltung",
"Bilanzbuchhalter",
"Lohnbuchhalter"
],
"location": "Köln",
"maxResultsPerQuery": 50,
"includeJobDetails": 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_textundsource_url.
Welche Filter es gibt
Der Actor filtert bei der Suche nach diesen Angaben:
- Suchbegriff (
searchQueries), Ort (location) und Umkreis (radius). - Veröffentlichungszeitraum (
postedWithinDays): letzte 1, 7 oder 30 Tage. 0 schaltet den Filter aus. - Sortierung (
sortBy): neueste zuerst oder nach Relevanz. - Mengen:
maxResultsPerQueryundmaxResults. - Einzelne Anzeigen (
directUrls): Links von Anzeigen, die du gezielt abrufen willst, zum Beispiel um zu prüfen, ob sie noch online sind. Der Actor liefert dann den Status (online, offline oder expired).
Einen Filter für Beschäftigungsart oder Gehalt gibt es nicht. Das erledigst du danach in der Tabelle, etwa mit employment_type und salary_min.
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~stellenanzeigen-de-scraper/run-sync-get-dataset-items?token=DEIN_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"searchQueries": ["Buchhaltung"], "location": "Köln", "radius": 30, "maxResults": 50, "sortBy": "newest"}'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. Setze sortBy auf newest und postedWithinDays auf 1 oder 7, und vergleiche die Ergebnisse mit dem letzten Abruf (Feld id), damit du nur neue Anzeigen weiterverarbeitest.
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 (
includeJobDetailsaus): 0,0025 $ pro Ergebnis. - Anzeige mit Detailseite (
includeJobDetailsan, auch beidirectUrls): 0,0075 $ pro Ergebnis.
Jede Anzeige wird nur einmal berechnet, entweder als Treffer oder mit Details, nicht beides. Verworfene Anzeigen (siehe Beispiel) kosten nichts. Rechenbeispiel: 17 Anzeigen mit Details = 0,005 $ + 17 x 0,0075 $ = 0,1325 $, also etwa 0,13 $. Dieselben 17 Anzeigen ohne Details würden etwa 0,05 $ kosten. Den Preis haben wir aus den Store-Preisen und der Abrechnungslogik im Code berechnet; beim lokalen Lauf wurde nichts abgerechnet. Die aktuellen Preise findest du immer auf der Apify-Seite des Actors.
Wofür Leute die Daten nutzen
Regionalen Stellenmarkt beobachten
Lass regelmäßig die neuesten Anzeigen für eine Stadt und einen Beruf laufen und zähle, wie viele pro Woche dazukommen oder welche Arbeitgeber am häufigsten suchen.
Gehälter vergleichen
Mit salary_min und salary_max vergleichst du die Angaben aus den Anzeigen. Beachte, dass nur wenige Anzeigen ein Gehalt nennen und die Angabe je nach Anzeige pro Jahr oder pro Monat steht (salary_text).
Eigene Jobliste oder Stellenportal füttern
Über source_url verlinkst du auf die Originalanzeige. Mit expires_at entfernst du abgelaufene Anzeigen aus deiner Liste, mit directUrls prüfst du, ob eine Anzeige noch online ist.
Arbeitgeber finden
Die Spalten company, location und industries zeigen dir, welche Firmen in deiner Region gerade einstellen. Die Firmenwebsite war im Beispiel nicht gefüllt, die suchst du bei Bedarf separat.
Häufige Fragen
Brauche ich Programmierkenntnisse für den stellenanzeigen.de-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.
Kann ich Stellenangebote von stellenanzeigen.de als Excel exportieren?
Ja. Im Tab Dataset des Laufs wählst du unter Export das Format Excel oder CSV. JSON und weitere Formate stehen ebenfalls zur Auswahl.
Welche Daten bekomme ich von stellenanzeigen.de?
Titel, Arbeitgeber, Ort, Beschäftigungsart, Branchen, Veröffentlichungs- und Ablaufdatum, Link zur Originalanzeige und Bewerbungslink. Mit includeJobDetails kommen Volltext, Anforderungen und Benefits dazu. Welche Felder gefüllt sind, hängt von der einzelnen Anzeige ab.
Warum fehlt bei vielen Anzeigen das Gehalt?
Weil nicht jede Anzeige ein Gehalt nennt. Im Beispiellauf mit 17 Anzeigen hatten 4 eine Gehaltsangabe.
Gibt es einen Filter für das Veröffentlichungsdatum?
Ja. Mit postedWithinDays begrenzt du die Suche auf die letzten 1, 7 oder 30 Tage. Andere Werte nimmt der Actor an, die Seite rundet sie aber möglicherweise auf eine dieser Stufen.
Was kostet der stellenanzeigen.de-Scraper?
0,005 $ pro Lauf, dazu 0,0025 $ pro Anzeige aus der Trefferliste oder 0,0075 $ pro Anzeige mit Detailseite. 17 Anzeigen mit Details kosten damit etwa 0,13 $.
Darf ich die Daten verwenden?
Das hängt von deinem Anwendungsfall ab, besonders bei Kontaktangaben von Personen, etwa einer E-Mail-Adresse in der Bewerbungsangabe. Prüfe das für deinen Fall, bevor du Daten speicherst oder weiterverwendest.
Weiterführende Links
- Stellenanzeigen.de Scraper, Actor-Seite: Eingabefelder, Ausgabefelder und Preise im Überblick.
- Stellenanzeigen.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.