Impressum Scraper avatar

Impressum Scraper

Pricing

from $2.73 / 1,000 company imprints

Go to Apify Store
Impressum Scraper

Impressum Scraper

Extract Impressum data from German, Austrian and Swiss websites: company name, legal form, managing directors, register court and HRB number, VAT ID, tax number, address, phone, fax and email. B2B leads in bulk via API, export to CSV or Excel, schedule runs, connect n8n, Make or Zapier.

Pricing

from $2.73 / 1,000 company imprints

Rating

0.0

(0)

Developer

Matvey

Matvey

Maintained by Community

Actor stats

0

Bookmarked

5

Total users

4

Monthly active users

2 days ago

Last modified

Categories

Share

What is Impressum Scraper?

Impressum Scraper reads the Impressum (the legal notice every German, Austrian and Swiss website must publish) and turns it into a clean company record: company name, legal form, managing directors, register court, HRB / HRA / FN number, VAT ID, address, phone, fax and email.

Give it a list of domains — muster-gmbh.de, https://www.example.at/, or a direct link to the Impressum page — and it finds the Impressum on each site by itself: home page → the "Impressum / Imprint / Legal notice / Rechtliche Hinweise" link → the usual paths (/impressum, /imprint, /impressum.html). One website = one row.

This is the B2B lead data Google Maps scrapers don't give you: the names of the people who legally run the company (Geschäftsführer, Inhaber, Vorstand), split into an array, plus the official register entry and VAT ID to verify the company.

  • 🇩🇪 🇦🇹 🇨🇭 Germany (HRB/HRA/VR, Amtsgericht, USt-IdNr.), Austria (FN, Landesgericht / Handelsgericht, ATU…) and Switzerland (UID CHE-…, cantonal register)
  • 👥 Managing directors as an array, not a text blob
  • 🏛️ Register court and register number in separate columns
  • ✅ Optional VAT ID check in the official EU VIES service
  • 💸 No start fee. Websites without an Impressum and unreachable sites are free

What data can it extract?

FieldExampleNotes
companyNameeinhorn products GmbHName as written in the Impressum; a person's name for sole traders and freelancers
legalFormGmbHGmbH, UG (haftungsbeschränkt), AG, SE, KG, GmbH & Co. KG, OHG, e.K., e.V., eG, AT/CH forms
managingDirectors["Philip Siefer", "Luise Tremel"]Geschäftsführer, Inhaber, Vorstand, vertreten durch, managing director
registerCourtAmtsgericht Berlin CharlottenburgAmtsgericht / Landesgericht / Handelsgericht / cantonal register
registerType + registerNumberHRB + 165893 BHRB, HRA, VR, GnR, PR, FN (Austria), ZVR (Austrian associations), UID (Switzerland)
vatIdDE300246395USt-IdNr. DE…, ATU…, CHE-… MWST, other EU formats
vatIdValidtruePaid add-on: EU VIES check
taxNumber33/207/01527Steuernummer, when shown
address, street, zip, city, countrySkalitzer Straße 100, 10997 Berlin, GermanyOne line plus separate columns
phones, fax["+49 (0) 30 690 046 69"]The company's own numbers
emails["contact@einhorn.my"]Including obfuscated [at] / (at) / Cloudflare-protected addresses
responsibleForContentCarolin FrericksV.i.S.d.P. / § 18 MStV, when named
supervisoryAuthorityBezirkshauptmannschaft FeldbachAufsichtsbehörde / Kammer, when named
socialLinks{"linkedin": "…", "instagram": "…"}Company profiles linked from the site
impressumUrl, website, languagehttps://einhorn.my/policies/legal-noticeWhere the data came from

Keys that a website does not publish are left out of its row — no empty strings, no "N/A". Measured on 130 real DACH websites (shops, agencies, publishers, law firms, freelancers, associations, Austrian and Swiss companies): an Impressum was read on 110 of them; on those, company name 99 %, address 97 %, emails 91 %, legal form 92 %, VAT ID 85 %, register number 84 %, managing directors 83 %, register court 81 %, phones 76 %.

