# New Business Registrations — Newly Registered Companies (`inovaflow/new-business-registrations`) Actor

Newly registered companies and sole traders from 15 official registries — UK, Ireland, France, Switzerland, Poland, Norway, Finland, Czechia, Israel, Colorado, Connecticut, New York, Oregon, Texas — with type, date, address, officers, industry and registry contacts, plus verified website and emails.

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

## Pricing

from $20.00 / 1,000 registrations

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

A company that registered last week needs a bank account, an accountant, payroll, insurance, a website and a CRM — and it has not chosen any of them yet. **New Business Registrations** reads the official registries every day and hands you those companies as leads: name, legal form, registration date, registered address, officers where the registry publishes them, industry codes, and — when the company already has one — its **website, domain and email addresses**. No login, no API key, no browser.

- **Banks, payroll, accounting & insurance sales** — the classic "new business" list, straight from the source.
- **Web agencies & domain/hosting vendors** — most rows have no website yet; the ones that do are flagged.
- **Local B2B sales** — new LLCs in Denver, new Ltds in Manchester, new s.r.o.s and sole traders in Brno, filtered by city and industry.
- **Data teams & AI agents** — a stable id per entity, flat rows, a per-watch memory that says what is *new since last run*.

### What does New Business Registrations do?

It is a **new company registrations scraper** across fifteen official registries:

| Jurisdiction | Source | What the registry publishes |
| --- | --- | --- |
| United Kingdom (`gb`) | Companies House advanced search + officers pages | name, number, type, status, incorporation date, registered office, SIC codes, directors |
| Czech Republic (`cz`) | ARES (Ministry of Finance) notification batches + public-register records | name, IČO, legal form, formation date, address, NACE, statutory bodies, business activities |
| Czech Republic, sole traders (`cz-trade`) | ARES trade-licence (RŽP) notification batches + trade-licence records | trader name, IČO, start date, place of business, NACE, licensed trades |
| Switzerland (`ch`) | SHAB / FOSC — the Swiss Official Gazette of Commerce, new commercial-register entries (HR01) | name, UID, legal form (AG, GmbH, Einzelunternehmen…), register date, address, canton, purpose, capital, owners / partners / managers / board |
| France (`fr`) | BODACC — the official gazette of Registre du commerce et des sociétés registrations | name or trade name, SIREN, legal form (SAS, SARL, SCI…), capital, head-office address, managers (président, gérant…), declared activity, start-of-activity date; sole traders too |
| Finland (`fi`) | PRH / YTJ open data — Trade Register | name, Business ID, legal form, registration date, address, main line of business (TOL 2008 code, English label), website when registered |
| Ireland (`ie`) | Companies Registration Office open data (daily company records) | name, company number, type (LTD, DAC, CLG…), status, registration date, registered address with Eircode, NACE code with English label |
| Israel (`il`) | Israeli Corporations Authority companies register on data.gov.il | company number, English and Hebrew name, type (private, public, foreign), status, incorporation date, registered address (city in English) |
| Norway (`no`) | Brønnøysund Register Centre — Enhetsregisteret open API + roles | name, organisation number, legal form (AS, ENK, NUF…), registration and founding date, business address, NACE codes, website / email / phone when registered, CEO, chair, board, owner |
| Poland (`pl`) | KRS — National Court Register open API (daily bulletins + current extracts) | name, KRS number, REGON, NIP, legal form (sp. z o.o., PSA, fundacja…), KRS registration date, address, voivodeship, PKD codes, capital, e-mail / website when registered (board members are masked in the open API) |
| Colorado, US (`us-co`) | Secretary of State open data | name, id, type, status, formation date, principal address, registered agent |
| Connecticut, US (`us-ct`) | Secretary of the State open data (business master + principals + agents) | name, account number, type, status, registration date, business address, **business email**, NAICS code, principals, registered agent |
| New York, US (`us-ny`) | Department of State open data | name, DOS id, type, filing date, county, service-of-process contact, registered agent |
| Oregon, US (`us-or`) | Secretary of State open data | name, registry number, type, registry date, principal place of business, registered agent |
| Texas, US (`us-tx`) | Secretary of State charters as published in the Comptroller's weekly franchise-taxpayer file | name, SOS file number, taxpayer number, organization type, SOS charter date, status, mailing address, NAICS code |

For every registration it then looks for the company's own website (a homepage probe on the company name, then a web search), accepts a site **only when the page names the company and places it where the registry does**, and extracts emails, phone and social links from it. One flat row per entity, deduplicated across runs by `jurisdiction:registryId`.

### Why use this new business registrations scraper?

