Northdata Company Scraper avatar

Northdata Company Scraper

Pricing

from $6.00 / 1,000 results

Go to Apify Store
Northdata Company Scraper

Northdata Company Scraper

Scrape Northdata.com for European company profiles. Pull registry, officers, address, foundingDate, industry, status, events and corporate purpose from UK Companies House, Siren, Handelsregister, KBO, KvK and more. Search by name or load specific URLs. Per-result pricing, proxies included.

Pricing

from $6.00 / 1,000 results

Rating

0.0

(0)

Developer

SilentFlow

SilentFlow

Maintained by Community

Actor stats

2

Bookmarked

144

Total users

19

Monthly active users

3 days ago

Last modified

Features

Limited permissions

Share

Northdata Scraper

Northdata results, 14 fields each, from any search.

From SilentFlow. Creators of Facebook Search Scraper and Pinterest Scraper, with 600,000+ combined lifetime runs.

Every European company, structured: name, registry, officers, address, financials, events, industry. Search by name or feed direct profile URLs. Pay per result, proxies included. In seconds, not hours.

How it works

How it works

✨ Why teams choose this over other Northdata scrapers

Tired of paying for thin Northdata search lists with 6 fields per row? Still copy-pasting registry numbers and director names from Northdata one company at a time? Running into actors that crash on French SIREN, Belgian VAT, or UK Companies House formats?

  • πŸ’° Pay per result, not per minute. No compute costs, proxies included. You pay for rows delivered, period.
  • 🏒 Full profile, not just the search list. Other Northdata scrapers stop at the result list (name, city, registry number). This one opens each company and pulls 25+ fields including directors, founding date, corporate purpose, industry classification, and full address.
  • πŸ“ˆ Revenue, earnings and headcount on the row. The latest published figures sit next to the company name, with the year-by-year history (each value tagged with its source publication) and the balance sheet lines underneath. Screen targets by size without opening a single page.
  • πŸͺͺ LEI and every national identifier. LEI code, Siren and Siret, Companies House number, trade register entry and stock tickers, ready for entity matching and sanctions screening.
  • πŸ•ΈοΈ Related companies. Acquisitions, mergers, break-ups, control agreements and shareholdings, each with its date, to map a holding structure from one profile.
  • πŸ‘₯ Real director and officer data, and people search. Names, roles, appointment dates and Northdata person URLs on every company. Switch the result type to People to list directors by name with every company they are tied to.
  • 🌍 Country filter. Keep only the companies registered in one country, so a common name stops returning homonyms from the rest of Europe.
  • 🌍 Works across the EU. UK Companies House, French SIREN, German Handelsregister, Belgian KBO, Dutch KvK, Italian REA, Spanish Mercantil, Nordic and Baltic registries. Single output schema.
  • 🎯 Smart routing on exact matches. When your query matches a single company by name, the scraper jumps straight to its profile and returns the full record. No empty list to sift through.
  • πŸ”— Industry breadcrumbs included. Every record carries its NACE-style industry classification path, so you can segment leads by sector without a separate lookup.
  • πŸ›‘ High reliability. Profiles served by Northdata sometimes shift between languages and locales. Output is normalised regardless of source language.
  • πŸ“¦ Stable output schema. Same JSON keys for every country and every registry type. Drop it into your warehouse without country-specific transforms.

Try Northdata Company Scraper

🎯 What you can do with Northdata data

TeamWhat they build
SalesEnrich a list of 5,000 EU companies with director names, registry IDs, and founding dates before outreach
Compliance and KYCVerify counterparty registry numbers and screen named directors against sanctions and PEP lists
M&A and corporate developmentMap ownership, find sister companies, check the corporate purpose of acquisition targets
Investigative journalismTrace company histories, name changes, and address moves through historical events
Credit and riskFlag liquidation status, watch for sudden registered office changes, monitor recent capital events
RecruitmentIdentify Director and Managing Director names at target firms across France, Germany, the UK
Procurement and supplier intelVet European suppliers by legal form, industry code, and operating status
Research and policyPull thousands of registered businesses by industry and country for market sizing

πŸ“₯ Input parameters

