North Data Scraper - EU Company Register & Officers avatar

North Data Scraper - EU Company Register & Officers

Pricing

from $3.50 / 1,000 company profiles

Go to Apify Store
North Data Scraper - EU Company Register & Officers

North Data Scraper - EU Company Register & Officers

Scrape North Data for European company register records: court and number (HRB, Companies House, Siren, KVK), EUID, LEI, address, officers, published financials and events. Search by legal name or paste a profile URL. Fast HTTP crawl on Apify, no login.

Pricing

from $3.50 / 1,000 company profiles

Rating

0.0

(0)

Developer

Andrej Kiva

Andrej Kiva

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Disclaimer: Unofficial tool — not affiliated with, sponsored by, or endorsed by North Data GmbH. Data is read from publicly accessible pages only. No login and no official API key. You are responsible for complying with applicable law (including GDPR where officer names appear) and the site’s terms. North Data’s terms prohibit using the data for credit assessments. No warranty on accuracy or completeness. Provided for informational and research use.

Register officers: Officer names and roles come from public commercial-register pages. Keep includeOfficers on only when you have a lawful basis to process that personal data.

North Data (EU registers)Europages (EU directory)WLW (DACH directory)
North Data Scraper ◄── you are hereEuropages ScraperWLW Scraper
Handelsregister, Companies House, Siren, KvK, officers, published financialsEurope-wide B2B suppliers, VAT, contactsDE / AT / CH suppliers, phone, email, VAT

North Data scraper for Apify — turn a legal name or company profile URL into structured European commercial-register data. Collect register court and number (HRB / HRA, Companies House, Siren, KVK, KBO), EUID, LEI, registered address, company officers with roles, published financial time series when accounts exist, and register events (capital changes, mergers, insolvency flags).

Use it as a North Data API alternative for KYB / counterparty checks, CRM enrichment, and supplier vetting — without wrapping the paid Data Services API. Fast HTTP crawl (curl_cffi) — no headless browser. Export JSON, CSV, or Excel. Works from Python, Node.js, or an MCP / AI assistant via Apify.

Use cases

Use caseWhat you get
KYB / counterparty checkCourt + number, EUID, LEI, status, recent register events
CRM enrichmentResolve a legal name to a canonical register identity and address
Officer mappingManaging directors / board members with roles and person URLs
Supplier riskInsolvency / liquidation flags from the public event feed
Listed-company financialsYearly revenue and earnings when North Data publishes figures
Register ID harvestSearch-only rows (name, city, HRB/Siren label, URL) without opening profiles

When to use this Actor

  • You need North Data company profiles as one dataset row per company
  • You have legal names, keywords, or North Data profile URLs
  • You want officers, EUID/LEI, and published financials without an official API key
  • You prefer a browser-free HTTP scrape on Apify (Python or Node.js client, or MCP)

When not to use this Actor

  • Paywalled North Data fields (full shareholders, some charts, printing) — public HTML only
  • Guaranteed revenue on every SME — most small companies never publish accounts
  • More than ~45 hits per anonymous search — that ceiling is the website, not this Actor
  • Credit scoring — forbidden by North Data’s terms; this Actor is for research / KYB identity
  • Official bulk API / quarterly exports — that is North Data’s paid Data Services product
  • B2B directory contacts (phone, email, VAT on supplier listings) — use Europages or WLW instead

Key features

  • Name searchsearchQueries paginates public results (15 per page, 45 anonymous cap)
  • Profile URLs — paste a company page and skip search
  • Search-only modefetchProfiles: false returns identity rows without opening each page
  • Officers — name, role, city, person URL from structured data
  • Financial series — year, value, filing title and date when North Data publishes figures
  • Register events — registration, capital, management, mergers; insolvency boolean
  • English or German labels (northdata.com / northdata.de)
  • HTTP only — Chrome TLS fingerprint, 256 MB default, datacenter proxy is enough
  • Deduped push — unique by profile URL within a run

Input parameters

ParameterTypeDefaultDescription
searchQueriesArray["Bayerische Motoren Werke"]Company names or keywords. Legal names rank better than short tokens like BMW.
startUrlsArray[]Profile and/or search URLs. Person pages are skipped.
languageString"en"en (northdata.com) or de (northdata.de).
fetchProfilesBooleantrueOpen each company page for officers, financials, EUID/LEI, events.
includeOfficersBooleantrueOfficers array.
includeFinancialsBooleantrueYearly series when published.
includeEventsBooleantrueRegister / officer event timeline.
includePublicationsBooleanfalseUp to 25 patent / bulletin feed items.
maxItemsInteger20Cap across all queries and URLs.
requestDelaySecsNumber0.4Pause between HTTP requests.
proxyConfigurationObjectApify Proxy onDatacenter is sufficient.
{
"searchQueries": ["Bayerische Motoren Werke"],
"startUrls": [
{"url": "https://www.northdata.com/Zalando%20SE,%20Berlin/HRB%20158855%20B"}
],
"fetchProfiles": true,
"includeOfficers": true,
"includeFinancials": true,
"maxItems": 5,
"language": "en"
}

Example — cheap identity list (no profile fetch)

{
"searchQueries": ["Siemens Energy"],
"fetchProfiles": false,
"maxItems": 15
}

Output fields