- **Official sources, verbatim.** Every registry fact is copied as published, with a link to the registry page. Nothing is guessed — a field is real or `null`.
- **Fifteen registries, one schema.** `entityClass` normalizes "Private limited company", "Domestic Limited Liability Company" and "Společnost s ručením omezeným" to `llc`, `corporation`, `nonprofit`, `partnership`… so one filter works everywhere.
- **Website & contacts only when verified.** `domainSource` says how the site was found and `websiteConfidence` how strong the match is. Parked domains and same-name companies elsewhere are rejected.
- **Delta mode for schedules.** Turn on **Only registrations not reported before**, give the watch a name, run it daily — every run returns just the new companies, and `isNewSinceLastRun` is on every row.
- **Fair pricing.** A small per-registration price; the contact fee only when an email or social profile was actually found. Filtered-out rows, duplicates and already-reported entities are free.
- **CRM-ready.** CSV/Excel/JSON export, an auto-generated `REGISTRATIONS.csv`, a `sellTo` hint per row, and clean ids for joins.

### What data does it extract?

| Field | Description |
| --- | --- |
| `id`, `registryId`, `jurisdiction`, `jurisdictionName`, `countryCode`, `registry` | Stable id (`gb:17472260`), the registry's own number and where it comes from |
| `companyName`, `entityType`, `entityClass`, `isForeignEntity` | Name as registered, the registry's legal form, the normalized class, and whether it is an out-of-state/overseas entity registering locally |
| `registeredAt`, `daysSinceRegistration`, `status` | Registration / incorporation / filing date (ISO day; for France the BODACC publication date) and the registry's status |
| `address`, `street`, `city`, `region`, `postalCode` | Registered office (UK, CZ), principal address (CO, OR) or service-of-process address (NY) |
| `officers[]`, `officerNames`, `officerCount`, `registeredAgent` | Directors / statutory-body members with role and appointment date (UK, CZ); managers — président, gérant, directeur général (FR); registered persons — owners, partners, managers, board (CH); roles — CEO, chair, board, owner (NO); principals (CT); the trader (CZ sole traders); NY service-of-process person; registered agent (US) |
| `sicCodes[]`, `industry` | UK SIC 2007 codes with descriptions; Connecticut and Texas NAICS codes; Irish, Czech and Norwegian NACE, Finnish TOL and Polish PKD codes (English labels where the registry gives none); registered business activities, declared activity (FR), statutory purpose (CH) or licensed trades |
| `registryEmail`, `registryWebsite`, `registryPhone` | Business email / website / phone the registry itself publishes (Connecticut, Norway, Finland, Poland) — part of the registration, no contact fee |
| `website`, `domain`, `domainSource`, `websiteConfidence` | Verified company website; `registry` (the registry's website or the company's own email domain), `guess` (name-based homepage) or `search`; `high` / `medium` |
| `emails[]`, `primaryEmail`, `phone`, `socials{}`, `contactStatus`, `hasContact` | Contacts extracted from the website (same-domain role addresses first) |
| `sellTo[]` | Who typically sells to this kind of new company (banking, payroll, insurance, web, POS…) |
| `isNewSinceLastRun`, `firstSeenAt`, `watchId` | Per-watch memory flags |
| `registryUrl`, `sources[]`, `extra{}`, `scrapedAt` | Provenance and registry-specific extras (county, file number, legal-form code…) |

### How to get newly registered companies

1. Open the Actor and click **Try for free**.
2. Pick the **registries** (default: all), the window (**Registered within the last N days**, default 7) and **Max registrations** (split equally across the registries, newest first).
3. Optional filters: name keywords, entity types, cities, SIC/NACE codes.
4. Leave **Find website, domain & emails** on to turn registrations into leads; turn on **Only registrations with a website / email** if you want to pay only for reachable companies.
5. Click **Start**. A 100-row run across all registries takes 2–4 minutes.
6. Export as **CSV, Excel, JSON**, open `REGISTRATIONS.csv`, or read the dataset from your CRM, Zapier / Make / n8n, or an AI agent via MCP.

#### Daily feed of new companies (delta mode)

Set **Only registrations not reported before** and a **Watch id** (e.g. `denver-llcs`), then schedule the run daily. The first run is the baseline; from the second run on, only entities the watch has never reported are delivered and charged. The memory lives in a named key-value store (`new-registrations-state-<watchId>`) that you can inspect or delete.

### How much does it cost?

Pay-per-event, no subscription: **$0.02 per registration delivered** plus **$0.02 when the verified website yielded at least one email or social profile**, and a small run-start fee. 100 registrations cost about **$2.00–2.60**; a scheduled delta run that finds nothing new costs $0.005. Apify's free plan covers a few hundred registrations a month.

### Input

Everything has defaults; no field is required. Example:

