# North Data Company Records Scraper (`fetch_cat/north-data-company-records-scraper`) Actor

Extract public North Data company records, registry identity, officers, events, financials, and public filing links.

- **URL**: https://apify.com/fetch\_cat/north-data-company-records-scraper.md
- **Developed by:** [Hanna Nosova](https://apify.com/fetch_cat) (community)
- **Categories:** Business, Lead generation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.60 / 1,000 item processeds

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## North Data Company Records Scraper

Export public North Data company and person records for registry research, due diligence, and business-data enrichment. Start from a public profile URL or a company/person search term, then receive one structured record per resolved public profile.

The actor works with publicly displayed North Data pages only. It does not require a North Data account and does not bypass login-only or premium content.

### What you get

Each record keeps the source URL alongside public identity and registry context:

- Registered name, entity type, register number, identifiers, address, city, and country
- Public corporate purpose, LEI code, financial series, latest revenue, earnings, and employee count when displayed
- Officer links, related-company links, events, news, and public source/publication links when displayed
- A timestamp and the canonical North Data profile URL for traceability

`sourceLinks` is especially useful for research workflows: it preserves displayed publication and identity references instead of leaving a result as an untraceable summary.

### Ready-to-run examples

- [Look up a company by name](https://apify.com/fetch_cat/north-data-company-records-scraper/examples/company-name-lookup)
- [Enrich a known company profile](https://apify.com/fetch_cat/north-data-company-records-scraper/examples/known-profile-enrichment)
- [Research relationships and events](https://apify.com/fetch_cat/north-data-company-records-scraper/examples/relationship-and-event-research)

### Input recipes

#### Look up a company by name

```json
{
  "searchQueries": ["Volkswagen AG"],
  "maxItems": 2
}
```

#### Export known public profile URLs

```json
{
  "startUrls": [
    { "url": "https://www.northdata.com/Volkswagen+AG,+Wolfsburg/HRB+100484" },
    { "url": "https://www.northdata.com/Siemens+AG,+München/HRB+6684" }
  ],
  "maxItems": 2,
  "includeFinancials": true,
  "includeOfficers": true
}
```

#### Include optional public relationship context

```json
{
  "searchQueries": ["Siemens AG"],
  "maxItems": 1,
  "includeFinancials": true,
  "includeOfficers": true,
  "includeRelatedCompanies": true,
  "includeEvents": true,
  "includeNews": true
}
```

### Input reference

| Input | Type | Default | Description |
| --- | --- | --- | --- |
| `startUrls` | array | — | Public North Data company, person, or search URLs. |
| `searchQueries` | array | — | Company names, people, or registry terms to resolve on North Data. |
| `maxItems` | integer | `10` | Maximum number of records saved in a run (1–100). |
| `includeFinancials` | boolean | `true` | Keep public financial series and summary figures where displayed. |
| `includeOfficers` | boolean | `true` | Keep public officer/relationship links where displayed. |
| `includeRelatedCompanies` | boolean | `false` | Keep public network links where displayed. |
| `includeEvents` | boolean | `false` | Keep public history/register events where displayed. |
| `includeNews` | boolean | `false` | Keep public marketing/news links where displayed. |

### Output

One dataset row represents one resolved public profile. Optional public sections are arrays and can be empty when the profile does not display that section.

| Field | Description |
| --- | --- |
| `recordType`, `url`, `name` | Entity type, canonical source URL, and displayed name. |
| `status`, `foundingDate`, `corporatePurpose` | Public lifecycle and identity text when displayed. |
| `registerNumber`, `nationalIds`, `leiCode`, `companyId` | Registry identifiers displayed on the profile. |
| `address`, `city`, `country` | Public address and location text. |
| `revenue`, `earnings`, `employees` | Latest public summary values when available. |
| `financials`, `balanceSheets` | Public financial series or balance-sheet data when displayed. |
| `officers`, `relatedCompanies` | Public person and network links. |
| `events`, `news` | Public history and marketing/news entries. |
| `sourceLinks` | Displayed publication and identity/source links. |
| `scrapedAt` | ISO timestamp for the extraction. |

Example row shape:

```json
{
  "recordType": "company",
  "url": "https://www.northdata.com/Volkswagen+AG,+Wolfsburg/HRB+100484",
  "name": "Volkswagen AG",
  "registerNumber": "Wolfsburg HRB 100484",
  "city": "Wolfsburg",
  "country": "DE",
  "financials": [],
  "officers": [],
  "sourceLinks": [],
  "scrapedAt": "2026-09-03T00:00:00.000Z"
}
```

### Use cases

- Verify a company identity, registry number, and public address before onboarding.
- Build a traceable research dataset with source URLs and publication links.
- Add public financial or officer context to a business-research workflow where the profile displays it.
- Monitor a known list of public profile URLs and retain only the relationship sections you need.

### Pricing

| Charge event | Unit | FREE | BRONZE | SILVER | GOLD | PLATINUM | DIAMOND |
| --- | --- | --- | --- | --- | --- | --- | --- |
| Item processed | Per 1 output record (rounded up) | $0.0035 | $0.0032 | $0.0029 | $0.0026 | $0.0026 | $0.0026 |
| Start | Per run | $0.005 | $0.005 | $0.005 | $0.005 | $0.005 | $0.005 |

A record is charged only after it is written to the dataset. Check the actor's Pricing tab for current rates before running at scale.

### API and MCP

Run through the Apify API with the same input object used in the Console. Dataset items can then be downloaded in JSON, CSV, Excel, XML, or RSS.

```javascript
import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('fetch_cat/north-data-company-records-scraper').call({
  searchQueries: ['Volkswagen AG'],
  maxItems: 2,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);
```

For an MCP client, add this actor as an Apify tool and use the same supported input keys. Keep `maxItems` low when first validating a workflow.

### Related actors

- [UK Companies House Scraper](https://apify.com/fetch_cat/uk-companies-house-scraper) — UK company registry lookups.
- [Poland KRS Company Registry Scraper](https://apify.com/fetch_cat/poland-krs-company-registry-scraper) — Polish registry records.
- [SEC EDGAR Company Filings Scraper](https://apify.com/fetch_cat/sec-edgar-company-filings-scraper) — US public filings.
- [Crunchbase Company Search Scraper](https://apify.com/fetch_cat/crunchbase-company-search-scraper) — company discovery and profiles.
- [LinkedIn Company Profiles Scraper](https://apify.com/fetch_cat/linkedin-company-profiles-scraper) — public company profile enrichment.

### Tips and limits

- Use an exact public profile URL when you already know the entity; it provides the strongest target binding.
- Start with `maxItems: 1` or `2`, then increase only after checking the returned fields for your target.
- Financials, balance sheets, officers, events, news, and source links are source-dependent. The actor never invents missing values.
- Only public `northdata.com` and `northdata.de` URLs are accepted. Login-only and premium-only scopes are excluded.
- Search filters such as country and result-type selection are not part of this version.

### FAQ

#### Can I scrape a company by name?

Yes. Use `searchQueries` with a company, person, or registry term. Use a direct public profile URL when you need to target an exact known profile.

#### Why is a collection empty?

North Data does not display every public section for every profile. Empty arrays mean that optional displayed section was unavailable or disabled in the input.

#### Does the actor provide official registry data?

The actor exports public information displayed by North Data and preserves source URLs. Validate material decisions against the relevant official registry or filing.

#### Can I use it in an automated workflow?

Yes. Use the Apify API, dataset exports, webhooks, or an MCP client. Keep public-data and applicable privacy obligations in mind when handling person records.

### Support

For a reproducible problem, include the public source URL, the input (without secrets), and the run ID in an Apify issue. Do not send credentials or private account data.

# Changelog

This Actor's version history is a separate document: https://apify.com/fetch\_cat/north-data-company-records-scraper/changelog.md

# Actor input Schema

## `searchQueries` (type: `array`):

Company names, people, or registry terms to search on North Data.

## `startUrls` (type: `array`):

Public North Data company, person, or search URLs.

## `maxItems` (type: `integer`):

Maximum records saved in this run.

## `includeFinancials` (type: `boolean`):

Include public financial series where displayed.

## `includeOfficers` (type: `boolean`):

Include public officer links where displayed.

## `includeRelatedCompanies` (type: `boolean`):

Include public network links where displayed.

## `includeEvents` (type: `boolean`):

Include public register-history links where displayed.

## `includeNews` (type: `boolean`):

Include public marketing and publication links where displayed.

## Actor input object example

```json
{
  "searchQueries": [
    "Volkswagen AG"
  ],
  "startUrls": [
    {
      "url": "https://www.northdata.com/Volkswagen+AG,+Wolfsburg/HRB+100484"
    }
  ],
  "maxItems": 2,
  "includeFinancials": true,
  "includeOfficers": true,
  "includeRelatedCompanies": false,
  "includeEvents": false,
  "includeNews": false
}
```

# Actor output Schema

## `overview` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "searchQueries": [
        "Volkswagen AG"
    ],
    "startUrls": [
        {
            "url": "https://www.northdata.com/Volkswagen+AG,+Wolfsburg/HRB+100484"
        }
    ],
    "maxItems": 2
};

// Run the Actor and wait for it to finish
const run = await client.actor("fetch_cat/north-data-company-records-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "searchQueries": ["Volkswagen AG"],
    "startUrls": [{ "url": "https://www.northdata.com/Volkswagen+AG,+Wolfsburg/HRB+100484" }],
    "maxItems": 2,
}

# Run the Actor and wait for it to finish
run = client.actor("fetch_cat/north-data-company-records-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "searchQueries": [
    "Volkswagen AG"
  ],
  "startUrls": [
    {
      "url": "https://www.northdata.com/Volkswagen+AG,+Wolfsburg/HRB+100484"
    }
  ],
  "maxItems": 2
}' |
apify call fetch_cat/north-data-company-records-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,fetch_cat/north-data-company-records-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/bbHfLq9N0RteXwN8z/builds/2Nl0hGTX8k8YRKaxg/openapi.json
