🏆 Advanced MeineStadt.de Job Listing Scraper  🏆 avatar

🏆 Advanced MeineStadt.de Job Listing Scraper 🏆

Pricing

from $1.00 / 1,000 results

Go to Apify Store
🏆 Advanced MeineStadt.de Job Listing Scraper  🏆

🏆 Advanced MeineStadt.de Job Listing Scraper 🏆

Scrape German regional job listings from jobs.meinestadt.de by keyword, city and radius.

Pricing

from $1.00 / 1,000 results

Rating

0.0

(0)

Developer

Muhammad Shamshad Aslam

Muhammad Shamshad Aslam

Maintained by Community

Actor stats

0

Bookmarked

5

Total users

3

Monthly active users

5 days ago

Last modified

Share

MeineStadt.de Job Scraper

Scrapes German regional job listings from jobs.meinestadt.de by keyword, city and radius — or directly from pasted job / search URLs. Results come from the site's internal jobsSearch JSON API (called from within a real browser session), so the data is complete and stable even when the page markup changes.

Input

FieldTypeDescription
searchUrlsarraySearch URLs copied from the site (…/leipzig/suche?words=…) — reproduced exactly with all their filters. Individual job detail URLs (…/leipzig/premium?id=123) also work. Takes precedence: when set, keyword search is skipped.
searchKeywordsarraySearch terms; each runs as its own search, results deduplicated by job ID.
citystringCity to search near (e.g. Berlin). Empty = all of Germany. Geocoded automatically so the radius works exactly like on the site.
radiusintegerSearch radius in km (default 30).
postedWithinselectTimeliness (Aktualität): any, 1 = last 24 hours, 7 = last 7 days — the same options the site offers.
workTimemulti-selectVollzeit and/or Teilzeit. Empty = all.
homeOfficeOnlybooleanOnly jobs marked "Homeoffice möglich".
directOffersOnlybooleanOnly direct employer offers (Direktangebot), excluding staffing agencies.
includeMinijobsbooleanAlso include minijob listings.
includeRelatedResultsbooleanAlso scrape the related/nearby jobs the site appends after the real hits (default off = only what the site's "X Treffer" counter shows).
maxResultsPerQueryintegerCap per keyword (0 = unlimited).
maxTotalResultsintegerGlobal cap across all queries (0 = unlimited).
includeFullJobDetailsbooleanVisit each detail page for description, contact person, apply email (default true). SERP-only runs are ~3× faster and still include salary, skills, benefits.
fetchCompanyDetailsbooleanAlso extract company description / website / logo from detail pages (default false).
proxyConfigurationobjectApify proxy. RESIDENTIAL recommended (site is behind Akamai Bot Manager).

Pasting search URLs

Compose any filtered search in the meinestadt.de UI, copy the address-bar URL, and paste it into searchUrls — the actor reproduces it exactly, including filters carried in the URL hash (radius, d timeliness, minijob, work_time, homeoffice, mode_of_employment):

https://jobs.meinestadt.de/leipzig/suche?words=zimmerer#order=search(stelle%2Cfalse)&jobsSearch={"radius":100,"d":7,"filters":["work_time:Vollzeit"]}

Output

One dataset item per job, in the shared cross-scraper schema:

{
"id": "ms-100012922043001",
"title": "Schreiner, Zimmerer, Tischler o. ä. als Schalungsbauexperte (m/w/d)",
"company": "Doka Deutschland GmbH",
"location": "Nossen",
"distance_km": 23,
"job_status": "online",
"top_listing": "premium",
"employment_type": "full-time",
"contract_type": "Festanstellung",
"fixed_term": "Unbefristet",
"workload_min": 100,
"workload_max": 100,
"remote_option": null,
"salary_text": "30.100 € - 39.000 €/Jahr (geschätzt)",
"description_snippet": "…",
"requirements": ["Bauwesen", "Teamfähigkeit", "Montage"],
"posted_at": "2026-07-13T00:00:00Z",
"expires_at": null,
"source_url": "https://jobs.meinestadt.de/nossen/premium?id=100012922043001",
"source_platform": "meinestadt.de",
"contact_salutation": "Herr",
"contact_firstname": "Gunnar",
"contact_lastname": "Griese",
"contact_email": "jobs@example.de",
"contact_phone": "05032 - 898 461",
"apply_url": "https://jobs.meinestadt.de/nossen/premium?id=100012922043001",
"apply_email": "jobs@example.de",
"company_logo_url": "https://image-resize.meinestadt.de/…",
"company_benefits": ["Job-Rad", "Flexible Arbeitszeiten"],
"categories": ["Handwerk & Produktion|Bau & Ausbau|Zimmerer|Bauzimmerer"],
"ad_type": "premium",
"link_out": false,
"result_type": "core",
"country": "DE",
"search_query": "zimmerer",
"scraped_at": "2026-07-14T10:00:00.000Z"
}

Notes:

  • result_type: "core" = actual search hit (what the site's "X Treffer" counts); other values appear only with includeRelatedResults and mark appended related/nearby jobs.
  • On-site listings (premium/standard) get detail-page data merged in (description, contact, apply email).
  • Linkout ads (link_out: true, external redirect URLs) are saved with SERP data only — no on-site detail page exists.
  • contact_* fields come from the detail page's "Kontakt" block and are null when the ad has none.

Why this scraper

  • Exact results — search counts match what you see on the site, including radius, timeliness and all other filters. No inflated numbers from "related" filler jobs (unless you opt in via Include Related Results).
  • Rich data — salary ranges, skills, benefits, employment and contract type, posted dates, company logos, and (from detail pages) full contact persons with phone and email.
  • Reliable — built-in blocking countermeasures with automatic retries; runs hands-off on a schedule.
  • Flexible input — keyword searches, or just paste any search URL from the site and it's reproduced 1:1 with all its filters.

Use cases

  • Lead generation — extract hiring companies with direct contact persons, phone numbers and application emails.
  • Job monitoring — track new postings for specific keywords/regions on a schedule (combine with Posted Within: last 24 hours for daily deltas).
  • Market research — salary ranges, in-demand skills and benefits across German regions and industries.
  • Job aggregation — feed structured listings into your own job board or CRM.