September 6, 2026 · 8 min read
Ausbildung.de Vocational Training Scraper: 3 Practical Use Cases
Direct answer
Ausbildung.de Vocational Training Scraper collects German apprenticeship (Ausbildung) listings from ausbildung.de. You can query positions by city and category, look up specific occupations nationwide, or perform broad free-text searches across job titles and employers. The scraper extracts key details including posting titles, hiring organizations, geographic locations, starting dates, school diploma prerequisites, training types, and direct application methods. To use this data reliably, establish your decision framework, choose appropriate query parameters, and validate output batches against defined acceptance criteria before syncing to production systems.
Practical use cases
These use cases come from Ausbildung.de Vocational Training Scraper's published documentation. Each is expanded into an operating pattern so the Ausbildung.de Vocational Training Scraper output has a purpose beyond collection.
Use case 1: Career counseling platforms
Outcome: surface current openings by region and field.
Question to answer: Applying the documented rule as written, which records clearly pass, which clearly fail, and which need a human call?
Configure: Start with category (Broad topic/industry to filter the city search. kaufmaennisch (commercial/office) is the broadest category and is populated for virtually every city. Not every category has listings in every city - an unlisted combination returns 0 records, not an error. Note: alle-berufe (unfiltered) is intentionally excluded because ausbildung.de renders it as an infinite-scroll page with no listings in the initial server response.), searchQuery (Free-text keyword searched nationwide across profession titles and company names, e.g. Fachinformatiker, Bäcker, McDonald's. Broader than professionSlug (exact slug match) - matches partial/fuzzy profession and employer names.), apprenticeshipType (Filter by the type of vocational training program.). Use the narrowest Ausbildung.de Vocational Training Scraper values that represent the real task, keep the first result set small, and record why each selected input matters to the Ausbildung.de Vocational Training Scraper outcome.
Working method: Write the acceptance rule down before the first record is reviewed, apply it consistently across the batch, and change only one rule or input between batches so any shift in the result has a clear cause.
Deliverable: Create a reviewed queue where every record keeps its raw form alongside the rule that accepted, excluded, or flagged it as uncertain. Include the Ausbildung.de Vocational Training Scraper source identifier and the collected fields behind every Ausbildung.de Vocational Training Scraper decision.
Stop condition: Pause when the acceptance rule had to be reinterpreted mid-batch, or reviewers disagree on how to apply it to the same record. Fix the Ausbildung.de Vocational Training Scraper question, comparison rule, or configuration before expanding the Ausbildung.de Vocational Training Scraper run.
Use case 2: Vocational-training research
Outcome: track apprenticeship supply across German cities/industries.
Question to answer: Between this run and the last, what actually moved, and does the shift clear the bar for action?
Configure: Start with apprenticeshipType (Filter by the type of vocational training program.), searchQuery (Free-text keyword searched nationwide across profession titles and company names, e.g. Fachinformatiker, Bäcker, McDonald's. Broader than professionSlug (exact slug match) - matches partial/fuzzy profession and employer names.), startDateFrom (Only keep listings whose training start date (startsNoEarlierThan) is on or after this date.). Use the narrowest Ausbildung.de Vocational Training Scraper values that represent the real task, keep the first result set small, and record why each selected input matters to the Ausbildung.de Vocational Training Scraper outcome.
Working method: Store every run under its collection date, key records by a durable identifier rather than position or display text, and only escalate a difference once it has been confirmed against two consecutive runs.
Deliverable: Create a change log entry per run listing what appeared, what disappeared, and what changed enough to matter. Include the Ausbildung.de Vocational Training Scraper source identifier and the collected fields behind every Ausbildung.de Vocational Training Scraper decision.
Stop condition: Pause when a change is flagged from a single run with no second confirmation, or the matching key itself proves unstable. Fix the Ausbildung.de Vocational Training Scraper question, comparison rule, or configuration before expanding the Ausbildung.de Vocational Training Scraper run.
Use case 3: Labor-market analysis
Outcome: measure apprenticeship demand per profession and diploma level.
Question to answer: After grouping fairly, which gaps are large enough to matter, and which are within normal variation?
Configure: Start with searchQuery (Free-text keyword searched nationwide across profession titles and company names, e.g. Fachinformatiker, Bäcker, McDonald's. Broader than professionSlug (exact slug match) - matches partial/fuzzy profession and employer names.), keyword (Case-insensitive substring match against title, profession title, and company name.), includeJobDescription (For each listing, also fetch its detail page and add the full description text, contact/address details, and employment type. Slower (1 extra request per record) but much richer output.). Use the narrowest Ausbildung.de Vocational Training Scraper values that represent the real task, keep the first result set small, and record why each selected input matters to the Ausbildung.de Vocational Training Scraper outcome.
Working method: Set the comparison rule before seeing the results, group records against that rule rather than after the fact, and treat any record that resists grouping as information, not noise to discard.
Deliverable: Create a side-by-side comparison table with cohort labels, normalized fields, and a short note on what the gap implies. Include the Ausbildung.de Vocational Training Scraper source identifier and the collected fields behind every Ausbildung.de Vocational Training Scraper decision.
Stop condition: Pause when cohorts overlap on the defining field, or the gap being reported depends on a field with heavy missing data. Fix the Ausbildung.de Vocational Training Scraper question, comparison rule, or configuration before expanding the Ausbildung.de Vocational Training Scraper run.
Step-by-step setup and execution guide
- Identify your core analytical goal and select the matching execution mode (
byCity,byProfession, orbyQuery). - Open Ausbildung.de Vocational Training Scraper on the Apify platform.
- Configure primary search parameters, ensuring German umlauts in
citySlugare transliterated (such as replacing ä with ae and ö with oe). - Set secondary quality filters, such as
expectedGraduation,apprenticeshipType, orminVacancyCount, to narrow results to valid prospects. - Toggle
includeJobDescriptionto true only if your pipeline requires complete ad text, physical addresses, and recruiter contact information. - Run an initial test with a restricted
maxItemscap (e.g., 10 to 20 items) to verify field presence and schema compatibility. - Inspect key output attributes (
vacancyId,title,corporationName,startsNoEarlierThan,listingUrl) for accuracy before integrating with your production database.
Input schema and configuration controls
The scraper accepts several input fields to tailor searches on ausbildung.de:
mode(string): Specifies execution type (byCity,byProfession, orbyQuery). Default is"byCity".citySlug(string): German city identifier (e.g.,"berlin","muenchen","hamburg","koeln"). Umlauts are transliterated automatically, and spaces convert to hyphens.category(string): Broad topic or industry sector for city searches (e.g.,"kaufmaennisch","it","handwerk"). Note that unfiltered searching (alle-berufe) is excluded due to website infinite-scroll restrictions.professionSlug(string): Exact occupational identifier from the ausbildung.de glossary of ~700 professions (e.g.,"fachinformatiker","altenpfleger","mechatroniker").searchQuery(string): Free-text keyword applied nationwide across job titles and employer names (e.g.,"Bäcker","McDonald's").expectedGraduation(string): Filters listings by minimum educational qualification ("hauptschulabschluss","mittlerer-schulabschluss","fachabitur","abitur","keine-angabe").apprenticeshipType(string): Filters by vocational model (e.g.,"klassische-duale-berufsausbildung","duales-studium","schulische-ausbildung").startDateFrom/startDateTo(string): Limits listings based on the earliest training commencement date (YYYY-MM-DD).minVacancyCount(integer): Drops postings offering fewer open training spots than specified.keyword(string): Substring matching applied across titles, occupation designations, and company names.directApplicationOnly(boolean): Restricts results to positions accepting direct digital applications.topRatedEmployerOnly(boolean): Limits output to employers designated as top-rated on ausbildung.de.includeJobDescription(boolean): Requests individual listing detail pages to retrieve full ad text, street addresses, and contact channels.maxItems(integer): Sets the extraction ceiling (1 to 300 records). The scraper traverses up to 25 server-rendered pages until the limit or pool exhaustion is reached.
Documented constraints and operational boundaries
- Pagination behavior: The scraper navigates server-rendered pages up to a 25-page ceiling. It terminates automatically if consecutive pages return zero new items, handling pool recycling on narrow queries. If the total pool of available positions is smaller than
maxItems, the run completes with fewer records. - Joint filtering limits: Combining a specific municipality with an exact profession slug (such as filtering for an IT specialist specifically within Cologne) is not directly supported by the website architecture. Use
mode: "byCity"with a broad sector category ormode: "byProfession"nationwide. - State-level directories: State-level (
Bundesland) landing pages and general company directory views serve as navigational hubs on ausbildung.de and cannot be scraped as standalone query modes.
Frequently asked questions
Why does a valid profession slug return zero listings?
Certain occupational entries in the ausbildung.de glossary represent academic tracks or legacy titles that have been merged or retired (such as altenpfleger transitioning into pflegefachmann). While reference pages exist for these titles, active apprenticeship openings may be zero.
How does includeJobDescription affect scraping speed?
Setting includeJobDescription to true makes an additional HTTP request per listing to extract complete ad copy, street addresses, and contact emails. This increases data richness but slows down overall run speed.
How should missing postal codes be interpreted?
Some employer postings on ausbildung.de designate a broader regional coverage area rather than a single facility, omitting explicit postal codes while providing city names.
Are proxies or platform logins required?
No authentication, proxy configuration, or browser cookies are required. The scraper reads public, server-rendered HTML pages directly.
Resources
● Featured actors
Ausbildung.de Vocational Training Scraper
Scrape German apprenticeship (Ausbildung) job listings from ausbildung.de by city and category, or by specific profession nationwide. Get titles, companies, locations, start dates, requirements, and application details.
Run on Apify ↗