# New Companies Feed: Companies House & SIRENE, with emails (`superxcoder/new-companies-feed`) Actor

Newly registered companies data from UK Companies House (no API key needed) and France BODACC + SIRENE. Filter by incorporation date, SIC/NAF code, city, postcode or departement. Officers, plus optional website, email and phone match. $4 per 1,000 companies, no start fee.

- **URL**: https://apify.com/superxcoder/new-companies-feed.md
- **Developed by:** [Deependra Singh](https://apify.com/superxcoder) (community)
- **Security:** Limited permissions
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.50 / 1,000 company records

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 Companies Feed – UK & France Business Registrations

**A daily or weekly list of newly registered companies from the official registers: UK Companies House, and France's BODACC + SIRENE. Each company comes with its registration number, registration date, status, industry code, registered address, directors and a link to the register. Optionally, the company's own website, email and phone, verified.**

No account or API key needed. **$1.50 per 1,000 companies**, directors included, no start fee.

### Who is it for?

- **Accountants and bookkeepers:** a Monday list of new limited companies in your postcode area, to offer year-end accounts, payroll or VAT help.
- **Banks, insurers, office and coworking providers:** new companies in your area within days of registration.
- **Web, design and marketing agencies:** new local businesses that will need a website, a logo or SEO.
- **B2B sales:** new companies in one industry (IT, construction, restaurants...) and one region, with a director to contact.
- **Researchers and journalists:** count new companies by area, industry and week.

### What you get, and how fresh it is

| Country        | Register                         | A company appears in the feed                                                                                       | Filters                                                    |
| -------------- | -------------------------------- | ------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------- |
| United Kingdom | Companies House                  | By **incorporation date**, usually the day after it is registered                                                   | SIC 2007 codes, postcode, town, status                     |
| France         | BODACC creation notices + SIRENE | By **BODACC publication date**, about **9-11 days after registration** (the publication is the first public record) | NAF/APE codes, département, region, postcode, town, status |

This is a **daily batch feed, not a real-time stream**. No free register publishes a complete real-time list of new companies without an account. Run it once a day or once a week, and use **Continue from the last run** so no day is missed.

### How to use it in 3 steps

1. **Fill in the form.** Open the **Input** tab. Under **Countries**, keep **United Kingdom** or add **France**. To get one area, type a postcode area in **Postcode starts with**, for example `LS` for Leeds.
2. **Press Start.** A run of 100 companies usually takes under a minute.
3. **Get your list.** In the **Output** tab, the **Companies** table can be exported to CSV or Excel (**Export > Companies view > CSV**) and opened in Google Sheets or Excel.

### Input examples

#### Newly registered UK companies (saved task)

New active UK companies of the last 7 days in IT, accountancy and advertising, in Manchester, Leeds and Birmingham ([examples/task-uk-new-companies.json](examples/task-uk-new-companies.json)):

```json
{
    "countries": ["GB"],
    "startDate": "7 days",
    "companyStatuses": ["active"],
    "sicCodes": ["62", "69201", "73110"],
    "postcodePrefixes": ["M", "LS", "B"],
    "includeOfficers": true,
    "maxItems": 1000
}
```

#### New French companies (saved task)

New companies published in BODACC over the last 7 days in Paris, Hauts-de-Seine and Rhône, in IT and consulting ([examples/task-fr-new-companies.json](examples/task-fr-new-companies.json)):

```json
{
    "countries": ["FR"],
    "startDate": "7 days",
    "frDateBasis": "published",
    "frDepartments": ["75", "92", "69"],
    "nafCodes": ["62", "70.22Z"],
    "includeOfficers": true,
    "maxItems": 500
}
```

To save either one as a task: on the Actor page, fill the form with these values, then click **Save as a new task**.

#### Daily monitoring, nothing missed, nothing twice

Schedule this once a day ([examples/task-daily-monitoring.json](examples/task-daily-monitoring.json)):

```json
{
    "countries": ["GB", "FR"],
    "incremental": true,
    "lookbackDays": 3,
    "feedName": "uk-fr-daily",
    "startDate": "3 days",
    "companyStatuses": ["active"],
    "maxItems": 5000
}
```

How it works:

- **The first run** reads from **Start date**.
- **Each later run** starts where the previous run of the list `uk-fr-daily` was complete, minus 3 look-back days. The look-back catches companies a register lists a day late.
- **Companies already delivered are skipped and not billed.**
- **A run that fails, or that stops at Max companies,** does not move the checkpoint past the days it did not finish. The next run picks them up.

To set it up: **Schedules > Create new**, daily at 07:00 for example, **Add Actor** (or the saved task), and paste the input. For an email, Slack or webhook message after each run, open the Actor's **Integrations** tab.

#### More filters

| Goal                                    | Fields                                                                                                        |
| --------------------------------------- | ------------------------------------------------------------------------------------------------------------- |
| New UK software companies in Manchester | Countries: United Kingdom. Postcode starts with: `M`. UK industry codes: `62`.                                |
| New accountancy firms in London EC      | Postcode starts with: `EC`. UK industry codes: `69201`.                                                       |
| New companies in Bordeaux / Gironde     | Countries: France. France: départements: `33`.                                                                |
| New restaurants in Lyon                 | Countries: France. Towns or cities: `Lyon`. France: industry codes: `56`.                                     |
| Include companies already closed        | Company status: empty (all), or pick Dissolved / Inactive.                                                    |
| Historical backfill of 2025             | Start date `2025-01-01`, End date `2025-12-31` (up to 366 days per run; for France add a département filter). |

**Industry codes.** UK (SIC 2007): [Companies House list](https://resources.companieshouse.gov.uk/sic/). Common codes: `62` IT, `69201` accountants, `73110` advertising, `56101` restaurants, `41202` house building, `68` property. France (NAF rev. 2): [INSEE list](https://www.insee.fr/fr/information/2406147). Common codes: `62` IT, `56` restaurants, `47` shops, `43` building trades, `70.22Z` consulting. Holding companies (`70.10Z`) and property companies (`68`, SCI) are a large share of new French companies.

**Postcode or town?** For an area, use **Postcode starts with**. Letters only means the whole postcode area: `B` is Birmingham, not Bath (BA) or Bristol (BS). In the UK, **Towns or cities** goes to the Companies House search, which matches any part of the address. So `Manchester` can also return a company on "Manchester Road" in another town.

### Output

Real rows from a test run on 2026-10-23.

The **Companies** view:

| Company name               | Registered on | Status | Industry                                                       | Town    | Postcode | Directors                        | Website                | Email                        |
| -------------------------- | ------------- | ------ | -------------------------------------------------------------- | ------- | -------- | -------------------------------- | ---------------------- | ---------------------------- |
| STUDIO TWO DIGITAL LIMITED | 2026-10-22    | active | 62012 Business and domestic software development               | Bedford | MK43 9LL | 2 directors                      | studiotwodigital.co.uk | hello@studiotwodigital.co.uk |
| FRAMITALENT                | 2026-10-13    | active | 70.22Z Conseil pour les affaires et autres conseils de gestion | PARIS   | 75008    | ORLIQUA GROUP (Président de SAS) |                        |                              |

One French row as JSON (every field; a company is its president, so no private person is shown):

```json
{
    "companyId": "FR:131471922",
    "companyName": "FRAMITALENT",
    "country": "FR",
    "registrationNumber": "131471922",
    "registrationDate": "2026-10-13",
    "publicationDate": "2026-10-22",
    "companyStatus": "active",
    "companyStatusRaw": "A",
    "companyType": "Société par actions simplifiée (à associé unique)",
    "industryCode": "70.22Z",
    "industryDescription": "Conseil pour les affaires et autres conseils de gestion",
    "industries": [{ "code": "70.22Z", "label": "Conseil pour les affaires et autres conseils de gestion" }],
    "activityDescription": "Conseil et assistance opérationnelle aux entreprises et organisations publiques ou privées, ...",
    "registeredAddress": "BUREAU 326 59 RUE DE PONTHIEU 75008 PARIS",
    "street": "59 RUE DE PONTHIEU",
    "city": "PARIS",
    "postalCode": "75008",
    "region": "Île-de-France",
    "department": "75",
    "addressCountry": "FR",
    "officers": [{ "name": "ORLIQUA GROUP", "role": "Président de SAS", "appointedOn": null, "isCorporate": true }],
    "officersStatus": "found",
    "website": null,
    "publicEmail": null,
    "phone": null,
    "enrichment": {
        "status": "not-requested",
        "method": null,
        "confidence": null,
        "verifiedBy": null,
        "website": null,
        "emails": [],
        "phones": [],
        "sourceUrls": [],
        "checkedAt": null
    },
    "source": "bodacc+sirene",
    "sourceUrl": "https://annuaire-entreprises.data.gouv.fr/entreprise/131471922",
    "sourceNoticeUrl": "https://www.bodacc.fr/pages/annonces-commerciales-detail/?q.id=id:A202602032633",
    "sourceUpdatedAt": "2026-10-23T06:19:09.000Z",
    "amended": false,
    "amendmentNoticeUrl": null,
    "collectedAt": "2026-10-23T20:44:29.247Z"
}
```

The UK row, from a run with **Find website, email and phone** on. Register fields are like the French row (no `publicationDate`, `department` or notice link). The directors' names are replaced here:

```json
{
    "companyId": "GB:17535291",
    "companyName": "STUDIO TWO DIGITAL LIMITED",
    "registrationDate": "2026-10-22",
    "industryCode": "62012",
    "industries": [
        { "code": "62012", "label": "Business and domestic software development" },
        { "code": "73110", "label": "Advertising agencies" }
    ],
    "registeredAddress": "109 Stewartby Way Bedford England MK43 9LL",
    "region": "England",
    "officers": [
        { "name": "<director 1 as registered>", "role": "Director", "appointedOn": "2026-10-22", "isCorporate": false },
        { "name": "<director 2 as registered>", "role": "Director", "appointedOn": "2026-10-22", "isCorporate": false }
    ],
    "officersStatus": "found",
    "website": "https://studiotwodigital.co.uk",
    "publicEmail": "hello@studiotwodigital.co.uk",
    "phone": "+441234814955",
    "enrichment": {
        "status": "found",
        "method": "domain-guess+site-verification",
        "confidence": "high",
        "verifiedBy": "registry-number",
        "website": "https://studiotwodigital.co.uk",
        "emails": ["hello@studiotwodigital.co.uk"],
        "phones": ["+441234814955"],
        "sourceUrls": ["https://studiotwodigital.co.uk/"],
        "checkedAt": "2026-10-23T20:45:49.105Z"
    },
    "source": "companies-house-website",
    "sourceUrl": "https://find-and-update.company-information.service.gov.uk/company/17535291",
    "sourceUpdatedAt": null
}
```

#### Fields

Unknown values are always `null`.

| Field                                                                                         | Meaning                                                                                                                                                                                                                                                                                                                                                 |
| --------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `companyId`                                                                                   | `GB:` or `FR:` plus the number. Stable across runs: use it to deduplicate.                                                                                                                                                                                                                                                                              |
| `registrationNumber`                                                                          | UK company number, French SIREN (9 digits).                                                                                                                                                                                                                                                                                                             |
| `registrationDate`                                                                            | UK incorporation date; France immatriculation date (else the SIRENE creation date). A calendar date as the register prints it. France sometimes republishes an older company (after a move or a transfer), so a few French rows show an older date.                                                                                                     |
| `publicationDate`                                                                             | France: the BODACC publication day, which the date filter uses by default.                                                                                                                                                                                                                                                                              |
| `companyStatus` / `companyStatusRaw`                                                          | `active`, `inactive` (liquidation, administration...), `dissolved`, or `unknown` (France, SIRENE lookup failed). The raw word is the register's own.                                                                                                                                                                                                    |
| `industryCode` / `industryDescription` / `industries`                                         | Main code and label; `industries` lists every code (UK companies can list up to 4).                                                                                                                                                                                                                                                                     |
| `registeredAddress`, `street`, `city`, `postalCode`, `region`, `department`, `addressCountry` | Registered office. UK without an API key: the town is sometimes missing from the address line.                                                                                                                                                                                                                                                          |
| `officers`                                                                                    | Directors / managers: name, role, UK appointment date. **Never** dates of birth, nationality or home addresses.                                                                                                                                                                                                                                         |
| `officersStatus`                                                                              | `found`, `none-listed` (the register lists none), `not-requested` (Include directors off), `not-published` (French sole trader or unit that opted out of publication), `lookup-failed` (the request failed; the row is still delivered and charged). `officers` is `null` for the last three.                                                           |
| `website`, `publicEmail`, `phone`                                                             | Shortcuts to the first verified values of `enrichment`; `null` otherwise.                                                                                                                                                                                                                                                                               |
| `enrichment`                                                                                  | Contact lookup, kept apart from the register data. `status`: `found` (email or phone found, charged), `website-only`, `not-found`, `not-requested`, `skipped` (charge limit too low), `error`. `confidence`: `high` when the company number is printed on the site, `medium` when the exact name is in the site title and the postcode or town matches. |
| `source`                                                                                      | `companies-house-website`, `companies-house-api`, `bodacc+sirene`, or `bodacc` (SIRENE lookup failed).                                                                                                                                                                                                                                                  |
| `sourceUrl`, `sourceNoticeUrl`                                                                | Company page on the register; France: the BODACC creation notice.                                                                                                                                                                                                                                                                                       |
| `sourceUpdatedAt`                                                                             | France: when SIRENE last changed the record (UTC). UK: `null`, because Companies House publishes no update time in its search.                                                                                                                                                                                                                          |
| `amended`, `amendmentNoticeUrl`                                                               | France: a correction (rectificatif) of the creation notice was published, and its data was applied.                                                                                                                                                                                                                                                     |
| `collectedAt`                                                                                 | When the row was produced (UTC).                                                                                                                                                                                                                                                                                                                        |

The **Contacts** view lists the lookup results with confidence. The **Source and freshness** view lists provenance per row. The run's **RUN-SUMMARY** record (Storage tab) lists what was found, removed (and why), retried and charged.

### UK: no-key mode and API-key mode

|                                   | No key (default)                                                                                      | Companies House API key                                                                                                                                                                      |
| --------------------------------- | ----------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Source                            | Public Companies House website: advanced search CSV, then one officers page per company               | Official [Companies House Public Data API](https://developer.company-information.service.gov.uk/)                                                                                            |
| Setup                             | Nothing                                                                                               | Free account and REST key. Paste it in **Companies House API key** (Advanced), or set the secret environment variable `COMPANIES_HOUSE_API_KEY` on your copy of the Actor (input field wins) |
| Published limit                   | None. In our tests the site blocked an IP for a few minutes after ~400 page requests in a few minutes | 600 requests per 5 minutes per key. Going over gives HTTP 429 for the rest of the window; Companies House may ban keys that keep exceeding it                                                |
| Actor pace                        | 1.2 requests/s                                                                                        | 1.8 requests/s                                                                                                                                                                               |
| 1,000 companies with directors    | ~16 minutes, measured (one officers page per company)                                                 | ~10 minutes, estimated (one officers request per company). **Not tested live yet**                                                                                                           |
| 1,000 companies without directors | Under a minute (a few CSV downloads)                                                                  | Under a minute (one search request per 5,000 companies)                                                                                                                                      |
| Address                           | One line from the CSV; the locality is sometimes missing                                              | Structured address with locality                                                                                                                                                             |
| Coverage                          | Same register, same companies                                                                         | Same register, same companies                                                                                                                                                                |

With either mode, directors cost one request per company, so throughput has a ceiling. A key raises it and makes it predictable, but not unlimited. If a block outlasts the Actor's pauses (30 s to 4 min), the remaining rows are delivered with `officersStatus: "lookup-failed"` and the status message gives the count. A wrong key stops the run at the start, before anything is billed.

### How much does it cost?

Pay per result. No start fee, no monthly fee.

- **Company: $0.0015** each ($1.50 per 1,000). Directors / managers are included in this price, with no extra charge.
- **Contact found: $0.004** each ($4 per 1,000), only when an email or phone was found on the company's verified website.

| Example                                                                         | Cost                             |
| ------------------------------------------------------------------------------- | -------------------------------- |
| 100 companies                                                                   | $0.15                            |
| 1,000 companies                                                                 | $1.50                            |
| 1,000 UK IT companies with contact search (about 12% had a contact in our test) | $1.50 + 125 × $0.004 = **$2.00** |
| Daily feed of ~150 local companies, no contact search                           | about $0.23 a day                |

**Never charged:** companies removed by your filters, repeats, companies you already received, and runs where the registers could not be reached. A company whose director or SIRENE lookup failed is still delivered, with those fields empty, and charged. Platform compute is included in the price.

### Integrations and API

**API: run and get the rows in one call** (good for runs under about 5 minutes):

```bash
curl -X POST "https://api.apify.com/v2/acts/superxcoder~new-companies-feed/run-sync-get-dataset-items" \
  -H "Authorization: Bearer $APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"countries":["GB"],"startDate":"yesterday","endDate":"yesterday","sicCodes":["62"],"maxItems":200}'
```

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

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

const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('superxcoder/new-companies-feed').call({
    countries: ['GB', 'FR'],
    incremental: true,
    feedName: 'crm-sync',
    maxItems: 5000,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
for (const c of items) console.log(c.companyId, c.companyName, c.registrationDate, c.postalCode);
```

Keep the token in an environment variable or header, never in the URL.

- **Make, Zapier, n8n:** use the Apify app or node, **Run an Actor**, pick `superxcoder/new-companies-feed`, then add a step that reads the dataset items and a Google Sheets or CRM step. Use `companyId` as the unique key.
- **AI assistants (MCP):** add `https://mcp.apify.com?tools=superxcoder/new-companies-feed` as a connector.

### Known limits

- **Not real time.** UK: incorporations appear the next day. France: about 9-11 days after registration (BODACC publication), and BODACC data is about a day behind.
- **France covers businesses registered in the RCS** (companies and registered traders). Micro-entrepreneurs and artisans outside the RCS, associations and liberal professions are not in BODACC, so they are not in this feed. French sole traders are off by default (personal data).
- **France with a NAF filter is slower.** BODACC has no industry code, so every new company is looked up in SIRENE (about 5 per second). A département or region filter makes it much faster.
- **UK without an API key** uses the public Companies House website, which blocks an IP for a few minutes after roughly 400 page requests in a few minutes (our observation; no limit is published). So the Actor reads at most 1.2 pages per second. Directors need one page per company: 1,000 companies with directors take about 16 minutes (measured 15.5 minutes on 2026-10-23, every row with its directors). If Companies House still blocks, the Actor waits it out with growing pauses (30 s to 4 min). If the block lasts longer, the remaining rows are delivered with `officersStatus: "lookup-failed"` and the status message says how many. Turn **Include directors** off for large runs, or add a free Companies House API key (Advanced section), which uses the official API and its published limit (600 requests per 5 minutes).
- **One UK day can return at most 5,000 companies per search.** Larger days are split by company type; a warning names any companies still missing. (A whole UK day is about 2,300 companies.)
- **Contacts:** most brand-new companies have no website yet. In our 2026-10-23 test, 5 of 40 new UK IT companies (12%) had a verified email or phone; earlier tests found under 2% for shops, trades and property. Emails are only those printed on the company's own verified website. They are never guessed or built from a pattern.
- **Up to 366 days per run.** Split longer backfills into yearly runs.
- **UK `sourceUpdatedAt` is always `null`** (not published by the register).

### FAQ

**Is it legal to use this data?**
The register data is published under open licences: the UK Open Government Licence v3 and the French Licence Ouverte 2.0. Directors come with name, role and (UK) appointment date only. French units that opted out of public listing get no names. Emails and phones come from the companies' own public websites. If you use the list for marketing, you are responsible for GDPR / UK GDPR and direct-marketing rules. A spreadsheet cell that would start with `=`, `+`, `-` or `@` is prefixed with `'` so it cannot run as a formula.

**Why did I get no results?**
The status message says whether the register returned nothing for those days (weekends, bank holidays, BODACC not publishing) or your filters removed everything, and how many each filter removed. UK industry codes work only for the UK and NAF codes only for France.

**Why are most UK companies from yesterday?**
Without incremental mode, the newest companies come first and the run stops at **Max companies**. Raise the limit, or use **Continue from the last run**, which reads the oldest days first.

**Do I need a Companies House API key?**
No; see [UK: no-key mode and API-key mode](#uk-no-key-mode-and-api-key-mode). A key mainly helps when you need directors for many UK companies per run.

### Sources and licences

| Source                                                                                                                                                                                            | Gives                                               | Licence                                                                                                  |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------- | -------------------------------------------------------------------------------------------------------- |
| [Companies House](https://find-and-update.company-information.service.gov.uk/) advanced search, or the [Companies House API](https://developer.company-information.service.gov.uk/) with your key | UK companies, SIC codes, addresses, officers        | [Open Government Licence v3](https://www.nationalarchives.gov.uk/doc/open-government-licence/version/3/) |
| [BODACC](https://www.bodacc.fr/) via [bodacc-datadila.opendatasoft.com](https://bodacc-datadila.opendatasoft.com/)                                                                                | French creation notices and their corrections       | [Licence Ouverte 2.0](https://www.etalab.gouv.fr/licence-ouverte-open-licence/)                          |
| SIRENE via [recherche-entreprises.api.gouv.fr](https://recherche-entreprises.api.gouv.fr/)                                                                                                        | NAF code, status, legal form, officers, update time | [Licence Ouverte 2.0](https://www.etalab.gouv.fr/licence-ouverte-open-licence/)                          |

API input names: `countries`, `startDate`, `endDate`, `maxItems`, `companyStatuses`, `includeOfficers`, `matchContacts`, `postcodePrefixes`, `locations`, `sicCodes`, `frDepartments`, `frRegions`, `nafCodes`, `frDateBasis` (`published` / `registered`), `includeSoleTraders`, `onlyNew`, `incremental`, `lookbackDays`, `feedName`, `companiesHouseApiKey`, `maxConcurrency`, `proxyConfiguration`. Dates accept `YYYY-MM-DD`, `today`, `yesterday` or relative values such as `7 days`. The names from version 0.1 (`incorporatedFrom`, `incorporatedTo`, `activeOnly`) still work.

# Actor input Schema

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

Which registers to read: UK, France, or both. Example: United Kingdom. You pay for every company returned, so remove the countries you do not need.

## `startDate` (type: `string`):

First day of the period (inclusive). A date (2026-10-12) or a relative value: "7 days" means 7 days ago. Empty = the last 7 days. Up to 366 days back per run for a historical backfill. UK: incorporation date. France: by default the day the registration was published in BODACC, about 9-11 days after the company was created (see "France: which date the period uses").

## `endDate` (type: `string`):

Last day of the period (inclusive). A date or a relative value such as "1 day". Empty = today. Dates are calendar days as the registers publish them.

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

Stop after this many companies. Newest companies come first, so a low limit may only cover the last day or two. Cost: 100 companies = $0.15, 1,000 companies = $1.50, directors included (plus $0.004 for each contact found). If you leave it empty (for example in an API call or schedule), the limit is 1,000. With several countries the limit is shared between them.

## `companyStatuses` (type: `array`):

Keep only companies with these statuses on the register. Default: active. Empty = every status. A few days-old companies are already shown as dissolved or in liquidation ("inactive"). France: when the SIRENE lookup fails the status is "unknown" and the company is kept with "active".

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

Add the directors (France: managers such as Gérant or Président) with name, role and, in the UK, the appointment date. Never dates of birth, nationality or home addresses. French units that opted out of public listing get no names. Example result: "DAVIS, Jamal Ishmael (Director)".

## `matchContacts` (type: `boolean`):

Look for each company's own website and read the email and phone printed on it. The site must prove it belongs to the company (registry number on the site = high confidence; exact name plus same postcode or town = medium). Emails are never guessed. Most brand-new companies have no website yet: expect about 1-10% with a contact (more for IT and consulting). You pay $0.004 only when an email or phone was found. Makes the run slower.

## `postcodePrefixes` (type: `array`):

Best way to get one local area. UK: letters only = the whole postcode area, so LS = Leeds area (Leeds, Pudsey, Otley...), M = Manchester, B = Birmingham (but not BA, BS or BD). Longer values such as LS8 or EC1 match the start of the postcode. France: 33 = Gironde, 750 = Paris. Spaces are ignored. Empty = everywhere.

## `locations` (type: `array`):

Words looked for in the registered address. Example: Leeds. UK: the Companies House search matches any part of the address, so "Manchester" can also return a company on "Manchester Road" in another town. For a whole area, "Postcode starts with" above is more exact. France: the start of the town name (Lyon, Bordeaux). Empty = everywhere.

## `sicCodes` (type: `array`):

UK only (France uses the NAF field in the France section). Empty = all industries. 5 digits for one activity, 2-4 digits for a whole group. Examples: 62 = IT and software, 62012 = software development, 69201 = accountants, 73110 = advertising agencies, 56101 = restaurants, 41202 = building houses, 68 = property. Find your code in the official list: https://resources.companieshouse.gov.uk/sic/

## `frDepartments` (type: `array`):

Départements as numbers. Examples: 33 = Gironde (Bordeaux), 75 = Paris, 69 = Rhône (Lyon), 13 = Bouches-du-Rhône (Marseille), 2A = Corse-du-Sud. Empty = all of France.

## `frRegions` (type: `array`):

Region names or codes. Examples: Île-de-France (or 11), Nouvelle-Aquitaine (or 75), Auvergne-Rhône-Alpes (or 84). Empty = all regions.

## `nafCodes` (type: `array`):

French activity codes. Empty = all industries. One code (62.01Z) or a group (62). Examples: 62 = IT, 56 = restaurants and cafés, 47 = shops, 43 = building trades, 70.22Z = business consulting, 73 = advertising. Note: 70.10Z = holding companies and 68 = property companies (SCI), which make up a large share of new French companies. Full list: https://www.insee.fr/fr/information/2406147

## `frDateBasis` (type: `string`):

French registrations are published about 9-11 days after the company is created. "Publication date" gives a complete list every day with no gaps (best for a weekly or daily schedule). "Creation date" filters on the day the company was registered, but the last ~11 days are not complete yet.

## `includeSoleTraders` (type: `boolean`):

Also list people trading under their own name (entreprises individuelles). Off = companies only (SAS, SARL, SA...). Rows are then about individual people (their own name and often their home address): personal data, use with care under the GDPR.

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

Skip companies an earlier run with the same list name already returned (remembered for 120 days after delivery). You do not pay for skipped companies. The list is kept in your Storage, key-value store new-companies-feed-memory.

## `incremental` (type: `boolean`):

For a daily or weekly schedule. Each run starts where the previous run of the same list name finished (minus the look-back days below), so no day is missed even if a run fails or hits Max companies. Turns on "Skip companies I already received". Start date is only used for the first run. France uses the publication date in this mode.

## `lookbackDays` (type: `integer`):

Incremental mode: days re-read before the checkpoint, to catch companies a register lists a day or two late. Already-delivered companies are skipped and not billed. Example: 3.

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

Any short name for your list, used by "Skip companies I already received". Use a different name for each schedule. Example: leeds-weekly. Names in other alphabets work too (they are stored with a short code added).

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

Not needed: leave empty and the UK part reads the public Companies House website. If you have a free key from developer.company-information.service.gov.uk, paste it here to use the official Companies House service instead. The key is checked once at the start: a wrong or refused key stops the whole run with a clear message, before anything is billed.

## `maxConcurrency` (type: `integer`):

How many pages are read at the same time. Leave at 10. Example: 10.

## `proxyConfiguration` (type: `object`):

Leave off. The registers are public and need no proxy. Turn on Apify Proxy only if the run log says requests are blocked.

## Actor input object example

```json
{
  "countries": [
    "GB"
  ],
  "startDate": "",
  "endDate": "",
  "maxItems": 100,
  "companyStatuses": [
    "active"
  ],
  "includeOfficers": true,
  "matchContacts": false,
  "postcodePrefixes": [],
  "locations": [],
  "sicCodes": [],
  "frDepartments": [],
  "frRegions": [],
  "nafCodes": [],
  "frDateBasis": "published",
  "includeSoleTraders": false,
  "onlyNew": false,
  "incremental": false,
  "lookbackDays": 3,
  "feedName": "default",
  "maxConcurrency": 10,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

## `companies` (type: `string`):

No description

## `contacts` (type: `string`):

No description

## `provenance` (type: `string`):

No description

## `all` (type: `string`):

No description

## `summary` (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": [
        "GB"
    ],
    "maxItems": 100,
    "companyStatuses": [
        "active"
    ],
    "proxyConfiguration": {
        "useApifyProxy": false
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("superxcoder/new-companies-feed").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": ["GB"],
    "maxItems": 100,
    "companyStatuses": ["active"],
    "proxyConfiguration": { "useApifyProxy": False },
}

# Run the Actor and wait for it to finish
run = client.actor("superxcoder/new-companies-feed").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": [
    "GB"
  ],
  "maxItems": 100,
  "companyStatuses": [
    "active"
  ],
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}' |
apify call superxcoder/new-companies-feed --silent --output-dataset

```

## MCP server setup

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

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/Mjv8Khx7eoAICmZj7/builds/WT3dnFlJiSPddmbzk/openapi.json
