September 5, 2026 · 9 min read
DasTelefonbuch Scraper: German Business Directory Playbooks
Direct answer
Scrape DasTelefonbuch.de (Germany's business directory) listings. Search by category (Branche) and city (Ort), or fetch full business profiles by URL. Get names, addresses, phone numbers, ratings, opening hours, websites, and coordinates. This scraper operates in two main modes: category-city search queries and direct URL profile lookups. The most effective implementations focus on defined operational deliverables such as trade prospect rosters, territorial density indices, or normalized local directory feeds. Rather than pulling massive unfiltered dumps, teams extract targeted records by specifying postal codes or municipal areas, setting rating thresholds, and selecting whether profile-level detail fetches are required.
Practical use cases
These use cases come from DasTelefonbuch Scraper - German Business Directory's published documentation. Each is expanded into an operating pattern so the DasTelefonbuch Scraper - German Business Directory output has a purpose beyond collection.
Use case 1: Local lead generation
Outcome: build a prospect list of businesses by trade and city for B2B outreach.
Question to answer: Which candidates clear every hard requirement, and which evidence field justifies each one that does?
Configure: Start with category (Business category to search for. Pick a common category from the list, or choose 'Custom category' and type your own in the field below (mode=search).), minRating (Only return businesses rated at least this many stars, e.g. '4' for 4.0+ (mode=search). Applied both server-side (via DasTelefonbuch's own rating filter) and as a client-side safety check.), fetchDetails (For each search result, also visit its business profile page to collect precise coordinates, opening hours text, and the full list of categories. Slower (mode=search).). Use the narrowest DasTelefonbuch Scraper - German Business Directory values that represent the real task, keep the first result set small, and record why each selected input matters to the DasTelefonbuch Scraper - German Business Directory outcome.
Working method: Fix the disqualifying criteria first so obvious mismatches are removed cheaply, then apply the positive criteria only to what remains, recording the evidence field behind every qualified decision.
Deliverable: Create a qualification report listing every candidate's status and the specific field that decided it, with source links attached. Include the DasTelefonbuch Scraper - German Business Directory source identifier and the collected fields behind every DasTelefonbuch Scraper - German Business Directory decision.
Stop condition: Pause when a qualifying decision cannot be traced to one documented field, or two records cannot be confirmed as distinct entities. Fix the DasTelefonbuch Scraper - German Business Directory question, comparison rule, or configuration before expanding the DasTelefonbuch Scraper - German Business Directory run.
Use case 2: Market research
Outcome: measure business density and average ratings for a category across German cities.
Question to answer: After grouping fairly, which gaps are large enough to matter, and which are within normal variation?
Configure: Start with category (Business category to search for. Pick a common category from the list, or choose 'Custom category' and type your own in the field below (mode=search).), mode (What to fetch: search a category + city, or fetch full business profiles from direct URLs.), minRating (Only return businesses rated at least this many stars, e.g. '4' for 4.0+ (mode=search). Applied both server-side (via DasTelefonbuch's own rating filter) and as a client-side safety check.). Use the narrowest DasTelefonbuch Scraper - German Business Directory values that represent the real task, keep the first result set small, and record why each selected input matters to the DasTelefonbuch Scraper - German Business Directory 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 ranked comparison brief listing each cohort, its defining fields, and the specific gap that matters for the decision. Include the DasTelefonbuch Scraper - German Business Directory source identifier and the collected fields behind every DasTelefonbuch Scraper - German Business Directory decision.
Stop condition: Pause when the comparison rule shifted mid-analysis, or a single record is skewing an entire cohort's average. Fix the DasTelefonbuch Scraper - German Business Directory question, comparison rule, or configuration before expanding the DasTelefonbuch Scraper - German Business Directory run.
Use case 3: Directory aggregation
Outcome: feed structured German business data into your own local-search product.
Question to answer: Once near-duplicates are grouped, which stories actually add something new for the audience?
Configure: Start with category (Business category to search for. Pick a common category from the list, or choose 'Custom category' and type your own in the field below (mode=search).), mode (What to fetch: search a category + city, or fetch full business profiles from direct URLs.), city (German city, town, or postal code to search in, e.g. 'Berlin', 'München', 'Köln', 'Hamburg' (mode=search).). Use the narrowest DasTelefonbuch Scraper - German Business Directory values that represent the real task, keep the first result set small, and record why each selected input matters to the DasTelefonbuch Scraper - German Business Directory outcome.
Working method: Cluster near-duplicate coverage first so the queue is not dominated by one story, then score what remains on audience fit and freshness before making any selection.
Deliverable: Create a curation log listing each selected item, its cluster, and the specific reason it beat the alternatives in that cluster. Include the DasTelefonbuch Scraper - German Business Directory source identifier and the collected fields behind every DasTelefonbuch Scraper - German Business Directory decision.
Stop condition: Pause when one source is supplying most of the selected items, or novelty cannot be judged against a recent baseline. Fix the DasTelefonbuch Scraper - German Business Directory question, comparison rule, or configuration before expanding the DasTelefonbuch Scraper - German Business Directory run.
Setting up the scraper inputs
The input schema supports targeted filtering to minimize unnecessary page requests:
mode(string): Defines operational mechanics. Usesearchto scan categories and cities, ordetailto fetch specific listings using direct profile URLs.category(string): Selects from more than 40 curated German business trades (such asDachdecker,Maler,Steuerberater, orRechtsanwalt).customCategory(string): Provides a free-text field for specialized industries not found in the dropdown (such as"Fensterreinigung"or"Yoga-Studio"). When set, it overridescategory.city(string): Designates the target municipality, borough, or postal code (such as"Köln","Hamburg", or"80331").sortBy(string): Determines directory result ordering ("relevance","rating", or"name").openNowOnly(boolean): Restricts returned listings to firms currently marked active and open at query time.ratedOnly(boolean): Restricts output to businesses possessing one or more consumer reviews (ignored ifminRatingis applied).minRating(string): Enforces a star threshold ("1"to"5") across server-side filters and client-side validation.fetchDetails(boolean): Instructs the scraper to visit individual business profile URLs to extract coordinates, detailed hours, email addresses, and extended categories.businessUrls(array): Accepts an array of direct profile URLs when running undermode: "detail".maxItems(integer): Sets a hard ceiling on output items (1 to 1000, default 50).
Step-by-step extraction workflow
Following a structured workflow ensures clean directory datasets for analytics or pipeline integration:
- Define target geography and trade: Decide on the exact Branche and target region. Choose whether to search broad city designations (
"Berlin") or localized postal codes for denser suburbs. - Run a reconnaissance search batch: Execute a lightweight discovery run using
mode: "search",fetchDetails: false, andmaxItems: 20to verify how DasTelefonbuch categorizes your target sector in that locality. - Assess profile detail requirements: Determine whether your downstream pipeline requires coordinate mapping, emails, and operating hours. If these fields are mandatory, enable
fetchDetails: true. - Harvest and inspect dataset output: Extract the dataset and review omitted fields. Because DasTelefonbuch omits absent fields rather than returning blank placeholders, audit how many records contain
phone,website, oremail. - Deduplicate and ingest via primary keys: Deduplicate collected rows using
sourceUrlbefore committing records into production databases or CRM pipelines.
Output data structure and handling omitted fields
DasTelefonbuch records only publish fields provided by businesses or generated by user reviews. Consequently, empty fields are omitted from the output object rather than output as empty strings or null keys.
| Output Field | Source Layer | Description |
|---|---|---|
name |
Search / Detail | Official business name |
category |
Search listing | Primary listed trade category |
categories[] |
Profile page | Array of all registered classification categories |
street, zipCode, city |
Search / Detail | Standardized physical address components |
latitude, longitude |
Profile page | Direct GPS coordinates (requires fetchDetails: true) |
phone, email, website |
Search / Detail | Published corporate communication channels |
openingHours[] |
Profile page | Structured open/close time intervals per weekday |
rating, reviewCount |
Search / Detail | Review averages and aggregate customer feedback volume |
sourceUrl |
Search listing | Canonical URL on dastelefonbuch.de used as unique identifier |
Downstream data systems must treat absent attributes as null or missing rather than rejecting records. When building contact directories, filter specifically for records where phone or email keys exist.
Frequently asked questions
Why are some contact details or coordinates missing from the output?
DasTelefonbuch only renders information supplied by the business owner or listed publicly. If an organization does not display an email or website, those fields are excluded from the output object. Additionally, fields like latitude, longitude, email, and openingHours[] require setting fetchDetails: true in search mode, or running the scraper in detail mode.
Can I query specific postal codes instead of city names?
Yes. The city input accepts standard 5-digit German postal codes (Postleitzahlen) as well as municipal town names. Supplying postal codes allows fine-grained data collection across large metropolitan areas like Berlin or Munich.
How does minRating differ from ratedOnly?
The ratedOnly toggle returns any merchant who has received at least one review, regardless of whether the score is high or low. The minRating parameter applies a strict threshold (1 through 5 stars), discarding any business falling below that star rating.
How does the scraper handle German umlauts and special characters?
The actor natively supports UTF-8 character encoding, ensuring German characters (such as ä, ö, ü, and ß) in company titles, street names, and category queries remain intact in both input fields and exported records.
Resources
● Featured actors
DasTelefonbuch Scraper - German Business Directory
Scrape DasTelefonbuch.de (Germany's business directory) listings. Search by category (Branche) and city (Ort), or fetch full business profiles by URL. Get names, addresses, phone numbers, ratings, opening hours, websites, and coordinates.
Run on Apify ↗