How much does it cost?

Pay per result, no start fee, no monthly rent:

EventPrice (Free plan)Price (Gold and up)
Company imprint (one website with company name + directors, register number, VAT ID or address)$0.0035$0.00273
Add-on: VAT ID check in EU VIES (only with the option on)$0.00175$0.00175

That is about 285 companies per $1 on the Free plan and about 366 per $1 on Gold. With the $5 of monthly credit on Apify's free plan you can read roughly 1,400 Impressums a month for free.

You are not charged for websites without an Impressum, sites that can't be opened, invalid input, or an Impressum where too little could be read (the row is still written, with a note). Set Max cost per run in the run options and the run stops cleanly at your budget.

How to scrape Impressum data

  1. Open Impressum Scraper and paste your websites into Websites, one per line (domains or URLs).
  2. Optional: switch on Check VAT ID in EU VIES if you need confirmed VAT numbers.
  3. Click Start. Five websites take about 5–10 seconds; 1,000 take roughly 20–25 minutes.
  4. Download the result as CSV, Excel or JSON, or fetch it through the API.

⬇️ Input

{
"websites": ["www.mymuesli.com", "www.trigema.de", "www.sevdesk.de", "www.hetzner.com", "www.zotter.at"],
"validateVatId": false,
"maxPagesPerSite": 4,
"includeRawText": false
}
  • websites — domains, URLs or direct Impressum links. Duplicates are removed; an email address is turned into its domain.
  • validateVatId — paid add-on, checks each VAT ID in EU VIES.
  • maxPagesPerSite — at most this many pages are opened per website (default 4).
  • includeRawText — adds impressumText, the plain text of the Impressum block.

⬆️ Output

One row per website (real output from a run):

{
"type": "company",
"website": "https://zotter.at",
"impressumUrl": "https://www.zotter.at/impressum",
"companyName": "Zotter Schokolade GmbH",
"legalForm": "GmbH",
"managingDirectors": ["Julia Zotter"],
"registerCourt": "Landesgericht für ZRS Graz",
"registerType": "FN",
"registerNumber": "220619s",
"vatId": "ATU53816900",
"address": "Bergl 56, 8333 Riegersburg, Austria",
"street": "Bergl 56",
"zip": "8333",
"city": "Riegersburg",
"country": "Austria",
"phones": ["+43 - 3152 - 5554"],
"fax": "+43 - 3152 - 5554 - 3222",
"emails": ["schokolade@zotter.at"],
"supervisoryAuthority": "Bezirkshauptmannschaft Feldbach",
"socialLinks": {
"facebook": "https://www.facebook.com/zotterschokolade",
"instagram": "https://www.instagram.com/zotterschokolade",
"linkedin": "https://www.linkedin.com/company/zotter-schokolade"
},
"language": "de",
"scrapedAt": "2026-10-22T15:03:26.698Z"
}

A website without an Impressum gives a free row: {"type": "error", "kind": "no-results", "website": "…", "error": "No Impressum found on this site. Not charged."}. A site that can't be opened gives {"type": "error", "website": "…", "error": "Could not open this website: … Not charged."}. The last row of every run is a free notice with the run summary — filter by type = "company" to keep only companies.

Use cases

Sales and lead generation

Turn a list of shop or agency domains into named decision makers: address the Geschäftsführer by name instead of info@. Combine with a Google Maps or directory export: their websites in, managing directors and VAT IDs out.

CRM enrichment and data hygiene

Add legal name, legal form, register number and VAT ID to existing accounts, and check that the company you invoice is the company you think it is.

KYC, supplier and partner checks

Collect the register entry (court + HRB / FN / UID) and VAT ID of suppliers or marketplace sellers, then confirm the VAT ID in VIES with the add-on.

