Das Telefonbuch Business Scraper
Pricing
Pay per event
Das Telefonbuch Business Scraper
Scrape German business leads from Das Telefonbuch by keyword, city, or result URL. Extract names, addresses, phones, websites, ratings, and source links.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Stas Persiianenko
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
6 days ago
Last modified
Categories
Share
Collect German business leads from Das Telefonbuch search pages.
What does Das Telefonbuch Business Scraper do?
Das Telefonbuch Business Scraper extracts public company listings from dastelefonbuch.de.
It is built for keyword and city searches such as restaurants in Berlin, dentists in Munich, or tax advisors in Hamburg.
The actor saves structured rows with business names, addresses, phone numbers, websites, categories, ratings, opening-hours snippets, detail URLs, and source URLs.
Who is it for?
- 🧑💼 Sales teams building German local lead lists.
- 🧭 Local SEO agencies checking business visibility in German directories.
- 🏢 B2B marketers segmenting companies by city and business category.
- 🧪 Data teams enriching CRM records with public directory information.
- 🧑🔬 Researchers comparing local business coverage across German cities.
Why use this actor?
Manual copying from directory pages is slow and error-prone. This actor turns repeat searches into exportable datasets that can be downloaded as CSV, JSON, Excel, XML, or connected directly to automations.
What data can you extract?
| Field | Description |
|---|---|
name | Business name |
category | Business branch/category |
phone | Visible phone number |
website | Business website when shown |
address | Combined street, postal code, city, and district |
streetAddress | Street and house number |
postalCode | German postal code |
city | City |
district | Neighborhood or district when available |
ratingValue | Public rating value |
ratingCount | Number of ratings |
openingHoursText | Visible opening-hours snippet |
detailUrl | Das Telefonbuch detail page |
pageUrl | Result page where the listing was found |
entryId | Directory entry identifier |
scrapedAt | Timestamp of extraction |
How much does it cost to scrape Das Telefonbuch business leads?
The actor uses pay-per-event pricing. You pay a small start fee per run and a per-result fee for each saved business listing.
Current configured pricing:
| Charge | Free tier | Bronze | Silver | Gold | Platinum | Diamond |
|---|---|---|---|---|---|---|
| Run start | $0.005 | $0.005 | $0.005 | $0.005 | $0.005 | $0.005 |
| Saved business listing | $0.000060705 | $0.000052787 | $0.000041174 | $0.000031672 | $0.000021115 | $0.000014780 |
Example cost estimates before Apify platform fees or plan-specific credits:
| Example run | Estimated charge on Free tier | Estimated charge on Bronze |
|---|---|---|
| 25 saved listings | about $0.0065 | about $0.0063 |
| 100 saved listings | about $0.0111 | about $0.0103 |
| 500 saved listings | about $0.0354 | about $0.0314 |
Apify's free monthly platform credits can usually cover many small test runs. For example, at Free-tier pricing, a 100-listing run is roughly one cent of actor charges, so $5 of credits can cover hundreds of similar small tests before other platform costs are considered.
Use a small maxItems value for a first test.
Increase limits only after you confirm the search returns the type of businesses you need.
Quick start
- Open the actor on Apify.
- Enter a business keyword such as
Restaurant. - Enter a German city such as
Berlin. - Set
maxItemsto a small value for the first run. - Start the run.
- Download the dataset in your preferred format.
Input options
keyword
Business category or search term. Examples:
- Restaurant
- Zahnarzt
- Steuerberater
- Hotel
- Friseur
location
German city or area. Examples:
- Berlin
- München
- Hamburg
- Köln
- Frankfurt
startUrls
Use direct Das Telefonbuch result URLs when you already have a search page. Example:
[{ "url": "https://www.dastelefonbuch.de/Suche/Restaurant/Berlin" }]
maxItems
Maximum number of businesses to save across the run.
maxPagesPerSearch
Maximum number of result pages to fetch for each search URL.
requestDelayMs
Polite delay between result pages. Increase it if you run large searches.
Example input
{"keyword": "Restaurant","location": "Berlin","maxItems": 30,"maxPagesPerSearch": 3,"requestDelayMs": 600}
Example output
{"name": "Restaurant und Bierhaus Xantener Eck","category": "Gaststätten und Restaurants","phone": "030 8 83 90 14","website": "http://www.das-xantener-eck.de/","address": "Xantener Str. 1, 10707 Berlin, Wilmersdorf","streetAddress": "Xantener Str. 1","postalCode": "10707","city": "Berlin","district": "Wilmersdorf","ratingValue": 1,"ratingCount": 1,"detailUrl": "https://adresse.dastelefonbuch.de/...","pageUrl": "https://www.dastelefonbuch.de/Suche/Restaurant/Berlin","position": 1,"entryId": "0001131015407","scrapedAt": "2026-06-14T00:00:00.000Z"}
Search URL mode
Direct URLs are useful when Das Telefonbuch creates a specific category page you want to reproduce.
Paste those URLs into startUrls and leave keyword and location empty.
Keyword and city mode
Keyword and city mode is fastest for repeat lead-generation workflows. The actor builds a Das Telefonbuch search URL automatically and follows pagination until it reaches your item or page limits.
Pagination behavior
Das Telefonbuch result pages normally contain around ten listings per page. The actor reads the next-page link from the page navigation and stops when one of these conditions is met:
maxItemsis reached.maxPagesPerSearchis reached.- No next page is found.
Tips for better results
- ✅ Start with a specific business category.
- ✅ Use German terms for German directory searches.
- ✅ Run one city at a time for clean segmentation.
- ✅ Keep first tests small.
- ✅ Export the dataset to CSV for CRM upload.
Integrations
You can connect this actor to:
- Google Sheets for live lead lists.
- Zapier or Make for CRM enrichment workflows.
- Apify webhooks for automated notifications.
- Apify datasets for downstream processing.
- Data warehouses through the Apify API.
API usage
Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('automation-lab/das-telefonbuch-business-scraper').call({keyword: 'Restaurant',location: 'Berlin',maxItems: 30});console.log(run.defaultDatasetId);
Python
from apify_client import ApifyClientclient = ApifyClient('MY-APIFY-TOKEN')run = client.actor('automation-lab/das-telefonbuch-business-scraper').call(run_input={'keyword': 'Restaurant','location': 'Berlin','maxItems': 30,})print(run['defaultDatasetId'])
cURL
curl -X POST 'https://api.apify.com/v2/acts/automation-lab~das-telefonbuch-business-scraper/runs?token=MY-APIFY-TOKEN' \-H 'Content-Type: application/json' \-d '{"keyword":"Restaurant","location":"Berlin","maxItems":30}'
MCP usage
Use the Apify MCP server with this actor in Claude Code, Claude Desktop, Cursor, or other MCP-compatible clients.
MCP URL:
https://mcp.apify.com/?tools=automation-lab/das-telefonbuch-business-scraper
Claude Code CLI setup:
claude mcp add apify-das-telefonbuch \--transport http \"https://mcp.apify.com/?tools=automation-lab/das-telefonbuch-business-scraper"
Claude Desktop JSON configuration:
{"mcpServers": {"apify-das-telefonbuch": {"url": "https://mcp.apify.com/?tools=automation-lab/das-telefonbuch-business-scraper"}}}
Example prompts:
- "Find 30 restaurants in Berlin from Das Telefonbuch and summarize CRM-ready leads."
- "Scrape dentists in Munich and return only listings with websites."
- "Build a CSV of tax advisors in Hamburg with phone numbers and source URLs."
Data quality notes
The actor extracts data visible in public result pages.
Some listings may not include websites, ratings, or opening-hours text.
Those fields are returned as null when unavailable.
Limitations
- Email and fax are not part of the MVP because they are not reliably present on search result cards.
- The actor targets business listings, not private person search results.
- Very broad searches may have many pages; use
maxItemsandmaxPagesPerSearchto control run size.
Legality
This actor extracts publicly available information from Das Telefonbuch pages. You are responsible for using the data lawfully, respecting privacy rules, and following applicable regulations such as GDPR, ePrivacy, and anti-spam laws. Do not use scraped contact data for unlawful outreach.
FAQ
Why are some websites missing?
Not every Das Telefonbuch listing displays a website on the search result page.
When no website is visible, website is null.
Why did I get fewer results than requested?
The source may have fewer matching businesses, or your page limit may be too low.
Increase maxPagesPerSearch for broader searches.
Can I scrape multiple cities?
Run separate actor runs per city for clean segmentation, or provide multiple direct startUrls.
Does it use a browser?
No. The base data is present in the initial HTML, so the actor uses HTTP and Cheerio for speed and lower cost.
Related scrapers
- https://apify.com/automation-lab/gelbeseiten-scraper
- https://apify.com/automation-lab/google-maps-scraper
- https://apify.com/automation-lab/german-imprint-scraper
Support
If a search stops working or you need additional fields, open an issue with the input you used and a sample Das Telefonbuch URL.
Changelog
Initial version:
- Keyword + location searches.
- Direct result URL support.
- Pagination.
- Business name, category, address, phone, website, ratings, opening hours, and source URLs.