FieldDescription
recordTypesearch or profile
name / alternateNameLegal name and former / trading name when published
urlNorth Data profile URL
registerCourt / registerKind / registerNumber / registerLabelRegistrar identity (HRB, Companies House, Siren, …)
euid / leiCodeEuropean Unique Identifier and LEI when published
street / postalCode / city / countryRegistered address
foundingDate / corporatePurpose / industryDates, purpose, industry breadcrumb
officers[]name, role, city, url
officerCountNumber of officers on the profile
financials[]{ metric, values[{ year, value, formattedValue, publicationDate }] }
revenue / earningsLatest numeric figures when a series exists
events[]Dated register / officer events
insolvencyTrue if events mention insolvency or liquidation
statusactive, terminated, or liquidation when detectable
publications[]Optional patent / bulletin feed (max 25)

Example profile row

{
"recordType": "profile",
"name": "Bayerische Motoren Werke AG",
"city": "München",
"country": "DE",
"registerKind": "HRB",
"registerNumber": "42243",
"registerCourt": "Munich",
"euid": "DED2601V.HRB42243",
"leiCode": "YEH5ZCD6E441RHVHD759",
"officerCount": 123,
"insolvency": false,
"status": "active",
"url": "https://www.northdata.com/BMW+AG,+M%C3%BCnchen/HRB+42243"
}

Typical workflow

  1. Start with legal names (searchQueries) or paste profile URLs (startUrls).
  2. Leave fetchProfiles: true for officers, EUID/LEI, financials and events. Set it false for a cheap identity list.
  3. Cap the run with maxItems. Export the dataset as JSON, CSV, or Excel.
  4. For commercial contacts (phone, email, VAT on public listings), continue with Europages Scraper or WLW Scraper.

Practical tips

  • Prefer legal names over ticker-style tokens (Bayerische Motoren Werke, not BMW)
  • Paste a profile URL when you already have the North Data page — skips search and the 45-hit cap
  • Use language: "de" when you need German labels (Geschäftsführer, Handelsregister)
  • Keep requestDelaySecs at 0.4+ on longer crawls
  • Datacenter proxy is enough; residential is not required for public HTML
  • Need DACH supplier contacts after register IDs? Run WLW Scraper

Integration examples

Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('crawloop/northdata-scraper').call({
searchQueries: ['Bayerische Motoren Werke'],
fetchProfiles: true,
maxItems: 5,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items.slice(0, 3));

Python

from apify_client import ApifyClient
client = ApifyClient(token)
run = client.actor("crawloop/northdata-scraper").call(
run_input={
"searchQueries": ["Bayerische Motoren Werke"],
"fetchProfiles": True,
"maxItems": 5,
}
)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item.get("name"), item.get("euid"), item.get("leiCode"))

cURL

curl "https://api.apify.com/v2/acts/crawloop~northdata-scraper/runs?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"searchQueries":["Bayerische Motoren Werke"],"fetchProfiles":true,"maxItems":5}'

MCP and AI assistants

Use this Actor from AI tools via Apify MCP. Connect your Apify account, then call crawloop/northdata-scraper.

Example prompts:

  • "Run North Data Scraper for Bayerische Motoren Werke, max 5, return name, euid, leiCode, officers"
  • "Look up Zalando SE on North Data and summarize register events and latest revenue"
  • "Chain Europages Scraper then North Data Scraper to add HRB / EUID to supplier leads"

Suite next step

North Data is register identity (court, number, officers, published accounts). For Europe-wide B2B directory contacts (phone, email, VAT on public listings), run Europages Scraper next. For DACH-only Wer liefert was coverage, use WLW Scraper. For Dutch Chamber of Commerce cards, use KvK Handelsregister Scraper.

FAQ

Does every company have revenue? No. Public accounts are common for listed groups and some GmbHs; most SMEs leave revenue / financials empty. Register identity is the reliable part.

Why did “BMW” not return BMW AG first? North Data matches the token in names. Use the legal name (Bayerische Motoren Werke) or a direct profile URL.

Can I page past 45 results? Not while anonymous. The website stops after offset 30 (45 rows). Use more specific queries or paste known profile URLs.

Do you wrap the official North Data API? No. This Actor reads public HTML and JSON-LD only. You do not need an API key.

Is this a Handelsregister.de scraper? No. It reads North Data’s public company pages, which aggregate Handelsregister, Companies House, Siren, KvK, KBO and other European registers. For the official German register portal itself, use a dedicated Handelsregister Actor.

Which countries are covered? Whatever North Data publishes on the public profile — commonly Germany, UK, France, Netherlands, Belgium and other EU registers. Coverage follows the source page, not a separate country filter.

Are person pages supported? No. Person URLs are skipped. Search hits that point at people are dropped; company profiles remain.

Can I use northdata.de? Yes. Set language to de for German labels. Register numbers (HRB, EUID, LEI) are the same.

May I use this for credit scoring? No. North Data’s terms forbid credit assessments. Use the dataset for research, KYB identity, and enrichment only.

ActorUse for
North Data Scraper ◄── you are hereEU commercial-register identity, officers, published financials
Europages ScraperEurope-wide B2B directory, VAT & contacts
WLW ScraperDACH B2B suppliers from Wer liefert was
KvK Handelsregister ScraperDutch Chamber of Commerce public search + KvK lookup