> ## Documentation Index
> Fetch the complete documentation index at: https://docs.getcurrent.ca/llms.txt
> Use this file to discover all available pages before exploring further.

# Running a search

> How to search for a Canadian business and understand what comes back

A search is the core operation of the API. You submit a company name and optionally enable additional data sources. The API returns a unified response combining results from all enabled sources.

## How it works

1. If enabled, the business registry search runs first (provincial + federal coverage)
2. If enabled, regulatory registries are checked in parallel (charities, MSB, cannabis)
3. If enabled, website analysis and sanctions screening run concurrently
4. Results are deduplicated and merged into a single response

Which sources run is controlled by your request. Any flag you omit falls back to
your account's configured search settings.

<Note>
  Searches typically take **20–40 seconds**. The business registry lookup is the
  bottleneck. Save the `searchId` from the response to retrieve results via `GET
      /search/{id}` without re-running the search — it returns the identical
  response shape (`meta`, `businesses`, `regulatory`, `sanctions`, `website`,
  `errors`).
</Note>

## Request parameters

| Parameter            | Type    | Default         | Description                                                  |
| -------------------- | ------- | --------------- | ------------------------------------------------------------ |
| `name`               | string  | required\*      | Company name to search                                       |
| `website`            | string  | —               | Company website URL                                          |
| `businessRegistry`   | boolean | account setting | Search provincial and federal business registries            |
| `regulatoryRegistry` | boolean | account setting | Search charity, MSB, and cannabis registries                 |
| `sanctionsScreening` | boolean | account setting | Screen against global sanctions watchlists                   |
| `sanctionsThreshold` | integer | account setting | Minimum match confidence score (70–100)                      |
| `websiteAnalysis`    | boolean | account setting | Scrape and extract structured data from the website          |
| `businessId`         | string  | —               | Search one of your business records by our id (UUID)         |
| `businessExternalId` | string  | —               | Search one of your business records by **your own** id on it |

<Note>
  \*`name` is required **unless** you reference a stored business with
  `businessId` or `businessExternalId` — the name and website are then hydrated
  from that record, and the search is associated with it so you can compare
  results against the record and track changes over time. A supplied `name` /
  `website` overrides the record for that search only. The reference must belong
  to your account, else `404 NOT_FOUND`; if both ids are given they must point at
  the same record, else `400`.
</Note>

<Note>
  When a check flag is omitted, it falls back to your account's configured search
  settings (managed by an owner or admin in the dashboard). An explicit value in
  the request always overrides the account default.
</Note>

<Tip>
  Pass a flag explicitly to override your account settings for a single search —
  for example `sanctionsScreening` and `websiteAnalysis` add to the response
  time, so you may want them on only when you need them.
</Tip>

## Common search patterns

### Basic search

The minimum required request. Searches business and regulatory registries.

```json theme={null}
{
  "name": "Shopify Inc"
}
```

### With sanctions screening

```json theme={null}
{
  "name": "Shopify Inc",
  "sanctionsScreening": true,
  "sanctionsThreshold": 85
}
```

### With website analysis

Providing the `website` URL improves extraction quality. If omitted and `websiteAnalysis` is `true`, the API attempts to discover the website automatically.

```json theme={null}
{
  "name": "Shopify Inc",
  "website": "https://shopify.com",
  "websiteAnalysis": true
}
```

### Against a stored business record

Search one of your business records — the name/website are taken from the record
and the results are compared against it. Reference it by our id (`businessId`) or
your own id on it (`businessExternalId`); no `name` needed.

```json theme={null}
{
  "businessId": "11111111-1111-4111-8111-111111111111"
}
```

```json theme={null}
{
  "businessExternalId": "acct_1Nxxx"
}
```

When resolved to a stored record, each result's `businesses[].match` score is
computed against that record's full identity (name, registration number,
business number, and jurisdiction) rather than the query name alone — so
`match.baseline` is `record` and the score reflects how well the registry result
matches the business you're verifying.

### Full search

All data sources enabled:

```json theme={null}
{
  "name": "Shopify Inc",
  "website": "https://shopify.com",
  "businessRegistry": true,
  "regulatoryRegistry": true,
  "sanctionsScreening": true,
  "sanctionsThreshold": 85,
  "websiteAnalysis": true
}
```

## What each source returns

| Source                | Key in response       | What you get                                                                                                            |
| --------------------- | --------------------- | ----------------------------------------------------------------------------------------------------------------------- |
| Business registry     | `businesses[]`        | Legal name, jurisdiction, status, registration numbers, addresses, entity type, and a `match` identity score per result |
| Regulatory registries | `regulatory`          | Charity registrations (CRA), MSB registrations (FINTRAC), cannabis licences (AGCO, Health Canada), and more             |
| People                | `businesses[].people` | Directors, owners, officers on each business result. Website-extracted people appear under `website.extracted.people`   |
| Sanctions             | `sanctions`           | Match list with confidence scores and source watchlists                                                                 |
| Website               | `website`             | Descriptions, addresses, people, contact info, industry classification                                                  |

For full field documentation, see [Response structure](/concepts/response-structure).
