Telefonbuch.de Scraper - German Names, Addresses & Phones avatar

Telefonbuch.de Scraper - German Names, Addresses & Phones

Pricing

from $1.33 / 1,000 results

Go to Apify Store
Telefonbuch.de Scraper - German Names, Addresses & Phones

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

Farhan Febrian Nauval

Maintained by Community

Actor 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

FieldTypeDefaultDescription
queriesarrayrequiredname, city (Schmidt, Berlin), name/city, or a pasted search URL
maxResultsPerQueryinteger100Entries come 10 to a page
maxPagesinteger10Stops early at the end of results
maxRoundsinteger2TLS ladder repeats on a refused page
proxyConfigurationobjectRESIDENTIAL DEGerman 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

LimitDetail
Addresses are partialStreet on ~74/90, postcode and city on ~80/90 — some entries genuinely publish a number without an address
German exit neededReachability was measured 4/4 from a DE residential exit; other geos were not tested
No emailThe directory does not publish email addresses
Watch _phoneSourceIf it starts reporting comment or none in bulk, the reconstruction has drifted and the run log warns about blank phones