```json
{
    "jurisdictions": ["gb", "us-co", "us-ny"],
    "daysBack": 5,
    "maxResults": 30,
    "entityTypes": ["llc", "corporation"],
    "cities": ["London", "Denver"],
    "includeOfficers": true,
    "enrichContacts": true,
    "onlyNewSinceLastRun": true,
    "watchId": "london-denver-daily"
}
```

### Output

One dataset item per registered entity:

```json
{
    "id": "gb:17472260",
    "companyName": "HIGH STREET BRANDS 4 LESS LIMITED",
    "registryId": "17472260",
    "jurisdiction": "gb",
    "jurisdictionName": "United Kingdom",
    "countryCode": "GB",
    "registry": "UK Companies House",
    "entityType": "Private limited company",
    "entityClass": "llc",
    "isForeignEntity": false,
    "registeredAt": "2026-09-22",
    "daysSinceRegistration": 4,
    "status": "Active",
    "address": "61a Bridge Street, Kington, United Kingdom HR5 3DJ",
    "street": "61a Bridge Street",
    "city": "Kington",
    "region": null,
    "postalCode": "HR5 3DJ",
    "officers": [{ "name": "Oyedele Abidemi Olaoye", "role": "Director", "appointedAt": "2026-09-22" }],
    "officerNames": "Oyedele Abidemi Olaoye",
    "officerCount": 1,
    "registeredAgent": null,
    "sicCodes": ["47190", "47910"],
    "industry": "Other retail sale in non-specialised stores; Retail sale via mail order houses or via Internet",
    "website": "https://www.highstreetbrands4less.com/",
    "domain": "highstreetbrands4less.com",
    "domainSource": "guess",
    "websiteConfidence": "high",
    "emails": ["sales@highstreetbrands4less.com", "customerservice@highstreetbrands4less.com"],
    "primaryEmail": "sales@highstreetbrands4less.com",
    "phone": null,
    "socials": { "facebook": null, "instagram": null, "linkedin": null, "twitter": null, "youtube": null, "tiktok": null, "pinterest": null, "whatsapp": null },
    "contactStatus": "ok",
    "hasContact": true,
    "sellTo": ["business banking", "accounting & bookkeeping", "payroll", "business insurance", "web design & domains", "CRM / office software", "POS & payments"],
    "registryUrl": "https://find-and-update.company-information.service.gov.uk/company/17472260",
    "sources": ["https://find-and-update.company-information.service.gov.uk/company/17472260"],
    "isNewSinceLastRun": false,
    "firstSeenAt": "2026-09-26T11:20:03.412Z",
    "watchId": "auto-b6bcd22657cf",
    "extra": {},
    "scrapedAt": "2026-09-26T11:20:03.412Z"
}
```

The key-value store holds `OUTPUT` (a run summary with per-registry counts, filter reasons and watch status) and `REGISTRATIONS.csv`.

### Tips

- **Newest first.** Each registry is read from the most recent day backwards, so a small `maxResults` still gives you the freshest companies.
- **Registries lag.** Colorado, Connecticut, Norway and Companies House publish the same day, BODACC 1–10 days after the RCS registration, ARES within 1–2 days, New York 1–3 days, Oregon about weekly, Texas 1–2 weeks (use a 21-day window there). A 7-day window with delta mode catches everything exactly once.
- **Most new companies have no website yet.** Expect a website on 5–20 % of rows in the first week; run the watch again a month later (with a wider window) to catch the sites that came online.
- **Industry codes differ by registry.** `sicCodes` matches UK SIC, Connecticut NAICS, Irish/Czech/Norwegian NACE, Finnish TOL and Polish PKD codes by prefix (dots ignored); Colorado, New York and Oregon publish none — use `keywords` (name contains) there.

### FAQ

#### Does it need a Companies House API key or any login?

No. It reads the public advanced-search pages, the open ARES REST API and the states' open-data portals.

#### How is the website verified?

