DACH Company Enrichment: Impressum, Register, VAT & Tech avatar

DACH Company Enrichment: Impressum, Register, VAT & Tech

Pricing

from $4.20 / 1,000 company enricheds

Go to Apify Store
DACH Company Enrichment: Impressum, Register, VAT & Tech

DACH Company Enrichment: Impressum, Register, VAT & Tech

Enrich German, Austrian and Swiss domains: company name, legal form, address, register number, VAT ID checked in VIES, tech stack and mail setup. One row per domain.

Pricing

from $4.20 / 1,000 company enricheds

Rating

0.0

(0)

Developer

Batu T.

Batu T.

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

9 days ago

Last modified

Security

Limited permissions

Share

Give it a list of German, Austrian or Swiss domains and get back one flat company record per domain. The record combines the legal notice (Impressum) of the website, a live VAT ID check in the official EU VIES service, a tech stack summary of the homepage and the basic mail setup of the domain (MX, SPF, DMARC).

No directories, no commercial registers, no data brokers: every field comes from the company's own website, from EU VIES or from public DNS. That keeps results fresh and runs cheap.

Output per domain

fieldexample
companyName, legalFormMuster Technik GmbH, GmbH
street, postalCode, city, countryHauptstrasse 12, 63739, Aschaffenburg, DE
managingDirectors["Anna Beispiel"]
phone, fax, email, emailsas published in the Impressum
registerType, registerNumber, registerCourtHRB, HRB 12345, Aschaffenburg
uidSwiss company UID (CHE-...)
vatId, vatStatus, vatRegisteredName, vatRegisteredAddressDE123456789, valid, name and address from VIES
taxNumber, smallBusinesstax number, small business note (Paragraph 19 UStG)
completenessshare of core imprint fields found, 0 to 100
cmsWordPress, TYPO3, Wix, Jimdo, Webflow and more
shopSystemShopify, Shopware, WooCommerce, JTL-Shop and more
analytics, advertisingfor example Google Analytics 4, Meta Pixel
consentToolCookiebot, Usercentrics, Borlabs and more
trackingWithoutConsentTooltrue when tracking or ad tags run but no consent tool was detected
mxPresent, mxHostswhether the domain receives mail, and where
spfPresent, spfPolicySPF record and its all mechanism (-all, ~all, ?all, +all)
dmarcPresent, dmarcPolicynone, quarantine or reject
partial, partialReasonsee below
errorwhy a domain could not be processed

How a domain is processed

  1. The homepage is fetched once. It is used both to find the Impressum link and to detect the tech stack.
  2. The Impressum is fetched (or found under common paths such as /impressum and /imprint) and parsed. Third parties named on the same page, such as the hosting provider, are ignored.
  3. A found DE or AT VAT ID is checked in EU VIES.
  4. MX, SPF and DMARC are read with three DNS over HTTPS lookups.

No browser is used. A typical domain needs 6 to 8 small requests.

Results, partial results and errors

  • Complete record (partial: false): a company name or a register number was found. Only these are charged.
  • Partial record (partial: true, with partialReason): the website answered, but no company could be identified, for example because there is no Impressum or it is rendered by JavaScript. Tech stack and mail fields are still included. Not charged.
  • Error item (error): the input is not a valid domain or the website could not be reached. Not charged.

Inputs

  • domains: domains or URLs, duplicates are removed.
  • checkTechStack, checkMail, validateVat: switch parts off if you do not need them.
  • respectRobotsTxt: on by default.
  • proxyConfiguration: optional, used only when a website blocks the direct request.
{ "domains": ["webifysystems.de", "https://www.example.at"], "checkMail": true }

Pricing

You pay per enriched company: a domain where a company name or register number was found. Partial records and errors are not charged.

Limits

  • Imprints that are only rendered by JavaScript, or published as an image or PDF, return a partial record.
  • Register data is read as published in the Impressum. It is not checked against the commercial register.
  • Swiss UIDs are returned but not validated, because Switzerland is not part of EU VIES.
  • DKIM, TLS and security headers are not checked, to keep runs cheap.

Data protection

Only public legal notices are read. Names and contact details in an Impressum are published by law, but your own use must still comply with GDPR, for example for direct marketing.

Not affiliated with the European Commission (VIES) or any company whose website is processed.

FAQ

What am I charged for? One event per domain where a company name or a register number was found in the Impressum (partial: false). Partial records, error items and duplicate domains are not charged.

Where does the data come from? Only from the company's own website (homepage and Impressum), the EU VIES REST service for DE and AT VAT IDs, and public DNS over HTTPS (Google, Cloudflare as fallback) for MX, SPF and DMARC. No commercial register or data broker is queried.

Do I need a proxy? No. Requests go direct. If you set proxyConfiguration, a request that fails with HTTP 403, 429, 503 or a connection error is retried once through the proxy.

What happens when a website cannot be read? You get an error item with input, domain, error and checkedAt, for example when the website is not reachable or its robots.txt answers with a server error (treated as disallow all). If the site answers but no company can be identified, you get a partial record with partialReason instead.

How many domains can one run handle? Up to maxDomains (default 1000) after duplicates are removed, processed with concurrency 1 to 10 (default 5). No browser is used.

Use with AI agents (MCP)

This Actor works as a tool for Claude, ChatGPT, Cursor and other MCP clients through the Apify MCP server. Add only this Actor:

https://mcp.apify.com?tools=webify-lab/dach-company-enrichment

On first use the server signs you in with OAuth. Alternatively send the header Authorization: Bearer <APIFY_TOKEN>. Agents on the default Apify MCP setup can also find this Actor with search-actors and run it with call-actor. Pricing is the same as in Apify Console: you pay per result.