German Imprint Leads
Pricing
from $12.00 / 1,000 result scrapeds
German Imprint Leads
Extracts contact and legal data from the mandatory Impressum page of German company websites: company name, legal form, managing directors, address, phone, fax, email, VAT ID, and Handelsregister entry. Give it company websites or domains, get back structured B2B lead data.
Pricing
from $12.00 / 1,000 result scrapeds
Rating
0.0
(0)
Developer
Studio Amba
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Extract company contact and legal data straight from the Impressum page of German company websites. Every commercial website registered in Germany is legally required (§ 5 TMG) to publish an Impressum with the company's legal name, address, and contact details — this actor turns that legally-mandated data into a clean, structured lead list.
Give it a list of company websites (or just plain domains) and get back the company's legal name, legal form, managing directors, full address, phone, fax, email, VAT ID (USt-IdNr), and commercial register entry (Handelsregister). No login, no API key, no scraping product pages — just the page every German business is required to publish.
Why use this actor?
The German Impressum is one of the few places on the internet where businesses are legally forced to publish accurate, up-to-date contact information: a real company name, a real address, and a way to reach a real decision-maker. That makes it one of the highest-quality sources for B2B lead generation, sales prospecting, and market research into the German market — far more reliable than guessing contact details from a "Kontakt" form.
Typical users:
- Sales and outbound teams building a prospect list of German companies in a given sector, with a verified company name, address, and contact email for each.
- Market researchers and analysts who need to verify a German counterparty's legal form, registered address, or Handelsregister entry before doing business.
- Lead-gen agencies enriching an existing list of German company domains with structured contact data.
- Compliance and due-diligence teams cross-checking a company's legal name and VAT ID against its public Impressum.
How to scrape German Impressum data
Point the actor at German company websites and it does the rest: find the Impressum page, and pull out every field a standardized German legal notice is required to contain.
1. Give it company URLs
Add company homepages or direct Impressum/Imprint URLs to Start URLs. A homepage is enough — the actor automatically looks for a link to the Impressum (checking anchor text and href for "Impressum", "Imprint", "Legal Notice", etc.) and, if it can't find one, tries the ~18 most common Impressum URL paths directly (/impressum, /de/impressum, /unternehmen/impressum, /legal/impressum, and so on).
{"startUrls": [{ "url": "https://www.example.de" },{ "url": "https://www.example.de/impressum" }]}
2. Or just paste a list of domains
If you already have a list of company domains (from a CRM export, a search result list, or another scraper), paste them into Domains — one per line, or comma-separated. https:// is added automatically.
{"domains": "example.de\nanother-company.de\nthird-company.com"}
You can combine both Start URLs and Domains in the same run — the actor deduplicates by domain, so each company only appears once in the output.
3. Set a result limit
Max Results caps how many companies the actor returns (one record per unique domain). Useful for testing on a small batch before running a large list.
4. Run it
The actor visits each domain, finds the Impressum page, and extracts every field it can find. German Impressum pages follow legally standardized wording (§ 5 TMG for the base requirements, plus § 55 RStV / § 18 MStV for editorial content and Art. 13 GDPR-adjacent disclosures), which makes labeled-field extraction reliable across very different site designs — from a single-page SME site to a DAX-listed corporation's legal department boilerplate.
What data does German Imprint Leads extract?
| Field | Type | Description |
|---|---|---|
| companyName | String | Registered company name, including legal form (e.g. "Musterfirma GmbH") |
| legalForm | String | Legal form suffix only (GmbH, AG, UG, GmbH & Co. KG, KGaA, eG, e.K., ...) |
| managingDirectors | String | Managing director(s) / Vorstand / Geschäftsführung named in the Impressum |
| street | String | Street and house number |
| postalCode | String | 5-digit German postal code |
| city | String | City / postal area |
| phone | String | Phone number, if published |
| fax | String | Fax number, if published (increasingly rare) |
| String | null | Primary contact email (first one found) | |
| emails | Array | All contact emails found on the page (mailto links, Cloudflare-obfuscated addresses, and [at]/[dot]-style obfuscation are all decoded) |
| vatId | String | VAT identification number (Umsatzsteuer-IdNr., format DE123456789) |
| commercialRegister | String | Full Handelsregister entry (court + register number), e.g. "Amtsgericht München, HRB 228747" |
| registerCourt | String | Registration court (Amtsgericht) only |
| registerNumber | String | Register number only (e.g. "HRB 228747") |
| domain | String | The company's root domain (deduplication key) |
| website | String | The company's canonical website URL |
| impressumUrl | String | The exact URL the data was extracted from |
| scrapedAt | String | ISO timestamp of extraction |
Input parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
| Start URLs | Array | 5 demo companies | Company homepages or direct Impressum URLs |
| Domains | String | — | Alternative: a plain list of domains, one per line or comma-separated |
| Max Results | Integer | 100 | Maximum number of company records to return |
| Proxy Configuration | Object | Apify default | Most German SME sites work fine on the default proxy; switch to residential if you see blocked requests |
Example output
{"domain": "obi.de","website": "https://obi.de","impressumUrl": "https://www.obi.de/legal/impressum","companyName": "OBI Home and Garden GmbH","legalForm": "GmbH","managingDirectors": "Dr. Sebastian Gundel, Jochen Ludwig","street": "Albert-Einstein-Straße 7-9","postalCode": "42929","city": "Wermelskirchen","phone": "02196 90 62 000","fax": "","email": "impressum@obi.de","emails": ["impressum@obi.de", "quality-management@obi.de"],"vatId": "DE362559161","commercialRegister": "Amtsgericht Köln, HRB 115846","registerCourt": "Köln","registerNumber": "HRB 115846","scrapedAt": "2026-07-16T19:31:53.485Z"}
How the extraction works
German Impressum pages are legally required to contain the same set of facts, but the HTML shape varies enormously — from a five-line static page on a small business site to a sprawling corporate legal-notice page with dozens of unrelated navigation links. The actor handles both by:
- Converting the page into a line-by-line text representation (splitting on block elements like
<p>,<div>,<li>,<br>), since some sites put the whole address on one line and others break it across several. - Matching legally-standardized label patterns (Geschäftsführer, Handelsregister, Amtsgericht, USt-IdNr., Telefon, Fax) rather than relying on CSS selectors, which differ on every site.
- Validating that a value actually looks like the thing it claims to be (a phone-shaped string, a name-shaped string, a 5-digit postal code) before accepting it — this filters out navigation menu items and unrelated page content that happen to contain the same keywords.
- Decoding common email obfuscation techniques:
mailto:links, Cloudflare'sdata-cfemailprotection, and manual obfuscation likeinfo[at]example[dot]de.
Cost estimate
Pricing is pay-per-result. Each run is a lightweight Cheerio-based crawl (no browser rendering), so compute cost per company is negligible — the vast majority of the cost is the per-result lead price, not compute.
Limitations
- Extraction is regex/pattern-based against legally standardized wording. It's tuned against a wide range of real German company Impressum pages (from small businesses to DAX corporations) and handles the vast majority of layouts, but an unusually worded or heavily restructured page can still result in a missing field — check
managingDirectors,street,phone, andfaxin particular, since these are more free-form than the labeledvatId/commercialRegisterfields. - Sole proprietors and freelancers (Einzelunternehmer) without a Handelsregister entry or a VAT ID will have those fields empty — that's correct behavior, not a bug, since the underlying Impressum genuinely has no such data.
- Sites protected by aggressive anti-bot systems (Cloudflare/Akamai challenge pages) may need a residential proxy — switch Proxy Configuration if you see blocked requests in the run log.
- One record per unique domain. If a company runs its Impressum on a separate legal-entity domain per brand, scrape each brand domain separately.
Related scrapers
- Handelsregister Scraper — official German commercial register data (Handelsregister), a complementary source to this actor's Impressum-page extraction.
- WLW Scraper — B2B supplier and company data from wlw.de (Wer liefert was).
- KVK Scraper — company data from the Dutch Chamber of Commerce, for the equivalent Dutch use case.
Data source and legality
This actor reads only the Impressum page, which German law (§ 5 TMG) requires every commercial website to publish publicly, without login or paywall. No scraping of login-protected areas, no bypassing of any access control. The data itself (company name, address, register entry) is information the business is legally obligated to disclose to the public.
Need this data on a schedule, or a custom version?
We run this scraper as a managed service for businesses: scheduled runs, deduplication, delta detection, and delivery to your inbox, Google Sheets, or API — maintenance included. We can also build a custom version with your exact fields and filters, or combine multiple sources into one feed.
See studioamba.dev/services or email hello@studioamba.dev for a free data sample. We maintain 300+ European web scrapers and answer within one business day.