VOOZH about

URL: https://apify.com/pat1987/german-handelsregister-lookup

โ‡ฑ German Company Data API โ€” Handelsregister & KYB ยท Apify


๐Ÿ‘ German Handelsregister API โ€” Company Data & KYB avatar

German Handelsregister API โ€” Company Data & KYB

Pricing

from $0.005 / actor start

Go to Apify Store

German Handelsregister API โ€” Company Data & KYB

German company data & KYB API. Look up firms across all 5 German registers via handelsregister.de: Handelsregister (HRB/HRA), Genossenschaft (eG), Gesellschaftsregister (eGbR), Partnerschaft & Verein. Returns JSON โ€” registration number, court, legal form, status, address. Firmendaten. Unofficial.

Pricing

from $0.005 / actor start

Rating

0.0

(0)

Developer

๐Ÿ‘ Patrick Lierse

Patrick Lierse

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Share

German Handelsregister Lookup โ€” all five public registers

Look up German entities in the official register portal (handelsregister.de) and get clean, structured JSON back: registration number, court, legal form, status and more.

One portal, five registers โ€” all covered:

RegisterSectionTypical entities
HandelsregisterHRB / HRAGmbH, AG, SE, UG, KG, OHG, e.K.
GenossenschaftsregisterGnReG โ€” Volksbanken, Raiffeisen, housing & energy co-ops
Gesellschaftsregister (new since 2024)GsReGbR โ€” registered civil-law partnerships (property-holding GbRs)
PartnerschaftsregisterPRPartG / PartG mbB โ€” law, tax & audit firms
VereinsregisterVRe.V. โ€” registered associations

The same search handles every section โ€” pass a name, or a register number with its prefix (HRB 50000, GnR 23, GsR 4711, PR 512, VR 642). The Gesellschaftsregister (eGbR) is a 2024 register that no other Apify actor covers โ€” useful for verifying the registered GbRs that now appear in land and beneficial-ownership records.

Unofficial tool. This actor is not affiliated with or endorsed by the Bundesministerium der Justiz or any German authority. It retrieves the same publicly available register data any person can view free of charge on the official portal โ€” register publicity is statutory (ยง 9 HGB for the commercial register; equivalent provisions govern the cooperative, partnership, association and company registers, all free and login-free via the common portal since DiRUG, Aug 2022). It does so politely: hard rate limit, caching, no personal data by default.

Example

Input

{
"companyName":"Allianz SE",
"maxResults":1
}

Output (one dataset item per company match, trimmed)

{
"companyName":"Allianz SE",
"registrationNumber":"HRB 164232",
"registrationCourt":"Mรผnchen",
"legalForm":"SE",
"registeredAddress":"Mรผnchen",
"status":"aktuell"
}

(Full records also include registrationDate, persons, sourceUrl, cachedAt and dataSource โ€” see the field notes below.)

Beyond the commercial register โ€” the same actor resolves cooperatives, partnerships, associations and the new eGbR register. Real results from a live QA run (2026-06-13):

{"companyName":"Berliner Volksbank eG","registrationNumber":"GnR 23","registrationCourt":"Berlin (Charlottenburg)","legalForm":"eG","status":"aktuell"}
{"companyName":"eGbR Lรผtzowgรคrten KH","registrationNumber":"GsR 4711","registrationCourt":"Berlin (Charlottenburg)","legalForm":"eGbR","status":"aktuell"}
{"companyName":"Noerr Partnerschaftsgesellschaft mbB โ€ฆ","registrationNumber":"PR 512","registrationCourt":"Mรผnchen","legalForm":"PartG mbB","status":"aktuell"}

Associations (VR) carry no legal-form suffix, so legalForm is null for them by design โ€” the register type is always available from the registrationNumber prefix.

What it does

You give it a company name and/or a registration number (e.g. HRB 50000), optionally a registration court (Amtsgericht). It searches the official register portal and returns up to maxResults structured records. Successful lookups are cached for 72 hours โ€” registry data changes slowly, and cache hits cost zero requests against the portal.

Rate limits โ€” read this before bulk use

The portal's terms of use cap automated retrieval at 60 queries per hour. This actor enforces that limit internally with a sliding-window limiter (strictly at most 60 requests in any rolling hour, budget persisted across runs) โ€” it is a feature, not a bug, and it cannot be disabled:

  • When the budget is exhausted, the actor waits (it does not fail, does not rotate proxies, does not evade). A run that needs more requests than the hourly budget simply takes longer.
  • The internal queue accepts at most 200 pending lookups. Beyond that the run fails fast with a clear error rather than accepting work it cannot politely complete.
  • Repeat lookups within 72 hours are served from cache instantly and consume no quota.

If you need thousands of fresh records per hour, this is the wrong tool โ€” and under the portal's terms, so is every other tool.

Input

FieldTypeDefaultNotes
companyNamestringโ€”Name or keywords. Required if no registrationNumber.
registrationNumberstringโ€”With section prefix: HRB/HRA, GnR, GsR, PR, VR (e.g. GnR 23). Required if no companyName.
registrationCourtstringโ€”Amtsgericht name, narrows the search.
includePersonsbooleanfalseGDPR safety default. Reserved for deep-record retrieval of directors/officers โ€” not yet functional; persons stays empty and nothing extra is charged.
maxResultsinteger101โ€“100.

Example input

{
"companyName":"Allianz SE",
"maxResults":2,
"includePersons":false
}

Example output (real result from a live QA run, 2026-06-11)

