German Company Registry Scraper - Firms & Officers avatar

German Company Registry Scraper - Firms & Officers

Pricing

$10.00 / 1,000 company scrapeds

Go to Apify Store
German Company Registry Scraper - Firms & Officers

German Company Registry Scraper - Firms & Officers

Scrape German and European commercial register data - company name, register court and number, address, founding date, LEI code and the full list of directors and officers. Independent tool, not affiliated with any government agency.

Pricing

$10.00 / 1,000 company scrapeds

Rating

0.0

(0)

Developer

Scrape Sage

Scrape Sage

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

2 days ago

Last modified

Share

Disclaimer: This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by the German register courts and their common portal or any government body. All trademarks mentioned are the property of their respective owners. The German company register (Handelsregister) is referenced only to describe the public data source this Actor collects from.

Scrape German commercial-register data — company name, register court and number, address, founding date, LEI code — plus the full list of directors and officers with their job titles. No login, no API key.

Also covers 15 other European registers in the same run: Austria, Switzerland, Belgium, France, the Netherlands, the Nordics, the Baltics and more.

The European sibling to my Companies House Scraper (UK).


What you get

One row per company:

FieldWhat it is
companyNameRegistered legal name
registerCourte.g. "Amtsgericht Charlottenburg (Berlin)"
registerType, registerNumbere.g. HRB / 158855 B
registerIdThe full register identifier as published
street, postalCode, city, countryCode, fullAddressRegistered address
foundingDateIncorporation date (ISO)
leiCodeLegal Entity Identifier, where the company holds one
statusactive / inactive
officersEvery director and officer: name, first/last name, job title, city, profile URL
officerCountHow many
northDataUrlSource record
  • By company name["zalando", "delivery hero"]
  • By country — restrict to DE, AT, CH, BE, FR, NL
  • By URL — paste record URLs directly for companies you already know

Example input

{
"queries": ["software gmbh"],
"country": "DE",
"onlyWithOfficers": true,
"maxPerQuery": 20,
"maxResults": 100,
"proxyConfiguration": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"] }
}

Example output

{
"type": "company",
"companyName": "Zalando SE",
"registerCourt": "Amtsgericht Charlottenburg (Berlin)",
"registerType": "HRB",
"registerNumber": "158855 B",
"city": "Berlin",
"countryCode": "DE",
"leiCode": "529900YRFFGH5AXU4S86",
"status": "active",
"officerCount": 16,
"officers": [
{ "name": "Schneider, Robert", "jobTitle": "Vorstand", "city": "Berlin" }
]
}

Pricing

$0.01 per company. You are charged only for records actually delivered.

You are not billed for the wrong companies

Search an unknown name and the source answers with a page of unrelated companies rather than an empty result. By default (requireNameMatch) this actor rejects results whose name doesn't match your search before their page is even fetched — no request, no charge — and the run tells you so. Turn it off to keep everything returned.

Honest limits

  • registerCourt is German-only. It's parsed out of the register identifier, and the other European registers this covers use a plain number with no court — Belgian KBO, French Siren, Bulgarian UIC, Lithuanian JAR. registerType and registerNumber are populated either way.
  • leiCode exists only for companies required to hold one (typically those active in financial markets). Most SMEs have none; it's never fabricated.
  • officers are present on ~83% of records. Branches, dormant and very new entities may list none — officerCount is then 0, never null, so the two fields can't disagree.
  • No revenue or employee figures. The source renders those behind its paid tier, so shipping the fields would mean shipping them permanently empty.

Automate & schedule

Run this Actor on autopilot and pull results into your own stack:

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'MY_APIFY_TOKEN' });
const run = await client.actor('scrapesage/german-company-registry-scraper').call({
"queries": [
"zalando"
],
"maxPerQuery": 5,
"maxResults": 20,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": [
"RESIDENTIAL"
]
}
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(`Got ${items.length} records`);

Integrate with any app

Connect the dataset to thousands of apps - no code required:

  • Make - multi-step automation scenarios.
  • Zapier - push new records straight into your CRM or spreadsheet.
  • Slack - get notified when a scheduled run finds something new.
  • Google Drive / Sheets - auto-export every run to a spreadsheet.
  • Airbyte - pipe results into your data warehouse.
  • GitHub - trigger runs from commits or releases.

Use with AI assistants (MCP)

The output is clean, LLM-ready JSON. You can call this Actor from Claude, ChatGPT or any agent framework through the Apify MCP server - describe the data you need and let the assistant run this Actor for you.

Agent-ready: autonomous payments (x402 & Skyfire)

This actor is agent-ready — AI agents can discover it, run it, and pay for it autonomously, with no Apify account and no human in the loop. It uses pay-per-event pricing and limited permissions, so it qualifies for Apify's agentic-payment standards:

  • x402 — an open, HTTP-native payment protocol. Agents pay per run in USDC on the Base network directly through the Apify MCP server — no account, no API key.
  • Skyfire — agent-to-service payments for fully autonomous AI-agent workflows.

Building an AI agent, MCP tool, or autonomous data pipeline? This scraper is ready to plug in and pay as it goes.

FAQ

How is this Actor billed? Pay-per-event: you pay only for the results it delivers, with no monthly rental and no start fee. The per-event price is shown on the Pricing tab.

Can I schedule it and get results automatically? Yes - create a Schedule and add a webhook or an integration (Google Sheets, Slack, Make, Zapier) to push each run's dataset wherever you need it.

Which export formats are available? Every run's dataset can be downloaded as JSON, CSV, Excel (XLSX), XML, HTML or RSS from the Apify Console or the API.

Can I run it from code or an AI agent? Yes - through the Apify API and client libraries, or from Claude, ChatGPT and other assistants via the Apify MCP server.

Is it legal to scrape the German company register (Handelsregister)? This Actor collects publicly available data only. You are responsible for using the output in compliance with applicable laws (including data-protection law where personal data is involved) and the source's terms. See Data & lawful use and the Disclaimer below.

Tips

  • onlyWithOfficers: true gives a clean decision-maker list for B2B outreach.
  • Search by legal-form keyword ("ug haftungsbeschraenkt", "software gmbh") plus country to build sector lead lists.
  • Dedupe on northDataUrl when accumulating scheduled runs.
  • Companies House Scraper — the same job for the UK: companies, directors and PSCs

Data & lawful use

The source is an official public register, published so that anyone can consult it. Records can name individuals (managing directors and other officers), so the output may contain personal data even though it is public. If you are in the EU or UK you are the data controller for what you do with it: have a lawful basis, honour access and deletion requests, and respect the register's own reuse conditions, which can restrict marketing or commercial use.

Under Apify's Standard Actor Contract, which governs your use of this Actor, you are the controller of any personal data in your input and output and scrapesage acts only as your processor: that data is processed solely to run your job, written only to your own Apify storage, never used for any other purpose and never shared onward. If you need help with a data-subject request that involves this Actor's output, open an issue on the Issues tab.

Disclaimer

This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by the German register courts and their common portal or any government body. All trademarks mentioned are the property of their respective owners.

The German company register (Handelsregister) is referenced only in a descriptive, nominative sense - to identify the public data source this Actor collects from. This Actor is not an official product or service of the German register courts and their common portal and is not authorised or certified by it. It collects only publicly available records; you are responsible for ensuring your use of that data complies with applicable laws, regulations and the source's own terms of use or reuse conditions.

Need help?

Open an issue on the Actor's Issues tab, or visit the Apify help center. Feature requests are welcome - this Actor is actively maintained.