# New Company Registrations: UK Companies House, France & Norway (`latamdatatools/new-company-registrations`) Actor

Daily feed of newly registered companies from official open registers: UK Companies House, France BODACC + SIRENE and Norway's Brønnøysund Register. Activity codes (SIC/NAF/NACE), legal form, address, capital; filters and only-new mode. Companies only, no personal data.

- **URL**: https://apify.com/latamdatatools/new-company-registrations.md
- **Developed by:** [Julian Genuario](https://apify.com/latamdatatools) (community)
- **Categories:** Lead generation, Business
- **Security:** Limited permissions
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.00 / 1,000 companies

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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

## New Company Registrations: UK Companies House, France & Norway

A daily feed of **newly registered companies** straight from the **official open registers**, in one clean schema:

| Country | Source | What you get |
|---|---|---|
| **France** | **BODACC** "Créations" (the official gazette of company registrations, open data by DILA) + **SIRENE** through the open *Recherche d'entreprises* API | ~3,000 new legal entities per publication day: name, SIREN, legal form, registration and start dates, **NAF activity code**, activity description, registered address, **share capital**, workforce bracket, VAT number |
| **Norway** | **Brønnøysund Register Centre** (Enhetsregisteret open API, NLOD licence) | Every new legal entity: name, organisation number, legal form, **NACE code and description**, activity, business address, employees, VAT registration, website |
| **United Kingdom** | **Companies House** API (advanced search) | ~2,500 incorporations per day: name, company number, type, status, **SIC codes**, registered office. Needs your own **free** Companies House API key (see below) |

Use it as a **lead feed**: new companies need accountants, banks, insurance, payroll and invoicing software, websites, office space, equipment and suppliers, and they buy in their first weeks.

### What does New Company Registrations Feed do?

New Company Registrations Feed collects newly incorporated companies from official open registers: UK Companies House, France BODACC + SIRENE and Norway's Brønnøysund Register Centre. Each company comes with activity codes (SIC / NAF / NACE), legal form, address and capital, with filters and an only-new mode for daily B2B leads. Companies only, no personal data.

### How to use New Company Registrations Feed

1. Click **Try for free** on this page (a free Apify account is enough to start).
2. Fill in the input (see the examples below) or keep the prefilled example.
3. Click **Start** and wait for the run to finish.
4. Download the results from the **Output** tab as JSON, CSV, Excel or HTML, or read them with the Apify API.
5. Optional: create a **Schedule** to run it daily or weekly, and connect a webhook or an integration (Make, Zapier, n8n, Slack).

### Companies only, no personal data

- **Sole proprietorships are excluded** (Norway *enkeltpersonforetak*, France *entrepreneurs individuels*), because they are natural persons.
- **Directors, officers, shareholders and founders are never returned**, even when the source publishes them.
- French companies that opted out of public dissemination in SIRENE are left out.
- Addresses are the companies' registered / business addresses as published by the registers.

### Input

| Field | What it does |
|---|---|
| **Countries** | Any of `GB`, `FR`, `NO`. |
| **Companies House API key** | Only for the UK. Free: sign up at [developer.company-information.service.gov.uk](https://developer.company-information.service.gov.uk/), create an application, add a **REST** key, paste it here (secret input). Without it the UK is skipped. |
| **Registered in the last N days** or **From / To date** | Up to 31 days per run. |
| **Activity codes (prefix)** | SIC / NAF / NACE prefixes with or without dots: `62` (IT), `4321` (electrical), `56` (food service), `6820` (letting). |
| **Keywords**, **Postal code prefixes**, **Legal forms** | Simple filters on name/activity, postcode and legal form. |
| **France: add SIRENE data** | NAF code, legal form code, workforce bracket, VAT number (default on). |
| **Only companies not delivered before** + **Feed name** | Incremental mode (default on): schedule daily and get only new companies. |
| **Max companies per country per run** | Default 1,000. |

#### Example: new IT companies in France and Norway, daily

```json
{
  "countries": ["FR", "NO"],
  "daysBack": 3,
  "activityCodes": ["62", "63"],
  "onlyNew": true,
  "feedName": "it-companies"
}
```

### Output

```json
{
  "country": "FR",
  "register": "BODACC (RCS registrations)",
  "companyNumber": "131330516",
  "name": "Alliance Projet",
  "legalForm": "Société par Actions Simplifiée",
  "legalFormCode": "5710",
  "status": "active",
  "registrationDate": null,
  "incorporationDate": "2026-10-09",
  "publishedDate": "2026-10-20",
  "activityCodes": [{ "scheme": "NAF rev.2", "code": "62.01Z", "description": null }],
  "activityDescription": "Conception, développement ... de sites internet, d'applications web et mobiles ...",
  "address": { "street": "814 GRANDE RUE", "postalCode": "38470", "city": "Varacieux", "region": "Auvergne-Rhône-Alpes", "country": "FR" },
  "employees": null,
  "shareCapital": 100,
  "shareCapitalCurrency": "EUR",
  "vatNumber": null,
  "website": null,
  "sourceUrl": "https://www.bodacc.fr/pages/annonces-commerciales-detail/?q.id=id:A202602011972",
  "enriched": true,
  "firstSeenAt": "2026-10-26T22:22:11.137Z"
}
```

Every row has the same fields in every country; a field a register does not publish is `null`. `sourceUrl` links to the official record.

### Pricing

Pay per event:

- **USD 3 per 1,000 companies** (UK, Norway, and France without SIRENE data).
- **USD 5 per 1,000 enriched companies** (France with SIRENE data: NAF code, workforce, VAT).

Each company is charged once (never both events). Companies already delivered in incremental mode, filtered out, or excluded for privacy are free. The run respects your *max charge per run*.

### Good behaviour

Only official APIs and open datasets, at a gentle pace (Brreg 3 requests/s, BODACC one request per day of data, *Recherche d'entreprises* under its documented 7 calls/s, Companies House under its 600 calls / 5 min), with retries and back-off on 429 / 5xx. No scraping of websites and no proxies.

### Why use New Company Registrations Feed

- **Official sources only:** BODACC and SIRENE (France), the Brønnøysund Register Centre (Norway) and the Companies House API (UK). No scraping of private directories.
- **One schema for three countries:** the same fields in every row, with activity codes (SIC / NAF / NACE), legal form, registered address, capital and a link to the official record.
- **Built for a daily schedule:** the only-new mode remembers what you already received, so each run returns just the companies registered since the last one.
- **Companies, not people:** sole traders, directors and shareholders are left out, which keeps your lead list B2B and GDPR-friendly.
- **Pay only for what you keep:** filtered out, duplicate and already delivered companies are free.

### Cost examples

Prices at the current pay-per-event rates (see Pricing). You can set a maximum charge per run in the run options.

| Job | Approximate cost |
|---|---|
| New IT companies (code 62) in France and Norway, last 3 days (45 companies in our test on 2026-11-04) | about $0.17 |
| All new Norwegian companies, one day | about $1.50-$4.50 |
| Daily feed of 50 filtered companies for a month | about $4.50 |

### Use it from your code, an integration or an AI agent

**Python** (`pip install apify-client`):

```python
from apify_client import ApifyClient

client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("latamdatatools/new-company-registrations").call(run_input={
  "countries": [
    "FR",
    "NO"
  ],
  "daysBack": 3,
  "activityCodes": [
    "62"
  ],
  "maxResults": 100
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)
```

**JavaScript / Node.js** (`npm install apify-client`):

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

const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' });
const run = await client.actor('latamdatatools/new-company-registrations').call({
  "countries": [
    "FR",
    "NO"
  ],
  "daysBack": 3,
  "activityCodes": [
    "62"
  ],
  "maxResults": 100
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);
```

**No code:**

- **Schedules:** run it daily or weekly from Apify Console (Schedules), with the same input saved as a Task.
- **Integrations:** send results to Google Sheets, Slack, email, Make, Zapier, n8n or Airbyte from the Integrations tab, or call your own webhook when a run finishes.
- **AI agents:** add it as a tool in Claude, Cursor, VS Code and other MCP clients through the Apify MCP server (`https://mcp.apify.com`), so the agent can run New Company Registrations Feed and read the results.

### FAQ

**How fresh is the data?** Norway publishes the same or next day; BODACC publishes French registrations a few days after the court registers them; Companies House lists incorporations within a day.

**Can I filter by city or region?** Use *Postal code prefixes* (for example `75` for Paris or `0` for the Oslo area).

**Why is the UK not in my results?** Companies House only offers the incorporation list through its API, which needs a free key that you create with your own account (we cannot use a shared one). Add it in the input.

**Why does France show `publishedDate` a few days after `incorporationDate`?** BODACC publishes the registration notice after the commercial court registers the company.

**Can I get the directors?** No. This Actor is deliberately limited to company data.

Questions or another country you need? Open an issue in the Issues tab.

# Actor input Schema

## `countries` (type: `array`):

GB = United Kingdom (Companies House, needs your free API key), FR = France (BODACC + SIRENE), NO = Norway (Brønnøysund Register Centre).

## `companiesHouseApiKey` (type: `string`):

Needed only for the UK. Free: create an account at developer.company-information.service.gov.uk, add an application and copy its REST API key. Stored encrypted by Apify and never logged.

## `daysBack` (type: `integer`):

Used when no dates are given. Registers publish with a delay of 1-3 days (France: BODACC publication date).

## `dateFrom` (type: `string`):

Optional, YYYY-MM-DD. Max 31 days per run.

## `dateTo` (type: `string`):

Optional, YYYY-MM-DD. Default: today.

## `activityCodes` (type: `array`):

Optional: SIC (UK), NAF (FR) or NACE (NO) code prefixes, with or without dots, e.g. 62 (IT), 4321 (electrical installation), 56 (restaurants). For France this uses SIRENE data.

## `keywords` (type: `array`):

Optional: keep companies whose name or activity description contains one of these words (case and accents ignored), e.g. software, solar, restaurant.

## `postalCodePrefixes` (type: `array`):

Optional: e.g. 75 (Paris), EC1 (London), 0 (Oslo area).

## `legalForms` (type: `array`):

Optional: e.g. ltd, AS, SAS, Société par actions simplifiée.

## `enrichFrance` (type: `boolean`):

Adds the NAF activity code, legal form code, workforce bracket and VAT number from the open SIRENE API (charged as an enriched company). Companies that opted out of publication are left out.

## `onlyNew` (type: `boolean`):

Remember what was delivered (named key-value store "company-registrations-state", per feed name) and return only new companies. Schedule the Actor daily for a clean feed.

## `feedName` (type: `string`):

Separate memories for different feeds (e.g. one per country or filter).

## `maxResults` (type: `integer`):

France has about 3,000 new companies per publication day, Norway 500-1,500 units, the UK about 2,500.

## Actor input object example

```json
{
  "countries": [
    "NO",
    "FR"
  ],
  "daysBack": 3,
  "enrichFrance": true,
  "onlyNew": true,
  "feedName": "default",
  "maxResults": 100
}
```

# Actor output Schema

## `results` (type: `string`):

No description

## `runSummary` (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 = {
    "countries": [
        "NO",
        "FR"
    ],
    "maxResults": 100
};

// Run the Actor and wait for it to finish
const run = await client.actor("latamdatatools/new-company-registrations").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 = {
    "countries": [
        "NO",
        "FR",
    ],
    "maxResults": 100,
}

# Run the Actor and wait for it to finish
run = client.actor("latamdatatools/new-company-registrations").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 '{
  "countries": [
    "NO",
    "FR"
  ],
  "maxResults": 100
}' |
apify call latamdatatools/new-company-registrations --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,latamdatatools/new-company-registrations"
        }
    }
}
```

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/gLezTAISzJeYKL0oH/builds/f3kFfQGi0vd4ckHly/openapi.json
