MeineStadt.de Job Scraper - German Regional Jobs
Pricing
from $3.50 / 1,000 job search results
MeineStadt.de Job Scraper - German Regional Jobs
Scrape job listings from MeineStadt.de, Germany's largest regional job portal with 900K+ listings across all industries and cities. Extract salary ranges, requirements, benefits, company info, logos, and full descriptions. Search by keywords and city with radius filter. Fast HTTP-only scraper.
Pricing
from $3.50 / 1,000 job search results
Rating
0.0
(0)
Developer
NanoScrape
Maintained by CommunityActor stats
2
Bookmarked
54
Total users
18
Monthly active users
16 hours ago
Last modified
Categories
Share
MeineStadt.de Jobs Scraper
English
Scrape job listings from MeineStadt.de, a German regional job portal across all German cities and states.
Fast HTTP-only scraper -- no browser needed. Extracts salary, requirements, benefits, company info, and logos. Supports multiple search queries with per-query limits and cross-query deduplication.
Features
- Multi-query search: run multiple keywords in one actor call, deduplicated across queries
- Per-query and total result limits for precise cost control
- Full job details: salary, requirements, benefits, company description
- Company logos displayed as image previews in dataset
- Direct URL mode for monitoring specific listings
- Automatic pagination across all result pages
- Deduplication by job ID and title+company
- Pay-per-result pricing -- only pay for what you scrape
- Low memory footprint: 128 MB
Input Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
searchQueries | string[] | No | -- | One or more search keywords. Each runs as a separate search. Results are deduplicated across queries. |
searchQuery | string | No | -- | Single search keyword (backward compatible). Use searchQueries for multiple keywords. |
city | string | No | -- | City to search in (e.g., "Berlin", "Munchen"). Leave empty for all of Germany |
radius | integer | No | 30 | Search radius in km around the city (0-200) |
maxResultsPerQuery | integer | No | 100 | Maximum results per search keyword (deduplicated) |
maxResults | integer | No | 0 | Total cap across all queries. 0 = unlimited (each query limited by maxResultsPerQuery) |
sortBy | string | No | newest | Sort order: newest (real server-side date sort; paid top-slot ads and undated partner-redirect listings are skipped; collected rows are re-sorted newest-first per keyword) or relevance (site default ranking). |
includeDetails | boolean | No | true | Fetch full job descriptions from detail pages (slower but includes salary, requirements, benefits) |
titleFilter | string | No | empty | Comma-separated title terms (case-insensitive OR substring, umlauts folded, so Pädagog also matches Paedagog). Example: Erzieher, Pädagog. Rows whose title matches none are dropped before the detail fetch and before charging. Result caps count only kept rows. Empty = no filtering. |
titleFilterMaxEmptyPages | integer | No | 0 | Optional. Stop a query after this many result pages in a row without a title match. 0 = keep paging until the result limit or the end of results. |
directUrls | string[] | No | -- | Direct job URLs to scrape (bypasses search) |
Note on result quality and titleFilter
meinestadt.de fills later result pages with less related jobs. For a keyword such as "Erzieher" the first page is on topic, but further pages mix in other professions and paid ads. Set titleFilter to keep only rows whose title matches your terms. The scraper keeps paging until your result cap is reached or the pages run out, and matches often cluster on later pages, so pages without a match do not end the query. Set titleFilterMaxEmptyPages if you want an early stop. The run status message reports how many rows were skipped by titleFilter.
Output Schema
Each job listing includes:
Core Fields:
id-- Unique job identifiertitle-- Job titlecompany-- Company namelocation-- Job location (city)canton-- German state code (BW, BY, BE, etc.)detail_status--okwhen the detail page was read,failedwhen details were requested but the page failed or was empty,nullwithout details. Jobs whose detail page could not be loaded are billed as search resultscompany_logo_url-- Company logo (displayed as image preview)search_query-- Which search keyword found this job
Job Details:
employment_type-- full-time, part-time, contract, apprenticeship, internshipworkload_min/workload_max-- Work percentage (0-100%)remote_option-- remote, hybrid, or onsitesalary_text-- Salary as displayed (e.g., "33.982 EUR - 47.036 EUR/Jahr")description_snippet-- Short description (500 chars)description_full-- Complete job descriptionrequirements-- Required skills (array)company_benefits-- Benefits offered (array)company_description-- About the company
Application:
apply_url-- Application URLapply_email-- Application emailcontact_salutation/contact_firstname/contact_lastname/contact_position-- Contact person from the application section (when named on the ad)contact_email/contact_phone-- Contact email (mailto of the application section) and phonecontact_raw-- The contact lines as publishedcompany_url-- Company website
You are responsible for using the data lawfully, including the GDPR/DSGVO, national data-protection laws and unfair-competition rules (e.g. UWG) for marketing and outreach.
Metadata:
posted_at-- Publication date (RFC 3339 UTC, day precision, midnight)posted_at_text-- Original date text from the listing (dd.mm.yyyy)expires_at-- Expiration datesource_url-- Original job posting URLsource_platform--"meinestadt.de"country--"DE"scraped_at-- Scraping timestamp
Usage Examples
Multi-Query Search
{"searchQueries": ["Pflege", "Krankenschwester", "Altenpfleger"],"city": "Berlin","maxResultsPerQuery": 50,"maxResults": 0}
Basic Search
{"searchQueries": ["Software Engineer"],"city": "Berlin","maxResultsPerQuery": 100}
Large-Scale Regional Search
{"searchQueries": ["Vertrieb", "Sales"],"city": "Munchen","radius": 50,"maxResultsPerQuery": 200,"includeDetails": true}
Fast SERP-Only (No Details)
{"searchQueries": ["Software Engineer", "Entwickler"],"city": "Hamburg","maxResultsPerQuery": 200,"includeDetails": false}
Monitor Specific Listings
{"directUrls": ["https://jobs.meinestadt.de/berlin/premium?id=100010962331","https://jobs.meinestadt.de/muenchen/premium?id=100010956488"]}
API Integration
curl -X POST https://api.apify.com/v2/acts/santamaria~meinestadt-de-scraper/runs \-H 'Authorization: Bearer YOUR_API_TOKEN' \-H 'Content-Type: application/json' \-d '{"searchQueries": ["Ingenieur", "Techniker"],"city": "Frankfurt","radius": 30,"maxResultsPerQuery": 100,"maxResults": 0}'
Performance
| Metric | Value |
|---|---|
| Speed | ~10 jobs/min with details, ~30 jobs/min SERP-only |
| Memory | 128 MB |
| Cost | ~0.02 CU per 50 jobs with details |
| Proxy | Datacenter works well |
Use with AI Agents (MCP)
Connect this actor to any MCP-compatible AI client — Claude Desktop, Claude.ai, Cursor, VS Code, LangChain, LlamaIndex, or custom agents.
Apify MCP server URL:
https://mcp.apify.com?tools=santamaria-automations/meinestadt-de-scraper
Example prompt once connected:
"Use
meinestadt-de-scraperto scrape job listings from meinestadt de. Return results as a table."
Clients that support dynamic tool discovery (Claude.ai, VS Code) will receive the full input schema automatically via add-actor.
Deutsch
Scraper fur Stellenanzeigen von MeineStadt.de, Deutschlands grosstem regionalen Stellenportal mit 900.000+ aktiven Anzeigen in allen deutschen Stadten und Bundeslandern.
Schneller HTTP-only Scraper -- kein Browser notig. Unterstutzt mehrere Suchbegriffe mit Limits pro Abfrage und Deduplizierung uber alle Abfragen.
Funktionen
- Multi-Query-Suche: mehrere Suchbegriffe in einem Aktorlauf, dedupliziert uber alle Abfragen
- Limits pro Abfrage und gesamt fur prazise Kostenkontrolle
- Vollstandige Details: Gehalt, Anforderungen, Benefits, Firmenbeschreibung
- Firmenlogos als Bildvorschau im Datensatz
- Direkter URL-Modus zur Uberwachung einzelner Anzeigen
- Automatische Paginierung uber alle Ergebnisseiten
- Deduplizierung nach Job-ID und Titel+Firma
- Pay-per-Result Preisgestaltung
- Geringer Speicherbedarf: 128 MB
Eingabeparameter
| Parameter | Typ | Erforderlich | Standard | Beschreibung |
|---|---|---|---|---|
searchQueries | string[] | Nein | -- | Ein oder mehrere Suchbegriffe. Ergebnisse werden uber alle Abfragen dedupliziert. |
searchQuery | string | Nein | -- | Einzelner Suchbegriff (abwartskompatibel). Nutzen Sie searchQueries fur mehrere. |
city | string | Nein | -- | Stadt (z.B. "Berlin", "Munchen"). Leer = ganz Deutschland |
radius | integer | Nein | 30 | Suchradius in km (0-200) |
maxResultsPerQuery | integer | Nein | 100 | Maximale Ergebnisse pro Suchbegriff |
maxResults | integer | Nein | 0 | Gesamtlimit uber alle Abfragen. 0 = unbegrenzt |
sortBy | string | Nein | newest | Sortierung: newest (echte serverseitige Datumssortierung; bezahlte Top-Anzeigen ohne Datumsreihenfolge werden uebersprungen) oder relevance (Standard-Relevanz der Seite). |
includeDetails | boolean | Nein | true | Vollstandige Stellenbeschreibungen laden |
titleFilter | string | Nein | leer | Kommagetrennte Titelbegriffe (Gross-/Kleinschreibung egal, ODER, Teilstring, Umlaute werden gefaltet). Beispiel: Erzieher, Pädagog. Treffer ohne passenden Titel werden vor dem Detailabruf und vor der Abrechnung verworfen. Ergebnislimits zaehlen nur behaltene Zeilen. Leer = kein Filter. |
directUrls | string[] | Nein | -- | Direkte Job-URLs (uberspringt Suche) |
Ausgabeschema
Jede Stellenanzeige enthalt:
Kernfelder:
id-- Eindeutige Stellen-IDtitle-- Stellenbezeichnungcompany-- Firmennamelocation-- Arbeitsort (Stadt)canton-- Bundesland-Kurzel (BW, BY, BE, etc.)company_logo_url-- Firmenlogo (als Bildvorschau)search_query-- Welcher Suchbegriff diesen Job gefunden hat
Stellendetails:
employment_type-- Vollzeit, Teilzeit, Befristet, Ausbildung, Praktikumsalary_text-- Gehaltsangabe wie angezeigtdescription_full-- Vollstandige Stellenbeschreibungrequirements-- Geforderte Fahigkeiten (Array)company_benefits-- Angebotene Leistungen (Array)
Bewerbung:
apply_url-- Bewerbungs-URLapply_email-- Bewerbungs-E-Mailcontact_salutation/contact_firstname/contact_lastname/contact_position-- Ansprechperson aus dem Bewerbungsbereich (sofern in der Anzeige genannt)contact_email/contact_phone-- Kontakt-E-Mail (mailto im Bewerbungsbereich) und Telefoncontact_raw-- Die Kontaktzeilen wie veroeffentlichtcompany_url-- Firmen-Website
Metadaten:
posted_at-- Veroffentlichungsdatum (RFC 3339 UTC, tagesgenau)posted_at_text-- Originaler Datumstext der Anzeige (dd.mm.yyyy)source_url-- Original-Stellenanzeigen-URLsource_platform--"meinestadt.de"country--"DE"
Verwendungsbeispiele
Multi-Query-Suche
{"searchQueries": ["Pflege", "Krankenschwester", "Altenpfleger"],"city": "Berlin","maxResultsPerQuery": 50}
Einfache Suche
{"searchQueries": ["Pflege"],"city": "Berlin","maxResultsPerQuery": 100}
Regionale Suche mit grossem Radius
{"searchQueries": ["Vertrieb"],"city": "Munchen","radius": 50,"maxResultsPerQuery": 500}
Leistung
| Metrik | Wert |
|---|---|
| Geschwindigkeit | ~10 Stellen/Min mit Details, ~30 Stellen/Min nur SERP |
| Speicher | 128 MB |
| Kosten | ~0,02 CU pro 50 Stellen mit Details |
| Proxy | Datacenter funktioniert gut |
Related Actors
Working across the German job market? These complement Meine Stadt:
Germany
- StepStone.de Scraper — a German general job board.
- Stellenmarkt.de Scraper — a German national job board (generalist).
- Stellenanzeigen.de Scraper — German national job board (generalist).
- Arbeitsagentur.de Scraper — Germany's federal employment agency (Bundesagentur für Arbeit) public listings.
- Jobware.de Scraper — German IT/engineering specialist board.
- Nicejob.de Scraper — German job board with company-culture focus.
- E-Fellows Scraper — German student/graduate jobs and internships.
Switzerland
Austria
Global
Enrich your job data
- Website Job Extractor -- Extract jobs directly from company career pages
- Website Contact Extractor -- Get emails and phone numbers from company websites
- Website Email & Phone Scraper -- Fast email and phone extraction (no AI needed)
Part of the Santamaria Job Scrapers Suite -- Professional-grade job data for the DACH region and beyond.