Stellenanzeigen.de Scraper — German Job Listings avatar

Stellenanzeigen.de Scraper — German Job Listings

Pricing

from $2.00 / 1,000 result scrapeds

Go to Apify Store
Stellenanzeigen.de Scraper — German Job Listings

Stellenanzeigen.de Scraper — German Job Listings

Scrape job listings from Stellenanzeigen.de, a major German job board. Get titles, companies, locations, posting dates, and optional full descriptions with employment type and validity via JSON-LD. Fast, no login.

Pricing

from $2.00 / 1,000 result scrapeds

Rating

0.0

(0)

Developer

Studio Amba

Studio Amba

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

8 days ago

Last modified

Categories

Share

Stellenanzeigen.de Scraper

Extract job listings from Stellenanzeigen.de, one of Germany's major second-tier job boards. It carries a broad mix of engineering, IT, skilled-trade, and administrative roles from direct employers across the country.

This Actor pulls job titles, companies, locations, posting dates, and short teaser text straight from the search results, and can optionally visit each job's detail page to add the full job description, employment type, and posting validity — all parsed from the page's structured JobPosting (schema.org) data, not scraped from raw HTML.

What does Stellenanzeigen.de Scraper do?

Give it a German keyword (for example Ingenieur, Softwareentwickler, or Pflegekraft) and, optionally, a city or postal code. The Actor requests Stellenanzeigen.de's search pages, paginates through the results, and returns clean, structured records you can download as JSON, CSV, Excel, or HTML — or pull through the Apify API into your own systems.

By default it stays at the search-page level: one request per 25 jobs, fast and cheap. Turn on Fetch Full Details and it visits every job's detail page too, adding the full description text, employment type, and the date the posting expires.

Because it runs on the Apify platform, you also get scheduling, monitoring, proxy rotation, and integrations (webhooks, Make, Zapier, Google Sheets) out of the box.

Why use Stellenanzeigen.de Scraper?

  • Cheap by default. Without Fetch Full Details, the Actor makes one request per page of 25 jobs — no multiplier, no waiting.
  • Structured detail data. Full descriptions come from the page's own JSON-LD JobPosting block, the same structured data Google for Jobs reads, so extraction is stable and clean.
  • Real teaser copy. Each job includes the marketing blurb the site itself writes for the role, not just a truncated title.
  • Labour-market research. Track hiring demand by role, region, or employer over time.
  • Recruitment and sourcing. Build lead lists of companies actively hiring for a role.
  • Job aggregators. Feed a niche job site or newsletter with fresh, structured listings.

How to scrape Stellenanzeigen.de data

  1. Open the Actor and go to the Input tab.
  2. Enter a Search Query in German (e.g., Ingenieur, Softwareentwickler, Pflegekraft).
  3. Optionally set a Location — a city name or German postal code (e.g., Berlin, 10115) — to narrow the search to a roughly 30 km radius.
  4. Optionally enable Fetch Full Details to get the full job description, employment type, and validity date for every listing.
  5. Set Max Results to control how many listings you want.
  6. Click Start. When the run finishes, open the Output tab and download your data as JSON, CSV, Excel, or HTML.

That's it. You can also schedule the Actor to run daily and feed new listings into your own pipeline.

Input

FieldTypeDescription
searchQuerystringGerman keyword to search for. Defaults to Ingenieur.
locationstringCity name or German postal code (e.g., Berlin, 10115). Leave empty to search all of Germany.
fetchDetailsbooleanFetch each job's detail page for the full description, employment type, and expiry date. Default false.
maxResultsintegerMaximum number of listings to return (default 100).
proxyConfigurationobjectProxy settings. Apify auto/datacenter proxies work well.

Example input

{
"searchQuery": "Softwareentwickler",
"location": "Berlin",
"fetchDetails": true,
"maxResults": 100,
"proxyConfiguration": {
"useApifyProxy": true
}
}

Output

Each job is returned as one dataset record. You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.

Example output item

{
"jobId": "SDE-98590",
"jobTitle": "Microsystem Engineer (w/m/d)",
"company": "HOERBIGER Flow Control GmbH",
"location": "Stuttgart, Altenstadt, Redwitz an der Rodach",
"url": "https://www.stellenanzeigen.de/job/microsystem-engineer-w-m-d-stuttgart-altenstadt-redwitz-an-der-rodach-sde-98590/",
"postedDate": "2026-07-12T00:00:00.000Z",
"teaser": "Als Microsystem Engineer (w/m/d) gestaltest du innovative mikromechanische Produkte und Fertigungslösungen. Setze technologische Ideen in Serienprodukte um und trage aktiv zur Transformation in der Industrie bei.",
"jobDescription": "Land: Deutschland\nEinsatzort: Altenstadt, Redwitz, Stuttgart\n...(full plain-text ad, only with Fetch Full Details)",
"employmentType": "FULL_TIME",
"validThrough": "2026-07-13T21:59:00.000Z",
"scrapedAt": "2026-07-13T09:00:00.000Z"
}

Data fields

FieldDescription
jobIdStellenanzeigen.de internal job reference number
jobTitleJob posting title
companyHiring company or organisation
locationCity, region, or list of workplace locations as shown on the search page
urlCanonical Stellenanzeigen.de job detail page URL
postedDateISO 8601 date the posting was shown as live/refreshed on the search page
teaserShort marketing blurb for the role, taken from the search page
jobDescriptionFull plain-text job description (with Fetch Full Details, capped at 5,000 characters)
employmentTypeSchema.org employment type, e.g. FULL_TIME, PART_TIME (with Fetch Full Details)
validThroughISO 8601 date the posting expires (with Fetch Full Details)
scrapedAtISO 8601 collection timestamp

How much does it cost to scrape Stellenanzeigen.de?

Without Fetch Full Details, the Actor makes one HTTP request per 25 jobs, so runs of a few hundred listings finish in well under a minute. With Fetch Full Details on, expect one extra request per job — for a few hundred jobs that's still quick; for thousands, budget more time. The Actor saves its progress as it goes, so a long run survives platform restarts without duplicating rows. Pricing follows this Actor's pay-per-result configuration on the Apify Store — check the pricing box on the Actor page for the current rate.

Tips and advanced options

  • German keywords. The board is German. Use German job titles (Ingenieur, not engineer) for the best coverage.
  • Location filtering. Both city names and postal codes work (Berlin or 10115); the site applies a roughly 30 km radius around the resolved location.
  • Details cost time. fetchDetails adds one request per job. For a few hundred jobs that's fine; for thousands, expect a longer run — the Actor's progress is saved, so long runs survive platform migrations without re-scraping or duplicating rows.
  • Deduplication. Results are de-duplicated by job ID within a run.
  • Teaser quality. The teaser field pulls the site's own marketing blurb for the role when available, falling back to the job's badge tags (e.g. "Vollzeit, Homeoffice") if that text isn't present for a given listing.

FAQ, disclaimers, and support

Is scraping Stellenanzeigen.de legal? This Actor reads the same publicly served search and job pages as any visitor's browser, including the structured JobPosting data the site itself publishes for search engines. Use the data responsibly and in line with applicable terms and data-protection law. You are responsible for how you use the extracted data.

Do I need an account or API key? No. No login or cookies are required.

Why is a field missing on some jobs? A small share of listings may not carry every field (for example, some cards don't have a marketing teaser, only badge tags). The Actor fills what's available and never blocks a run over a missing optional field.

Something's not working. Open an issue on the Actor's Issues tab with your input and the run link. Custom fields or a tailored version can also be arranged.