# Canada Business Funding Finder (`loudtzu/canada-business-funding-finder`) Actor

Curated Canadian small-business funding programs (federal, Atlantic Canada, Nova Scotia, youth). Filter by province, age, amount status, deadline and keyword. Bundled data, no live scraping.

- **URL**: https://apify.com/loudtzu/canada-business-funding-finder.md
- **Developed by:** [Travis M](https://apify.com/loudtzu) (community)
- **Categories:** Business, Other
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$10.00 / 1,000 program results

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

## Canada Business Funding Finder

A curated list of Canadian small-business funding programs (grants, loans, rebates, tax credits and support), covering federal, Atlantic Canada and Nova Scotia programs plus youth and side-hustle-friendly options. The data is bundled with the Actor and **nothing is scraped at run time**.

### What's in it (data version 0.1, 2026-10-19)

- **35 programs** included: 12 national, 7 Atlantic Canada, 16 Nova Scotia (45 unique programs in total, 10 held back below).
- Checked against the official page: **25 verified, 5 partial, 5 unverified**. Unverified records have not been re-checked by us; most come from the Business Benefits Finder dataset (July 2025 edition), but some (e.g. the Women Entrepreneurship Loan Fund) come from earlier notes and have no source edition date.
- Amounts: 10 have a published figure, 16 have a page that states no cap or no cash amount, and 9 have no amount found (`maxAmountCad` is null).
- Most records have no dated deadline. We never invent an amount or a date.
- 10 more programs are **held back by default** because their website terms are restrictive or not yet reviewed: NGen, Scale AI, Futurpreneur (4), Ulnooweg, Volta, BDC and Canada Media Fund. Set `includeTermsPendingSources: true` to include them.

By default the Actor **hides unverified records** (`minVerificationLevel: "partial"`), so an empty input returns **30 programs** (35 with `minVerificationLevel: "unverified"`).

### Example inputs

```json
{}
```

Returns the verified and partial programs, up to 50.

```json
{"provinces": ["NS"], "types": ["grant"], "amountStatus": ["published"]}
```

Returns grants available in Nova Scotia that have a published amount.

```json
{"ageMin": 18, "ageMax": 29, "query": "youth", "minVerificationLevel": "unverified"}
```

Returns youth programs, including unverified records (which are not charged).

```json
{"deadlineFrom": "2026-11-01", "deadlineTo": "2027-03-31", "includeUndatedDeadlines": true}
```

### Input

| Field | Default | Meaning |
|---|---|---|
| `provinces` | all | 2-letter codes. National programs always match; Atlantic programs match NS/NB/PE/NL; Nova Scotia programs match NS |
| `packages` | all | `federal`, `atlantic-ns`, `young-founder` |
| `types`, `sectors`, `intakeStatus` | all | e.g. `grant`, `ai`, `ongoing` |
| `minVerificationLevel` | `partial` | `unverified` / `partial` / `verified` |
| `amountStatus` | all | `published`, `no_published_cap`, `not_found` |
| `ageMin`, `ageMax` | none | Drops programs whose stated age range doesn't overlap. Programs with no stated range stay |
| `deadlineFrom`, `deadlineTo` | none | YYYY-MM-DD. Keeps only programs with a dated deadline in range, unless `includeUndatedDeadlines` is set |
| `query` | "" | Every word must appear in name, agency, summary, tip or sectors |
| `maxItems` | 50 | Hard cap 50,000 |
| `fetchAll` | false | Opt-in: everything that matches, up to the cap |
| `includeTermsPendingSources` | false | See above |

### Output (one item per program)

`id, name, agency, jurisdiction, type, maxAmountCad, amountStatus, matchingRequired, matchingRatio, eligibilitySummary, soleProprietorOk, partTimeOk, ageLimit, ageMin, ageMax, sectors, intakeStatus, nextDeadline, nextDeadlineDate, applicationDifficulty, officialUrl, verificationLevel, last_verified, source_edition_date, daysSinceVerified, verificationNote, fitTip, packages, licence, licenceUrl, attribution, disclaimer, charged`

- `last_verified` is the date we loaded the official page. It is null if we never checked it.
- `verificationNote` explains what was not confirmed for partial and unverified records (null when verified).
- `source_edition_date` is the Business Benefits Finder edition the record came from (2025-07-31). It is null otherwise.
- A null in `soleProprietorOk` or `partTimeOk` means the source doesn't say.
- A run summary (counts, attribution, disclaimer) is saved as `META` in the run's key-value store.

**Attribution:** only records taken from the federal Business Benefits Finder data carry the Open Government Licence – Canada credit. Every other record names its own source agency and official page, with the summary in our own words.

### Price

$0.01 per verified or partial program returned. **Unverified records are free.** Example: the default input costs about $0.30. Pay-per-event pricing is live on Apify (event `result`, $0.01).

### Sources and licence

Contains information licensed under the Open Government Licence – Canada (https://open.canada.ca/en/open-government-licence-canada). The candidate list comes from the Business Benefits Finder (ISED), open.canada.ca dataset `4e75337e-70d0-4ed7-92d1-3b85192ec6b1`. Other records hold facts only (amounts, dates, criteria), restated in our own words. No text, logos or layout is copied from program pages. Program and agency names are used only to identify each program.

### Disclaimer

Informational only, not financial or legal advice. This Actor is independent and **not affiliated with or endorsed by any government, agency or program**. Programs change without notice, so confirm every field on `officialUrl` before applying.

### Privacy

No personal information: no named contacts, emails or phone numbers.

# Actor input Schema

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

2-letter codes, e.g. \["NS"]. Keeps national programs, Atlantic programs (for NS/NB/PE/NL) and Nova Scotia programs (for NS). Empty = all.

## `packages` (type: `array`):

Any of federal, atlantic-ns, young-founder. Empty = all.

## `types` (type: `array`):

grant, loan, rebate, tax credit, support. Empty = all.

## `sectors` (type: `array`):

Sector tags, e.g. ai, technology, export. Empty = all.

## `intakeStatus` (type: `array`):

ongoing, seasonal, closed, unknown. Empty = all.

## `minVerificationLevel` (type: `string`):

partial (default) hides unverified records. unverified = include all (unverified records are not charged).

## `amountStatus` (type: `array`):

published, no_published_cap, not_found. Empty = all.

## `ageMin` (type: `integer`):

Drops programs whose confirmed age range ends below this. Programs with no stated range stay.

## `ageMax` (type: `integer`):

Drops programs whose confirmed age range starts above this.

## `deadlineFrom` (type: `string`):

YYYY-MM-DD. When a deadline range is set, only programs with a dated deadline in range are kept (see includeUndatedDeadlines).

## `deadlineTo` (type: `string`):

YYYY-MM-DD.

## `includeUndatedDeadlines` (type: `boolean`):

Only used with a deadline range.

## `query` (type: `string`):

All words must appear in name, agency, summary, tip or sectors.

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

Default 50. Hard cap 50,000. Each verified/partial record costs $0.01.

## `fetchAll` (type: `boolean`):

Opt-in: return every matching record (up to the 50,000 cap), ignoring maxItems.

## `includeTermsPendingSources` (type: `boolean`):

Off by default. Adds NGen, Scale AI, Futurpreneur, Ulnooweg, Volta, BDC and Canada Media Fund records, whose terms are restrictive or not yet reviewed.

## Actor input object example

```json
{
  "provinces": [],
  "packages": [],
  "types": [],
  "sectors": [],
  "intakeStatus": [],
  "minVerificationLevel": "partial",
  "amountStatus": [],
  "includeUndatedDeadlines": false,
  "maxItems": 50,
  "fetchAll": false,
  "includeTermsPendingSources": false
}
```

# Actor output Schema

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

Default dataset, overview table view.

# 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 = {};

// Run the Actor and wait for it to finish
const run = await client.actor("loudtzu/canada-business-funding-finder").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 = {}

# Run the Actor and wait for it to finish
run = client.actor("loudtzu/canada-business-funding-finder").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 '{}' |
apify call loudtzu/canada-business-funding-finder --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,loudtzu/canada-business-funding-finder"
        }
    }
}
```

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/etYSNIerdLnzwDVc3/builds/y689eyge7FS6F9deO/openapi.json