Market research

Map who really operates a set of brands — the GmbH behind the shop, its directors, its seat — for M&A screening, competitor research or journalism.

AI agents and automations

One call with a list of websites returns structured JSON, so an AI agent (via the Apify MCP server) or a workflow can enrich companies without parsing HTML itself.

Integrations

  • API: start a run and read the dataset with the Apify API, or use run-sync-get-dataset-items for small lists.
  • Python / JavaScript: the apify-client packages (client.actor("lergassy/impressum-scraper").call(run_input={...})).
  • n8n, Make, Zapier: use the Apify app/node, pass the website list, map the fields into your CRM.
  • Google Sheets: export the dataset to a sheet, or schedule a run and push results with an integration.
  • MCP: available to Claude, ChatGPT and other AI agents through the Apify MCP server.
  • Schedules: re-check your supplier or customer list every month to catch new directors or addresses.

Migrating from another Impressum scraper?

Other actor's fieldUse here
targetUrls / startUrls ([{"url": "…"}])websites (plain strings or {"url": "…"} objects both work)
domainswebsites
maxConcurrency, timeout, maxRetriesnot needed — handled internally
validateEmailvalidateVatId (VAT ID check in EU VIES)
proxyConfigurationoptional — blocked sites are retried through a residential address automatically
contactPageFallbackbuilt in: the crawler follows Kontakt / Legal links when needed (maxPagesPerSite)

Troubleshooting

  • "No Impressum found on this site" — the site has none, or renders it only with JavaScript (some big shops do). Try the direct Impressum URL as input. Not charged.
  • "Could not open this website" — the domain does not resolve, the server is down, or it blocks all automated visitors even from a residential address. Not charged.
  • A row with a note — the Impressum was found, but the company name plus at least one of directors, register number, VAT ID or address could not be read. The row is free.
  • Directors missing — many Impressums of sole traders, associations or Swiss companies simply do not name them.
  • English pages — if a site sends you to its English version, the crawler switches to the German one when the site links it.

❓ FAQ

The Impressum is published because the law requires it (§ 5 DDG, formerly § 5 TMG, in Germany; § 5 ECG and § 25 MedienG in Austria; the Swiss UWG) and it is meant to be read by anyone who wants to contact or identify the provider. Reading public pages is generally lawful; what you do with the data is your responsibility. Check the rules that apply to your use case and jurisdiction.

Is Impressum data personal data? (GDPR)

Partly. Managing directors' names, a sole trader's name and personal email addresses are personal data under the GDPR, even though they are published by legal obligation. You are responsible for a lawful basis: B2B outreach usually relies on legitimate interest (Art. 6(1)(f) GDPR) with an easy opt-out, and German law (§ 7 UWG) restricts unsolicited advertising emails. Don't use the data for spam, keep only what you need, and honour objections.

Why are some fields missing for a company?

The actor writes only what the Impressum says. Freelancers have no register number, associations have no managing directors, many Swiss sites show no VAT ID. Missing keys are dropped instead of filled with placeholders.

How does it handle sites that block bots?

Pages are fetched with a real browser TLS fingerprint. A site that refuses the request is retried once through a residential address — only that site, so you don't pay for proxies on the rest.

Can I give it the Impressum URL directly?

Yes — a link that contains impressum / imprint / legal is read first.

Does it work for websites outside Germany, Austria and Switzerland?

It is built for DACH legal notices (German-language Impressum pages and their English "Legal notice" versions). Sites from other countries rarely publish an Impressum, so they usually end as a free "no Impressum" row.

Your feedback

Found a website where a field was read wrong? Open an issue on the Actor's Issues tab with the URL — real-world layouts are how the parser gets better.

You might also like

ActorWhat it does
Email Scraper — Phones, Socials & ContactsEmails, phones and social profiles from any website
US New Business LeadsNewly registered US companies as leads
Email Finder APIFind a person's work email from name and domain