Impressum Email Scraper (German Sites)
Pricing
Pay per event
Impressum Email Scraper (German Sites)
Scrape emails, phone numbers and social links from German websites' Impressum pages. Decodes obfuscated addresses, returns German phone numbers in E.164. Pay per contact found.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Rafal Sav
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
What does Impressum Email Scraper do?
Impressum Email Scraper extracts emails, phone numbers and social profiles from German websites by going straight to the page where German law puts them: the Impressum. Give it a list of .de domains and it returns one clean record per site — with MX-validated emails, German phone numbers normalized to E.164 and de-duplicated social links.
German law (§ 5 TMG / § 18 MStV) requires almost every commercial website to publish a reachable contact — an address, a phone number and an email — on its Impressum page. That makes German sites the single richest source of business contact data on the web, and this Actor is tuned to read it.
It runs on the Apify platform: API access, scheduling, integrations (Make, Zapier, n8n), proxy rotation and run monitoring included.
Why use it for German sites specifically?
- The Impressum is crawled first. Subpage discovery ranks
/impressumabove/kontakt,/aboutand everything else, so the legally mandated contact block is read even on sites whose homepage shows nothing. - German phone numbers come back usable. Numbers written as
+49 (0)40 3007-0,040 30070orTel.: 040/3007-0are parsed with Google's libphonenumber into E.164 (+494030070). The default phone region is preset toDE, so local-format numbers on.comdomains of German companies are parsed correctly too. - Obfuscated addresses are decoded. German publishers hide addresses aggressively: Cloudflare
data-cfemailprotection, HTML entities (@), andname [at] domain [dot] de. All three are recovered. - Datenschutz as a fallback. If a site has no usable Impressum, the privacy policy (
/datenschutz) is crawled — the GDPR data-controller contact has to be published there. - You pay per contact found, not per page. A site that yields nothing costs nothing.
Use cases
- B2B lead generation in the DACH market — turn a list of German company domains into reachable inboxes and phone numbers.
- Compliance and imprint checks — verify that a portfolio of sites publishes a valid, reachable contact under § 5 TMG.
- Agency prospecting — scrape a niche (Handwerker, Kanzleien, Onlineshops) and get the details a directory listing does not carry.
- Recruiting in DACH — collect HR and careers contacts from employer sites.
- Market research — map which companies publish a phone number versus a form-only contact page.
How to use it
- Add your German domains under Start URLs (one record per URL is returned).
- Optionally adjust Max contact subpages (default 6), the Default phone region (
DE, orAT/CHfor Austrian and Swiss sites), or switch JavaScript rendering toautofor sites that need a browser (raise run memory to 2048 MB first). - Click Start and download the results as JSON, CSV, Excel or HTML.
Output
{"domain": "https://www.beispiel.de","status": "ok","best_email": "kontakt@beispiel.de","emails": [{ "email": "kontakt@beispiel.de", "valid_mx": true, "role": true, "confidence": 0.85 },{ "email": "datenschutz@beispiel.de", "valid_mx": true, "role": true, "confidence": 0.7 }],"phones": ["+4940300700"],"socials": { "linkedin": ["https://linkedin.com/company/beispiel"] },"email_count": 2,"pages_crawled": 3,"rendered": false}
| Field | Description |
|---|---|
domain | The site the record is for. |
status | ok, no_contacts (pages read, nothing published) or unreachable (site refused the request). |
best_email | Highest-confidence address — a named person outranks a general inbox, which outranks a legal or technical mailbox. |
emails | Every address found, each with valid_mx, role and a confidence score. |
phones | Phone numbers in E.164. |
socials | Profile URLs grouped by platform, de-duplicated (twitter.com/x counts once). |
pages_crawled | How many pages were read for this site. |
rendered | Whether a browser was needed. |
Accuracy
The extraction engine is benchmarked against a hand-verified set of 32 real pages, German Impressum pages among them (heise.de, t3n.de, nazwa.pl and others), scored against ground truth read out of the raw HTML: 100% precision and 100% recall on emails, phones and social profiles. Against the category incumbent on the same pages: emails 100% vs 94%, phone numbers 100% vs 0% usable (it returns unnormalized strings in an "uncertain" bucket).
On an uncurated list of 150 random company domains it returned an email for 73.3% of them, against 54.0% for the incumbent, at a lower cost per email found.
How much does it cost?
You pay only for results:
- Verified contact — $0.003 (~$3 per 1,000): one email or one phone number.
- Social profile — $0.001 (~$1 per 1,000): one clean, de-duplicated profile link.
- Empty sites — $0. No contact, no charge.
- The Apify Free plan includes $5 in monthly credits, roughly a thousand domains.
FAQ
Which sites does this work on?
Any website, but it is configured for German-language ones: Impressum-first crawling, DE phone parsing, /datenschutz fallback. For an international list use the general Website Contact & Email Scraper instead — same engine, neutral defaults.
Does it work for Austrian and Swiss sites?
Yes. Set Default phone region to AT or CH so local-format numbers are parsed correctly; the Impressum requirement exists in both countries.
Why did a site return nothing?
Check status. no_contacts means the pages were read and there was nothing to extract — rare for German sites, but it happens with form-only contact pages. unreachable means nothing could be downloaded; retry with renderJs: auto or a residential proxy. Neither is charged.
Is scraping Impressum data legal?
The Impressum exists precisely so that the contact is publicly reachable, and this Actor respects robots.txt and rate-limits its requests. What you do with the data is your responsibility: under GDPR you are the data controller, you need a lawful basis for outreach (§ 7 UWG restricts unsolicited commercial email in Germany), and you must honour opt-outs.
Disclaimer
This Actor is a tool. You are the data controller for any personal data you collect and are responsible for complying with GDPR, UWG, the target site's Terms of Service and robots.txt. It does not build or sell contact databases.
Support
Found a German site where contacts were missed? Open an issue on the Issues tab — accuracy reports shape the roadmap directly.