FieldTypeDefaultNotes
searchQueriesarray of strings[]Company names, director names, keywords or register numbers. Each query reads up to 45 matches, the most Northdata lists for one search. Unique-name queries open the company directly.
startUrlsarray of URLs[]Northdata company or person profile URLs (e.g. https://www.northdata.com/Rolls-Royce%20plc,%20London/Companies%20House%2001003142) or search result URLs. Profile URLs are delivered as given; search URLs are read page after page.
countrystringanyKeep only companies and people registered in one country. Pick it, or type a code (de, deu) or an English name (Germany).
resultTypestringcompaniescompanies, people (directors and officers, with the companies they are tied to) or both.
maxItemsinteger100Hard cap on total rows returned across all queries and URLs.
maxResultsPerQueryintegeremptyCap each query on its own (1 to 45), so every name in a list gets its share of rows.
includeOfficersbooleantrueOpens each result's profile for officers, revenue, earnings, employees, financial history, balance sheet, LEI, identifiers, publications and related companies. Set to false for a fast listing-only mode.
debugModebooleanfalseVerbose logs for debugging.

You need at least one of searchQueries or startUrls.

πŸ“Š Output data

Each item is one European company, or one person when the result type includes people. Output is the same shape whether the source was a search query or a direct URL.

Example A: listed company with its financials

{
"recordType": "company",
"northdataUrl": "https://www.northdata.com/VOLKSWAGEN%20AG,%20Wolfsburg/Amtsgericht%20Braunschweig%20HRB%20100484",
"northdataId": "4562491040071680",
"name": "VOLKSWAGEN AG",
"foundingDate": "1961-04-27",
"status": "active",
"leiCode": "529900NNUPAGGOMPXZ31",
"address": { "country": "DE", "street": "Berliner Ring 2", "postalCode": "38440", "locality": "Wolfsburg" },
"register": { "court": "Amtsgericht Braunschweig HRB", "number": "100484", "uniqueKey": "DE_100484" },
"nationalIds": [
{ "value": "District Court of Braunschweig HRB 100484", "source": "German Trade Register Company Profile" },
{ "value": "Siren 853801629", "source": "Sirene database of enterprises and their establishments (legal entities)" }
],
"industry": [{ "name": "Manufacture of motor vehicles" }],
"revenue": 321913000000,
"earnings": 7323000000,
"totalAssets": 665791000000,
"equity": 188779000000,
"currency": "EUR",
"financialYear": 2025,
"financials": [
{ "metric": "Revenue", "year": 2025, "value": 321913000000, "formattedValue": "€321.9B", "currency": "EUR", "publicationTitle": "Stock exchange listed companies - Financial Data", "publicationDate": "2025-12-31" },
{ "metric": "Earnings", "year": 2025, "value": 7323000000, "formattedValue": "€7.32B", "currency": "EUR", "publicationTitle": "Stock exchange listed companies - Financial Data", "publicationDate": "2025-12-31" }
],
"balanceSheets": [
{
"section": "Assets",
"date": "2025-12-31",
"currency": "EUR",
"lines": [
{ "name": "Total Assets", "value": 665791000000, "formattedValue": "€665.8B", "level": 0 },
{ "name": "Total Current Assets", "value": 253776000000, "formattedValue": "€253.8B", "level": 1 },
{ "name": "Cash and Cash Equivalents", "value": 38801000000, "formattedValue": "€38.8B", "level": 2 }
]
}
],
"officers": [
{ "name": "Blume, Oliver Ingo", "givenName": "Oliver Ingo", "familyName": "Blume", "role": "CEO", "dateAppointed": "2018-04-23", "url": "https://www.northdata.com/Blume,%20Oliver%20Ingo,%20K%C3%B6nigslutter/qme" }
],
"relatedCompanies": [
{ "name": "AUDI AG", "relationship": "Acquisition", "date": "2024-06-04" },
{ "name": "Volkswagen Financial Services Europe AG", "relationship": "Acquisition", "date": "2023-08-30" }
],
"publications": [
{ "date": "2026-11-04", "title": "85 trademark filings (28 wordmarks, 12 figurative marks, 2 word figurative marks, 7 other marks): AIRS, ALLVIA, AMEO …", "source": "German Patent and Trademark Office (Trademark Records)", "url": "https://www.northdata.com/?id=5859327126274048" }
],
"events": [
{ "date": "1961-04-27", "type": "Registration", "category": "History", "description": "Registration" }
],
"scrapedAt": "2026-11-08T13:34:30Z"
}
{
"recordType": "person",
"northdataUrl": "https://www.northdata.com/Blume,%20Oliver%20Ingo,%20K%C3%B6nigslutter/qme",
"name": "Oliver Ingo Blume",
"givenName": "Oliver Ingo",
"familyName": "Blume",
"address": { "country": "DE", "locality": "KΓΆnigslutter" },
"companies": [
{ "name": "Bentley Motors Ltd.", "url": "https://www.northdata.com/Bentley%20Motors%20Ltd%C2%B7,%20Crewe/Companies%20House%2000992897" },
{ "name": "Dr. Ing. h.c. F. Porsche AG", "url": "https://www.northdata.com/Dr%C2%B7%20Ing%C2%B7%20h%C2%B7c%C2%B7%20F%C2%B7%20Porsche%20AG,%20Stuttgart/HRB%20730623" },
{ "name": "VOLKSWAGEN AG", "url": "https://www.northdata.com/VOLKSWAGEN%20AG,%20Wolfsburg/Amtsgericht%20Braunschweig%20HRB%20100484" },
{ "name": "Verband der Automobilindustrie (VDA)" }
],
"searchQuery": "Oliver Blume",
"scrapedAt": "2026-11-08T13:33:54Z"
}

Example C: UK public company with directors

{
"northdataUrl": "https://www.northdata.com/Rolls-Royce%20plc,%20London/Companies%20House%2001003142",
"name": "Rolls-Royce plc",
"foundingDate": "1971-02-23",
"address": {
"country": "GB",
"street": "90 York Way",
"postalCode": "N1 9FX",
"locality": "London"
},
"register": {
"court": "Companies House",
"number": "01003142",
"uniqueKey": "GB_01003142"
},
"industry": [
{ "name": "Repair and maintenance of civilian air and spacecraft" }
],
"officers": [
{
"name": "Varsellona, Maria Rosaria",
"givenName": "Maria Rosaria",
"familyName": "Varsellona",
"role": "Director",
"url": "https://www.northdata.com/Varsellona,%20Maria%20Rosaria,%20London/cwc",
"address": { "country": "GB", "locality": "London" }
}
],
"breadcrumbs": ["Companies", "Repair and maintenance of civilian air and spacecraft", "Rolls-Royce plc"],
"scrapedAt": "2026-05-15T17:40:21Z"
}

πŸ—‚οΈ Data fields

Every company carries these fields. Empty fields are omitted from the JSON.

Identity

FieldTypeNotes
namestringLegal name as listed on Northdata, includes legal form suffix
alternateNamestringFormer or trading name when Northdata exposes it
foundingDatestringISO date of incorporation
statusstringactive, liquidation, terminated, insolvency
northdataUrlstringCanonical Northdata profile URL
northdataIdstringInternal Northdata ID

Address

FieldTypeNotes
address.countrystringCountry code or country name
address.streetstringRegistered street
address.postalCodestringPostal code
address.localitystringCity
address.latnumberGeocoded latitude when available
address.lngnumberGeocoded longitude when available

Registry

FieldTypeNotes
register.courtstringCompanies House, Amtsgericht, Siren, KBO, KvK, REA, etc.
register.numberstringRegistration number as stored at the registry
register.uniqueKeystringCountry-prefixed deduplication key

People

FieldTypeNotes
officers[].namestringFull name
officers[].givenNamestringFirst name
officers[].familyNamestringFamily name
officers[].rolestringDirector, Managing Director, Liquidator, etc.
officers[].urlstringNorthdata person profile URL
officers[].addressobjectCountry and locality when published

Industry and purpose

FieldTypeNotes
industry[].namestringHuman-readable industry classification
corporatePurposestringText of the registered corporate purpose
breadcrumbsarrayNorthdata hierarchy path

Identifiers

FieldTypeNotes
leiCodestringLegal Entity Identifier, when the company has one
nationalIds[].valuestringEvery identifier on the profile: trade register entry, Siren, Siret, Companies House number, stock tickers, LEI
nationalIds[].sourcestringThe register or database it comes from

Financials

Figures appear where Northdata publishes them for free, most often for listed companies and German, Austrian, Belgian and Nordic filings. A figure Northdata keeps for its premium plan is left out, never guessed.

FieldTypeNotes
revenuenumberLatest published revenue
earningsnumberLatest published earnings (profit or loss)
employeesnumberLatest published headcount
totalAssetsnumberLatest balance sheet total
equitynumberLatest equity
currencystringISO currency of the figures (EUR, GBP, NOK...)
financialYearnumberYear of the latest figures
financials[]arrayYear-by-year history, one entry per metric and year: metric (Revenue, Earnings, Employees, Total assets, Public funding, Patents...), year, value, formattedValue, currency, consolidated, estimate, publicationTitle, publicationDate
balanceSheets[]arrayLatest balance sheet, one entry per side (Assets, Liabilities and equity) with its date, currency, source and lines (name, value, formattedValue, level in the tree)

Network, publications and history

FieldTypeNotes
relatedCompanies[]arrayCompanies linked by an acquisition, merger, break-up, control agreement or shareholding: name, relationship, date, url when Northdata links it
publications[]arrayThe 20 latest register filings, annual reports, patents and announcements: date, title, source, url
mentions[]arrayThe 20 latest filings of other companies that name this one
events[].datestringISO date
events[].typestringRegistration, Capital change, Name or legal form change, Address change, Management change, Merger, acquisition or control, Trademark, Funding, Liquidation...
events[].categorystringThe Northdata timeline it belongs to: History, Persons, Merger & Acquisition & Control, Marketing & Tech
events[].descriptionstringHuman-readable description of the event

People rows

When resultType is people or both, a person is one row with recordType set to person.

FieldTypeNotes
recordTypestringcompany or person
name, givenName, familyNamestringThe person's names
address.locality, address.countrystringWhere Northdata places the person
companies[]arrayCompanies the person is tied to: name, and url when the profile is read

Metadata

FieldTypeNotes
searchQuerystringThe query that produced this row, when relevant
scrapedAtstringISO 8601 timestamp at extraction

πŸš€ Examples

Look up one company by name

{
"searchQueries": ["Siemens Energy"],
"maxItems": 5
}

Build a 200-row enrichment of UK aerospace players

{
"searchQueries": ["aerospace"],
"maxItems": 200,
"includeOfficers": true
}

Pull a single profile by direct URL

{
"startUrls": [
{ "url": "https://www.northdata.com/Rolls-Royce%20plc,%20London/Companies%20House%2001003142" }
]
}

Get the list of directors for ten target companies

{
"startUrls": [
{ "url": "https://www.northdata.com/Rolls-Royce%20plc,%20London/Companies%20House%2001003142" },
{ "url": "https://www.northdata.com/Jaguar%20Land%20Rover%20Ltd%C2%B7,%20Coventry/Companies%20House%2001672070" },
{ "url": "https://www.northdata.com/Imperial%20Tobacco%20Ltd%C2%B7,%20Bristol/Companies%20House%2001860181" }
],
"includeOfficers": true,
"maxItems": 10
}

German companies only, five best matches per name

{
"searchQueries": ["Robert Bosch", "Siemens", "Continental"],
"country": "DE",
"maxResultsPerQuery": 5,
"maxItems": 15
}

Map a director's mandates

{
"searchQueries": ["Oliver Blume"],
"resultType": "people",
"maxItems": 10
}

Listing-only mode for a fast first pass

{
"searchQueries": ["software", "fintech", "logistics"],
"maxItems": 90,
"includeOfficers": false
}

πŸ€– Copy to your AI assistant

Copy this block into ChatGPT, Claude, Cursor, or any LLM to start using this actor.

silentflow/northdata-scraper on Apify. Call: ApifyClient("TOKEN").actor("silentflow/northdata-scraper").call(run_input={...}), then client.dataset(run["defaultDatasetId"]).list_items().items for results. Key inputs: searchQueries (array of strings, company names, director names, keywords or register numbers, up to 45 matches each, unique names redirect to a single profile), startUrls (array of URL objects, Northdata company, person or search URLs), country (ISO-2 code or English name, keeps only rows registered there), resultType (companies, people or both, default companies), maxItems (integer, default 100, max 10000), maxResultsPerQuery (integer 1-45, optional per-query cap), includeOfficers (boolean, default true, opens each result's profile for officers, financials, identifiers, publications, related companies). At least one of searchQueries or startUrls required. Output per result: recordType (company/person), name, givenName, familyName, alternateName, foundingDate (ISO), status (active/liquidation/terminated/insolvency), leiCode, northdataUrl, northdataId, address (country ISO-2, street, postalCode, locality, lat, lng), register (court, number, uniqueKey), nationalIds (value, source), industry, segmentCodes (isic/nace/naics/uksic/wz2025), corporatePurpose, revenue, earnings, employees, totalAssets, equity, currency, financialYear, financials (metric, year, value, currency, consolidated, estimate, publicationTitle, publicationDate), balanceSheets (section, date, currency, lines: name, value, level), officers (name, role, dateAppointed, dateEnded, url), companies (for people: name, url), relatedCompanies (name, relationship, date, url), publications and mentions (date, title, source, url), events (date, type, category, description), breadcrumbs, searchQuery, scrapedAt. Full actor spec (input schema with all params/enums/defaults, output dataset fields, README): GET https://api.apify.com/v2/acts/silentflow~northdata-scraper/builds/default (Bearer TOKEN) β†’ inputSchema, actorDefinition.storages.dataset, readme. Get token: https://console.apify.com/account/integrations

πŸ’» Integrations

Enrich a list of leads in Python

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
leads = ["Siemens Energy", "Rolls-Royce plc", "Volkswagen AG"]
run = client.actor("silentflow/northdata-scraper").call(run_input={
"searchQueries": leads,
"includeOfficers": True,
"maxItems": 200,
})
for company in client.dataset(run["defaultDatasetId"]).iterate_items():
print(company["name"], company["register"]["uniqueKey"],
[o["name"] for o in company.get("officers", [])])

Build a director map of UK aerospace in Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const { defaultDatasetId } = await client
.actor('silentflow/northdata-scraper')
.call({
searchQueries: ['aerospace London', 'aerospace Bristol'],
includeOfficers: true,
maxItems: 100,
});
const { items } = await client.dataset(defaultDatasetId).listItems();
const directors = items.flatMap(c =>
(c.officers || []).map(o => ({ company: c.name, name: o.name, role: o.role }))
);
console.table(directors);

Export the dataset to CSV for your sales team

curl "https://api.apify.com/v2/datasets/DATASET_ID/items?format=csv&token=YOUR_APIFY_TOKEN" \
> northdata_leads.csv

πŸ“ˆ Performance

WorkloadRun timeItems
Single search query, 5 companies, officers enabled~1s5
Three search queries, 30 companies, officers enabled~6s30
100 direct profile URLs with officers~25s100
1,000 profile URLs in listing mode~3m1,000

Times are indicative and vary with Northdata response time and proxy availability.

πŸ’Ύ Data export

The dataset is downloadable from the Apify console in JSON, CSV, Excel, RSS, HTML, and XML.

For programmatic exports, use the dataset API:

https://api.apify.com/v2/datasets/DATASET_ID/items?format=csv&token=YOUR_APIFY_TOKEN
https://api.apify.com/v2/datasets/DATASET_ID/items?format=json&clean=true&token=YOUR_APIFY_TOKEN

You can also pipe results live into BigQuery, S3, or your own webhook by configuring an Apify integration on the actor.

πŸ’‘ Tips for best results

  1. For B2B prospecting, run searches by industry keyword + city (e.g. "fintech Berlin", "logistics Rotterdam"). Unique company names redirect to a single profile and use one credit instead of fifteen.
  2. To dedupe across multiple queries, key on register.uniqueKey. Two queries that surface the same company will share that key.
  3. Turn off includeOfficers for first-pass exploration when you only need names and registry numbers. Turn it back on for shortlisted leads.
  4. For compliance use cases, always store the raw northdataUrl and scrapedAt alongside the record. That gives you an auditable pointer back to the source.
  5. When Northdata exposes geo coordinates (address.lat, address.lng), feed them straight into your CRM or map tool to cluster leads by region.

❓ FAQ

What countries does this cover? All countries Northdata indexes, including the UK, France, Germany, Belgium, Netherlands, Italy, Spain, Austria, Switzerland, Nordic countries, and Eastern Europe. Output schema is identical across countries.

What is the difference between this and the older Northdata search scraper on Apify? The older actor only returns the search list with a handful of fields. This one opens every matched company's profile and pulls 25+ fields including directors, address, registry court, founding date, industry, corporate purpose, and event history.

Do I need a Northdata account? No. The scraper extracts publicly available data. No login, no API key, nothing to set up.

How fresh is the data? The scraper pulls live from northdata.com at request time. Northdata refreshes its data continuously from official registries, often within days of publication.

How does pagination work? Each search returns up to fifteen results per page and Northdata lists at most 45 matches for one search. The scraper reads every page automatically until maxItems or maxResultsPerQuery is reached or the results run out. To build a longer list, run several narrower queries (a keyword plus a city, or several company names) in one go.

Can I search for people instead of companies? Yes. Set resultType to people and search a name such as Oliver Blume. Each person comes back as one row with the companies they are tied to and, with full profiles on, the link to each of those companies. both keeps companies and people in the same dataset, each row marked by recordType.

How do I keep only German (or French, or UK) companies? Set country. Rows registered elsewhere are left out before any profile is read, so a common name like BMW no longer brings back homonyms from other countries.

What if my query matches one company exactly? Northdata redirects to that company's profile. The scraper detects this and returns the full profile as a single result, not a list.

Can I run multiple queries in one run? Yes. Pass any number of strings in searchQueries. Results across queries are merged and deduped on register.uniqueKey.

Do you return financial figures like revenue? Yes, wherever Northdata shows them on the public profile: the latest revenue, earnings, employees, total assets and equity on the row itself, the year-by-year history with the publication each figure comes from, and the balance sheet lines. Northdata keeps some figures for its premium plan, most often for UK and French companies; those stay empty rather than guessed. In a test run on Robert Bosch GmbH, 4 of the first 15 matches came back with their revenue.

Are the directors verified? Names come directly from Northdata's profile, which sources from public registries (Companies House, Handelsregister, etc.). For regulated use cases, verify against the source registry.

Why is my country sometimes a name (France) and sometimes a code (GB)? Northdata mixes locale formats by source registry. We pass through what is exposed publicly. Both forms are unambiguous and country names are written in English.

Can I get historical events older than what is shown? Northdata stores events going back to the original registration. The scraper returns every event Northdata exposes for that company.

What happens if a profile URL changes? Northdata occasionally renames profile URLs when a company changes name or city. If a saved URL stops working, search the new name and use the fresh URL going forward.

This Actor extracts publicly available data from northdata.com. It does not bypass any login, paywall, or CAPTCHA. Northdata aggregates information from official public registries. Users are responsible for complying with northdata.com terms of service and applicable laws in their jurisdiction, including GDPR rules around the use of personal data such as director names. The data returned is informational; verify accuracy against the source registry for regulated or contractual use cases.

More SilentFlow scrapers

πŸ›’ E-commerce

πŸ’Ό Jobs

🏠 Real estate

πŸ“£ Social media

🏒 Business data

✈️ Travel

🎯 Lead generation

πŸ”Ž SEO

πŸ“ˆ Marketing

🎬 Video

πŸ“° News

🧰 More tools

πŸ“¬ Support

Need something this scraper doesn't do yet? We ship features fast.

  • Feature requests go straight to our backlog
  • Enterprise needs? We do custom integrations and high-volume plans
  • Pricing questions? Check the Monetization tab on the actor page

Response time: usually under 24 hours.

Check out our other scrapers: silentflow on Apify

⌂ 捒网址