Impressum Extractor — HRB, Court, VAT ID (DE/AT/CH) avatar

Impressum Extractor — HRB, Court, VAT ID (DE/AT/CH)

Pricing

from $20.00 / 1,000 imprint extracteds

Go to Apify Store
Impressum Extractor — HRB, Court, VAT ID (DE/AT/CH)

Impressum Extractor — HRB, Court, VAT ID (DE/AT/CH)

Turns German, Austrian and Swiss imprints into structured legal identity: company name, legal form, register number, normalised register court, VAT ID with verified check digit, address and a § 5 DDG completeness check.

Pricing

from $20.00 / 1,000 imprint extracteds

Rating

0.0

(0)

Developer

NorthWestSouth Data

NorthWestSouth Data

Maintained by Community

Actor stats

1

Bookmarked

2

Total users

1

Monthly active users

13 hours ago

Last modified

Share

Impressum → Legal Entity Extractor (DE / AT / CH)

Give it German, Austrian or Swiss websites. Get back who legally operates them — company name, legal form, commercial register number, register court, VAT ID with a verified check digit, and the registered address.

Every other imprint tool in this store returns contact details: an email, a phone number, a "decision maker". This one returns the legal identity — the part a KYB check, an invoice, a supplier onboarding or a compliance review actually needs.

What you get per site

FieldExample
company_nameHändlerbund Marketplace GmbH
legal_formGmbH · UG (haftungsbeschränkt) · GmbH & Co. KG · AG · e.K. · GbR · eG · e.V. …
register_type / register_numberHRB / HRB 36368
register_courtLeipzig — normalised against the official list of ~120 German registry courts, so "AG Charlottenburg" and "Amtsgericht Berlin-Charlottenburg" become the same value
register_court_verifiedtrue when the court matched the official list
vat_id + vat_id_checksum_validDE324949675, check digit computed offline
street, postal_code, city, countryKohlgartenstraße 11-13, 04315 Leipzig, DE
represented_byManaging director / board (see the personal-data section below)
email, emails, phoneContact channels from the imprint
supervisory_authority, chamberFor regulated trades
ddg_complianceWhich § 5 DDG disclosures are present, which are missing
imprint_confidencehigh / medium / low, so you can filter

Measured coverage — read this before you run it

Tested against 25 real German websites:

  • 60% yielded a complete legal-entity record. The other 40% failed and cost nothing.
  • Of the successful extractions: legal form 100%, register number 100%, street and city 100%, company name 93%, VAT ID 93%, register court 80% (92% of those verified against the official court list), represented_by 53%, email 80%, phone 33%.
  • All 14 German VAT IDs found passed the offline check-digit test.

Why the 40% fail: large retailers increasingly render their legal pages with JavaScript. Sites like dm.de and rossmann.de serve a 3–11 KB shell containing no legal text at all; conrad.de serves a 150 KB page whose imprint data is loaded afterwards. This actor reads static HTML — no browser, no proxies — so those sites are reported as failures rather than guessed at. If you need JS rendering, use a browser-based tool; it will cost more per site and run far slower.

Shopify stores are excluded by default. They keep their imprint under /policies/, which Shopify's own robots.txt disallows crawling. With respectRobotsTxt on (the default), those sites are reported as failures. That is a deliberate choice, not an oversight.

You are never charged twice — and never for a failure

  • A domain extracted in an earlier run is skipped and not charged again, across all runs.
  • A site with no reachable imprint, or one where no legal-entity data could be extracted, goes to a separate FAILED-URLS dataset with the reason — free.
  • No hidden row limits.

Personal data: the default is restraint

An imprint for a GmbH names a managing director acting in a professional capacity. An imprint for a sole trader names a private individual, frequently at a home address. Those are not the same risk, so this actor treats them differently:

  • Companies: represented_by is included.
  • Sole traders (e.K., Einzelunternehmen): the personal name is suppressed by default, and the record is flagged natural_person_suppressed: true.
  • Set includeNaturalPersons: true only if you have a lawful basis under GDPR Art. 6 and can meet the Art. 14 information duty. Regulators have fined bulk extraction of this exact kind of data.

Why this data is fair to use

§ 5 DDG (Germany), § 5 ECG (Austria) and Art. 3(1)(s) UWG (Switzerland) require every commercial website to publish these details permanently and without barriers, precisely so the operator can be identified. There is no register to license, no database right, no third-party terms of service. The company publishes this about itself, by law.

This actor reads each site's own imprint page, respects robots.txt by default, and sends one polite request per site.

Input

{
"urls": ["haendlerbund.de", "thomann.de", "mymuesli.com"],
"includeNaturalPersons": false,
"respectRobotsTxt": true
}

Example output

{
"url": "haendlerbund.de",
"company_name": "Händlerbund Marketplace GmbH",
"legal_form": "GmbH",
"register_type": "HRB",
"register_number": "HRB 36368",
"register_court": "Leipzig",
"register_court_verified": true,
"vat_id": "DE324949675",
"vat_id_checksum_valid": true,
"street": "Kohlgartenstraße 11-13",
"postal_code": "04315",
"city": "Leipzig",
"represented_by": "Tim Arlt",
"email": "info@haendlerbund.de",
"imprint_confidence": "high",
"ddg_compliance": { "complete": false, "missing_fields": ["contact_phone_or_form"] }
}

A note on the VAT check digit

The check digit is computed offline using the official German algorithm. That confirms the number is structurally valid — it does not confirm the ID is registered and active. The EU's VIES service, which could confirm that, forbids retransmission of its results, so it is deliberately not used here.

Pricing

Pay per successfully extracted imprint. Failures and repeats are free.

Support

A site that should work but doesn't, or a field parsed wrongly? Open an issue — parsing errors are treated as bugs and fixed.