# Canada New Incorporations — Company Leads + Directors (`truenorthdata/canada-new-incorporations`) Actor

Daily feed of newly incorporated Canadian federal companies — name, business number, incorporation date, province, status. Optional director enrichment (names + addresses) turns each company into a contactable lead. Fresh B2B leads — JSON/CSV, ready for Clay, Make, n8n.

- **URL**: https://apify.com/truenorthdata/canada-new-incorporations.md
- **Developed by:** [Vadim Zabin](https://apify.com/truenorthdata) (community)
- **Categories:** Lead generation, Automation, Jobs
- **Stats:** 1 total users, 0 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.005 / actor start

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

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

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.
Actors are written with capital "A".

## 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.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## Canada New Incorporations — Fresh Federal Company Leads

A **daily feed of newly incorporated federal Canadian companies**, built from the official [Corporations Canada open data](https://open.canada.ca/data/en/dataset/0032ce54-c5dd-4b66-99a0-320a7b5e99f2) (Open Government Licence). Filter to companies incorporated in the last N days and get a clean, structured lead list. Results are returned **newest-first**, so the freshest companies are always at the top. For recent windows the Actor also probes the live registry to catch companies incorporated in the last day or two that may not be in the daily bulk file yet.

### Why this is useful

A brand-new company is a brand-new buyer. Newly incorporated businesses need banking, insurance, accounting, legal, payroll, and software — fast. This Actor turns the federal register into a **fresh B2B lead feed** you can pull on a schedule.

### What you get

One record per corporation:

- **Corporation number** and **Business Number (BN)**
- **Corporate name** (and secondary/operating name)
- **Incorporation date** (CBCA anniversary / formation date)
- **Registered office address** — street, city, province, postal code
- **Status** and **governing legislation**
- **Min / max number of directors**

### Example input

```json
{
    "incorporatedWithinDays": 30,
    "provinces": ["ON", "BC"],
    "keywords": ["holdings", "consulting"],
    "onlyNewSinceLastRun": true,
    "maxResults": 500
}
```

- **incorporatedWithinDays** — only companies incorporated in the last N days (set `0` for all active corporations)
- **provinces** — two-letter codes of the registered office; empty = all of Canada
- **keywords** — match corporate name or city
- **includeOtherTypes** — also include not-for-profits, cooperatives and boards of trade
- **onlyNewSinceLastRun** — incremental mode; return only corporations not seen before (perfect for a daily new-company feed)
- **freshFrontier** — probe the live registry for just-incorporated companies not yet in the daily bulk file (on by default; applies to windows of 1–60 days)
- **maxResults** — cost guard; `0` = no limit. Because results are newest-first, a cap keeps the freshest companies.

### Example output

```json
{
    "corporationNumber": "9876543",
    "businessNumber": "123456789RC0001",
    "name": "BRIGHT NEW STARTUP INC.",
    "governingAct": "Canada Business Corporations Act",
    "status": "Active",
    "incorporationDate": "2026-07-01",
    "address": "10 King St W, Suite 200",
    "city": "Toronto",
    "province": "ON",
    "postalCode": "M5H1A1",
    "minDirectors": 1,
    "maxDirectors": 10,
    "id": "corp-9876543"
}
```

Export to Excel / CSV works out of the box, so the list drops straight into a CRM or an outreach campaign. Schedule the Actor daily with `onlyNewSinceLastRun` for an automatic feed of just-registered companies.

### Use with AI agents (MCP)

This Actor is available over the Model Context Protocol:

```
https://mcp.apify.com?tools=truenorthdata/canada-new-incorporations
```

Ask an MCP client in plain language — *"companies incorporated in Ontario this week"* — and the agent runs the Actor and filters for you.

### Notes

- **Source:** Corporations Canada (Innovation, Science and Economic Development Canada), Federal Corporations open data, Open Government Licence – Canada. Files are updated **daily**. Covers federal corporations only (CBCA business corporations, plus optionally NFP / cooperatives / boards of trade) — not provincial registrations.
- **Contact data:** registered office mailing address is included. Director names + service addresses can be attached via optional enrichment (see below); the bulk data itself does not include director names, phone or email.

### Director enrichment (optional — turns a company into a contactable lead)

Turn on **Enrich with directors** to attach each corporation's directors (names and service addresses) from the official Corporations Canada API — ideal for outbound, since you get a real person to reach, not just a company name.

1. Get a **free API key**: go to [api.ised-isde.canada.ca](https://api.ised-isde.canada.ca/en/docs?api=corporations), sign up, and subscribe to the **Federal Corporation API → Public Plan**. Copy your `user-key`.
2. In the Actor input, set **Enrich with directors** on and paste the key into **Federal Corporation API key** (stored as a secret). You can also provide it via the `FEDERAL_API_KEY` environment variable.
3. Keep the window small (e.g. `incorporatedWithinDays` = 1–7). Enrichment is rate-limited to ~55 lookups/min and capped by **Max director lookups**.

Output then includes a `directors` array (first/last name, city, province, postal) and a `directorNames` summary column.

### Use in Clay and n8n (no code)

This Actor plugs straight into the tools outbound teams already use, so a fresh-company feed lands in your workflow automatically.

**Clay** — in a Clay table, add a source → **Import from Apify Actor** → search `canada-new-incorporations` → set your input (e.g. `incorporatedWithinDays` = 1, `provinces` = \["ON"]). Turn on daily auto-update to append newly registered companies as rows, then enrich (email, LinkedIn) with Clay's providers.

**n8n** — add the official **Apify** node (`@apify/n8n-nodes-apify`): use **Run Actor** on `truenorthdata/canada-new-incorporations` with your input, then **Get Dataset Items**, and pipe the result into Google Sheets, a CRM, or Slack. Add a **Schedule** trigger for a daily new-company feed. Tip: turn on `onlyNewSinceLastRun` so you only get (and act on) companies you haven't seen before.

#### Ready-made n8n template

Don't want to wire it up yourself? Import our ready-made n8n workflow — it pulls the newest incorporations every morning and appends them to a Google Sheet (or your CRM), deduped automatically.

→ Copy-paste import + setup: [Two free n8n templates for Canadian B2B lead lists](https://dev.to/truenorthdata/two-free-n8n-templates-for-canadian-b2b-lead-lists-copy-paste-import-49ie)

**Ready-made n8n templates:** import a working lead-gen workflow in one click — see [Two free n8n templates for Canadian B2B lead lists](https://dev.to/truenorthdata/two-free-n8n-templates-for-canadian-b2b-lead-lists-copy-paste-import-1mkd).

### More Canada open-data Actors by TrueNorthData

- [Canada Tenders Scraper](https://apify.com/truenorthdata/canada-tenders-scraper) — federal + Québec government tenders (CanadaBuys, SEAO)
- [Building Permits Canada](https://apify.com/truenorthdata/canada-building-permits) — fresh building permits from Toronto, Vancouver, Calgary, Edmonton & Montréal
- [Contractor License Scraper Canada](https://apify.com/truenorthdata/canada-contractor-licenses) — Quebec RBQ + Ontario HCRA builder & trade licences
- [Canada Charities Scraper](https://apify.com/truenorthdata/canada-charities) — CRA registered charities directory

All built on official Canadian open data.

# Actor input Schema

## `incorporatedWithinDays` (type: `integer`):

Return only corporations incorporated in the last N days. A fresh-company lead feed. Set 0 to return all active corporations (large). For windows up to 60 days, the Actor also probes the live registry to catch companies incorporated in the last ~1-2 weeks that are not yet in the daily bulk file.

## `freshFrontier` (type: `boolean`):

The daily bulk file lags real incorporations by ~1-2 weeks. When on, the Actor probes the official live registry forward from the newest bulk record to add companies incorporated in the last few days (with their true incorporation date). Adds a few minutes to the run. Only applies when 'Incorporated within (days)' is between 1 and 60.

## `provinces` (type: `array`):

Two-letter codes of the registered office to include, e.g. 'ON', 'BC', 'QC', 'AB'. Leave empty for all of Canada.

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

Filter by corporate name or city (e.g. 'consulting', 'holdings', 'Toronto'). Case-insensitive, matches any keyword.

## `includeOtherTypes` (type: `boolean`):

Also include 'other' active federal corporations (not-for-profit, cooperatives, boards of trade) in addition to business corporations.

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

Incremental mode: return only corporations (by corporation number) not seen in previous runs. Perfect for a daily new-company feed.

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

Stop after this many corporations (cost guard). 0 = no limit.

## `enrichDirectors` (type: `boolean`):

Look up each returned corporation in the official Corporations Canada API and attach its directors (names and service addresses). Great for outbound - turns a company into a contactable lead. Requires a free API key below. Rate-limited to ~55/min, so use with a small window (e.g. incorporatedWithinDays=1-7).

## `federalApiKey` (type: `string`):

Free 'user-key' from the ISED API catalogue (api.ised-isde.canada.ca - subscribe to the Federal Corporation API 'Public Plan'). Required only when 'Enrich with directors' is on. Can also be set via the FEDERAL\_API\_KEY environment variable.

## `maxEnrich` (type: `integer`):

Safety cap on how many corporations get a director API lookup per run (each lookup is one API call, throttled). Keeps big runs from being slow/hitting limits.

## Actor input object example

```json
{
  "incorporatedWithinDays": 30,
  "freshFrontier": true,
  "includeOtherTypes": false,
  "onlyNewSinceLastRun": false,
  "maxResults": 500,
  "enrichDirectors": false,
  "maxEnrich": 300
}
```

# 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 = {
    "incorporatedWithinDays": 30,
    "maxResults": 500,
    "maxEnrich": 300
};

// Run the Actor and wait for it to finish
const run = await client.actor("truenorthdata/canada-new-incorporations").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 = {
    "incorporatedWithinDays": 30,
    "maxResults": 500,
    "maxEnrich": 300,
}

# Run the Actor and wait for it to finish
run = client.actor("truenorthdata/canada-new-incorporations").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "incorporatedWithinDays": 30,
  "maxResults": 500,
  "maxEnrich": 300
}' |
apify call truenorthdata/canada-new-incorporations --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=truenorthdata/canada-new-incorporations",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/R4powMPR2sm7ad51K/builds/eNYVnvyDD0SpImqIe/openapi.json