The homepage must be live, not a parked/for-sale page, its domain must carry the company's name, the page must say the company's name, and it must mention the registered city or postcode (or sit on the country's own TLD — a state or country name alone is not enough). `websiteConfidence: medium` means the domain drops generic words from the name (`acme.com` for "Acme Ventures LLC"); `high` means the domain is the full name.

#### Why are officers empty for some US rows?

Colorado and Oregon do not publish officers in their open data; New York publishes the service-of-process contact, which is often the owner and is reported as an officer with that role. Connecticut publishes principals (members, officers, directors) — read when **Include officers** is on. All four publish the registered agent.

#### Can I add other states or countries?

The Actor is built source-by-source and keeps growing: any registry with an official, open feed that can be listed by registration date can be added. Registries behind a login, a paid key or a browser challenge (Germany's Handelsregister, the Netherlands' KVK, Denmark's CVR, Washington, Delaware) are not included.

#### Is this legal?

All data comes from official public registers published for exactly this purpose. Respect local rules on marketing to the officers named in them.

### Support

Open an issue on the Actor page or email the author through the Apify Console.

# Actor input Schema

## `jurisdictions` (type: `array`):

Which official registries to read (empty = all). Every registry gets an equal share of "Max registrations".

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

Only entities registered / incorporated within this many days. Registries publish with a 0–3 day delay, so 7 days is a good weekly window.

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

Total number of registrations to deliver, split equally across the selected registries. Newest first.

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

Keep only companies whose name contains one of these words — e.g. `consulting`, `dental`, `logistics`. Applied in the registry query where the registry supports it (Companies House, BODACC, US open data), otherwise on the results.

## `entityTypes` (type: `array`):

Keep only these legal forms (normalized across registries). Empty = all.

## `includeForeign` (type: `boolean`):

Companies formed elsewhere that register in this jurisdiction ("foreign LLC", overseas branch). They are existing businesses expanding — often good leads, but not brand-new companies.

## `cities` (type: `array`):

Keep only entities whose registered address is in one of these cities — e.g. `Denver`, `Manchester`, `Praha`.

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

UK SIC 2007 codes (e.g. `62012` software, `56101` restaurants), NACE-based codes (Ireland, Czech Republic, Norway, Finland TOL 2008, Poland PKD — `62.01` and `6201` both work) or US NAICS codes (Connecticut, Texas). A prefix matches all codes under it. Registries that publish no industry codes ignore this filter.

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

Read the public officers for every registration where the registry publishes them: UK directors, Czech statutory bodies, Norwegian roles (CEO, chair, board, owner), Connecticut principals + registered agent, and the licensed trades of Czech sole traders (one extra registry request per registration, per page for Connecticut). France's managers, Switzerland's registered persons, Colorado's and Oregon's registered agent and New York's service-of-process contact come with the row itself.

## `enrichContacts` (type: `boolean`):

For every registration, look for the company's own website (a homepage probe on the company name, then a web search), verify that the page names the company, and extract emails, phone and social profiles from it. Brand-new companies often have no site yet — those rows keep `website: null` and are not charged the contact fee.

## `onlyWithWebsite` (type: `boolean`):

Deliver (and pay for) only registrations where a website was found and verified.

## `onlyWithEmail` (type: `boolean`):

Deliver (and pay for) only registrations where at least one email address was found on the website.

## `onlyNewSinceLastRun` (type: `boolean`):

Remember what this watch has delivered and skip it next time — schedule the Actor daily and get only the new companies. The first run is the baseline and delivers everything in the window.

## `watchId` (type: `string`):

Name of the memory to use (letters, digits, dashes). Runs with the same watch id share what has been reported. Leave empty to derive one from the filters.

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

How many registry pages and websites are fetched in parallel.

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

Registries and open-data portals are read directly. The proxy is used for the website resolution (search engines and company sites). Apify datacenter proxies are the default; switch to residential if searches get blocked.

## Actor input object example

```json
{
  "jurisdictions": [
    "gb",
    "us-co",
    "us-ny"
  ],
  "daysBack": 5,
  "maxResults": 30,
  "includeForeign": true,
  "includeOfficers": true,
  "enrichContacts": true,
  "onlyWithWebsite": false,
  "onlyWithEmail": false,
  "onlyNewSinceLastRun": false,
  "maxConcurrency": 6,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

## `registrations` (type: `string`):

One row per newly registered entity: company, jurisdiction, registry id, entity type, registration date, status, address, officers, industry codes and the registry link.

## `leads` (type: `string`):

The lead view: website, domain, emails, phone, officers, registered agent and who to sell to.

## `csv` (type: `string`):

Spreadsheet-ready copy of the dataset (first 5,000 rows).

## `summary` (type: `string`):

Registrations delivered and charged per jurisdiction, the window, filter counts, watch memory status and registry errors.

# 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 = {
    "jurisdictions": [
        "gb",
        "us-co",
        "us-ny"
    ],
    "daysBack": 5,
    "maxResults": 30,
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("inovaflow/new-business-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 = {
    "jurisdictions": [
        "gb",
        "us-co",
        "us-ny",
    ],
    "daysBack": 5,
    "maxResults": 30,
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("inovaflow/new-business-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 '{
  "jurisdictions": [
    "gb",
    "us-co",
    "us-ny"
  ],
  "daysBack": 5,
  "maxResults": 30,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call inovaflow/new-business-registrations --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,inovaflow/new-business-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/G1APuVSArWF6LCWfW/builds/vhsfdeksKX58hmhQ4/openapi.json
