Telefonbuch.de Scraper - German Names, Addresses & Phones
Pricing
from $1.33 / 1,000 results
Telefonbuch.de Scraper - German Names, Addresses & Phones
Scrape the German phone directory: name, street, postcode, city and the full phone number. The site splits and salts its phone numbers in the HTML; this actor reconstructs them and cross-checks each one against the site's own markup. HTTP-only, no account.
Pricing
from $1.33 / 1,000 results
Rating
0.0
(0)
Developer
Farhan Febrian Nauval
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Telefonbuch.de Scraper — German Names, Addresses & Phones
Scrape Germany's phone directory: name, street, postcode, city — and the full phone number, reconstructed from markup that is deliberately built to prevent exactly that.
HTTP-only, no account, no browser.
Input
| Field | Type | Default | Description |
|---|---|---|---|
queries | array | required | name, city (Schmidt, Berlin), name/city, or a pasted search URL |
maxResultsPerQuery | integer | 100 | Entries come 10 to a page |
maxPages | integer | 10 | Stops early at the end of results |
maxRounds | integer | 2 | TLS ladder repeats on a refused page |
proxyConfiguration | object | RESIDENTIAL DE | German directory — use a German exit |
The phone number is hidden, twice
This is what the actor is actually for. The site splits and salts its phone numbers so that the obvious extraction returns something wrong, and it does it two different ways on the same results page:
1. Truncated itemprop.
<span itemprop="telephone">0162 2 13 2<span style="display:none">…</span></span>1 39
Reading the itemprop element gives 0162 2 13 2… — 7 of 11 digits, not dialable. The rest of
the number sits in the text node after the span closes. The detail page truncates it the same
way, so following the link does not help.
2. Decoy digits in hidden spans. Other entries carry no itemprop at all:
0<span class="hide"> 3</span>3<span class="hide"> 96</span>0…
Read naively that yields a 26-digit number that is simply wrong — and, unlike a truncated one, it looks complete. It passes any "is the field populated?" check.
One treatment defeats both: drop every hidden span, then read the container. Each number is then
cross-checked against the site's own phoneTo markup and the comparison is reported —
87 of 87 matched in testing, and every row carries phoneFromComment so you can audit it
yourself.
Output
{"_input": "Schmidt, Berlin","_source": "S1-vcard","_scrapedAt": "2026-09-07T11:04:06Z","_page": 1,"_phoneSource": "dom", // or "comment" if the fallback was used"name": "Algert-Schmidt Barbara","phone": "0162 2 13 21 39","phones": ["0162 2 13 21 39"], // businesses often list several"phoneDigits": "01622132139","phoneFromComment": "0162 2 13 21 39","streetAddress": "Luckenwalder Str. 78","postalCode": "12629","city": "Berlin","searchTerm": "Schmidt", "searchLocation": "Berlin","detailUrl": "https://kontakt-1.dastelefonbuch.de/…"}
In a 90-entry run: phone on 90/90, name 89/90, detail URL 90/90.
Known limits
| Limit | Detail |
|---|---|
| Addresses are partial | Street on ~74/90, postcode and city on ~80/90 — some entries genuinely publish a number without an address |
| German exit needed | Reachability was measured 4/4 from a DE residential exit; other geos were not tested |
| No email | The directory does not publish email addresses |
Watch _phoneSource | If it starts reporting comment or none in bulk, the reconstruction has drifted and the run log warns about blank phones |