{
"companyName":"AREVA GmbH",
"registrationNumber":"HRB 7817",
"registrationCourt":"Fรผrth",
"federalState":"Bayern",
"legalForm":"GmbH",
"registeredAddress":"Erlangen",
"registrationDate":null,
"status":"aktuell",
"formerNames":["Siemens Nuclear Power GmbH","Framatome ANP GmbH","AREVA NP GmbH"],
"formerSeats":["Erlangen"],
"persons":[],
"sourceUrl":"https://www.handelsregister.de/rp_web/erweitertesuche/welcome.xhtml",
"cachedAt":"2026-06-11T21:28:00.000Z",
"dataSource":"handelsregister.de/erweitertesuche"
}

The search result grid reliably provides name, court, register number, federal state (Bundesland), seat, status, and company history โ€” formerNames and formerSeats (the register's renaming/relocation trail; null when none). These are all company data (no personal-data dimension).

Field availability honesty: registrationDate and persons โ€” plus deeper fields some competitors show (business purpose/Gegenstand, capital, representatives/Prokuristen) โ€” live only in the full filing document (a deep record, the SI/AD/CD extracts). The portal serves those only through JavaScript command-link postbacks that this plain-HTTP actor deliberately does not replicate (no headless browser, no anti-bot workarounds). Consequently persons is currently always empty (even with includePersons: true, which logs a notice instead) and registrationDate is always null. The deep-record event is never charged, and we do not fabricate these fields.

Searching by name: know this limitation

The register matches your keywords against registered legal names, not brands. "Allianz SE" and "Siemens AG" resolve fine; "BMW AG" does not โ€” the registered name is "Bayerische Motoren Werke Aktiengesellschaft", which contains neither "BMW" nor "AG". For brand-only names, search by registrationNumber (e.g. HRB 42243) and add registrationCourt (e.g. Mรผnchen) to disambiguate โ€” register numbers repeat across courts and the court filter is applied locally by the actor. Results are relevance-ranked before maxResults is applied, because the portal itself returns up to 100 alphabetically sorted fuzzy matches.

Pricing (pay per event)

EventPriceWhen charged
Actor start$0.005once per run
Structured result$0.004per record returned ($4 per 1,000)
Deep record$0.04per full filing document actually retrieved โ€” feature not yet live, this event is currently never charged

Examples: 1,000 basic company lookups โ‰ˆ $4.01โ€“$4.05 depending on how many runs you batch them into. Deep records will be charged only on successful retrieval once the feature ships โ€” today it never fires.

GDPR note

Company register data is public by statutory design (ยง 9 HGB). Personal data (names of directors/officers) is off by default and retrieved only when you explicitly enable includePersons โ€” at that point you are choosing to process personal data and need your own lawful basis. See COMPLIANCE.md in the repository for the operator's Legitimate Interest Assessment.

Every HTTP request the actor makes is timestamped and saved to the run's key-value store under AUDIT_LOG.

Troubleshooting

  • "results grid not found" โ€” the portal changed its markup (it has before). The raw HTML is saved to the run's KV store under PARSE_FAILURE_HTML; please report it. No fabricated data is ever emitted.
  • Slow run โ€” that's the 60/hour limit working as designed; see above.
  • The portal itself warns that its search can be flaky. Precise queries (exact name, or register number + court) work best.

Contact

Support: patrick.lierse@googlemail.com

You might also like

German Company Registry Scraper

dataharvest/handelsregister-scraper

Scrape German company data from Handelsregister.de.

Handelsregister Unternehmensregister

harvestedge/handelsregister-unternehmensregister

This scraper allows you to search the German Chamber of Commerce or handelsregister for businesses by name, registration number (HRB/HRA), EUID, company status, and last update.

Germany Handelsregister Scraper

regdata/germany-handelsregister-scraper

Search the German Commercial Register (Handelsregister) by company name or register number. Extract company data, officers / managing directors (Geschรคftsfรผhrer) with dates of birth, capital, legal form, seat, business purpose. No official API - structured JSON for KYC, KYB & due diligence.

German Trade Register Scraper - Handelsregister.de

actorpilot/german-trade-register-scraper

Extract company data from the official German Trade Register (Handelsregister) โ€” representatives, address, share capital, register number & more.

Handelsregister API

radeance/handelsregister-api

Access valuable key company data from the German Commercial Register in realtime from Handelsregister.de: shareholders, executives, addresses, court details, and official documents. Ideal for LegalTech, compliance, and due diligence workflows.

213

5.0

Handelsregister Scraper - German Companies & Directors

jungle_synthesizer/handelsregister-de-scraper

Scrape handelsregister.de for German companies: HR numbers, directors, shareholders (Gesellschafterliste), share capital, articles of association, branches. Pair with bundesanzeiger for full filings.

๐Ÿ‘ User avatar

BowTiedRaccoon

10

Handelsregister API Bulk

luca-artur/handelsregister-api-bulk

Enter multiple company names and automatically receive addresses, managing directors, HRB data, EU ID, legal form, and structured information for download. Perfect for CRM sync, compliance checks and lead research. All data included.

โœจ German Imprint Scraper & Leads Finder (Google Search)

winningsolutions/german-imprint-scraper

AI-powered Apify Actor that scrapes Impressum pages on German websites and extracts decision-makers (Geschรคftsfรผhrer, Vorstand), validated B2B emails, company addresses, VAT IDs, and Handelsregister numbers. Structured JSON output for B2B lead generation, sales prospecting, and CRM enrichment.

๐Ÿ‘ User avatar

Winning Solutions

149

5.0