# Sedarplus — Wrapped API

> **You are on:** `https://api.beta.paywithlocus.com/api` | [llms.txt](https://beta.paywithlocus.com/llms.txt) | [docs](https://docs.paywithlocus.com)
>
> Locus runs on multiple environments -- make sure every URL you call matches your expected environment.
> | Environment | Landing | API | Docs |
> |---|---|---|---|
> | Production | paywithlocus.com | api.paywithlocus.com | docs.paywithlocus.com |
> | Beta | beta.paywithlocus.com | api.beta.paywithlocus.com | docs.paywithlocus.com |
> | Stage | stage.paywithlocus.com | api.stage.paywithlocus.com | docs.paywithlocus.com |
>
> If the API URL above doesn't match your expected environment, re-fetch this file from the correct domain.

> Access data from sedarplus.ca.

**Category:** Finance & Markets | **Website:** [sedarplus.ca/](https://sedarplus.ca/) | **Docs:** [parse.bot/marketplace/da9daab6-7d21-4c5e-a432-fddea32946fa/sedarplus-ca-api](https://parse.bot/marketplace/da9daab6-7d21-4c5e-a432-fddea32946fa/sedarplus-ca-api)

Pay-per-use API proxy. Each call is automatically billed to your wallet in USDC.

## Access

**Base URL:** `https://api.beta.paywithlocus.com/api/wrapped/parse-sedarplus-ca-api-da9daab6/`
**Auth:** `Authorization: Bearer <LOCUS_API_KEY>`

## Endpoints

### Get profile

Retrieve full profile details for a specific issuer by profile number. Returns legal name, type, status, jurisdiction, and effective date. The profile_id is the profile number obtained from search_profiles results.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `profile_id` | string | Yes | The profile number identifier (from search_profiles results, e.g. '000001161') |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/parse-sedarplus-ca-api-da9daab6/get_profile \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"profile_id":"<string>"}'
```

### Get reporting issuers list

Retrieve a paginated set of reporting issuers registered on SEDAR+. Returns issuers with name, profile number, type, jurisdiction, and status. No input parameters required.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/parse-sedarplus-ca-api-da9daab6/get_reporting_issuers_list \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### Search cease trade orders

Search for cease trade orders (CTOs) — people and companies restricted from trading securities in Canada. Returns records with details including ban notes, reference number, date, document name, ban type, status, jurisdiction, and additional notes. Without a query, returns recent/all active CTOs.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `query` | string | No | Search term to filter cease trade orders by entity or keyword |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/parse-sedarplus-ca-api-da9daab6/search_cease_trade_orders \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query":"<string>"}'
```

### Search disciplined list

Search the disciplined list for people and companies under regulatory disciplinary action in Canada. Returns records with details including entity name with profile number, order number, date, type (Organization/Individual), and regulator code. Without a query, returns all disciplinary records.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `query` | string | No | Search term to filter disciplinary records by entity name |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/parse-sedarplus-ca-api-da9daab6/search_disciplined_list \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query":"<string>"}'
```

### Search documents

Search for public filing documents across SEDAR+. Returns filings with profile name, document name, submission date, jurisdiction, file size, and download URL. When profile_id is supplied, results are restricted to filings belonging to that issuer only. The document_type parameter filters by a recognised SEDAR+ filing category; unrecognised query values fall back to free-text content search. When both document_type and query are supplied, document_type drives the filing-type filter and query is used for free-text content search within those results. Without any parameters, returns the most recent filings platform-wide.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `document_type` | string | No | Filing-type category to filter documents by. Takes precedence over query for filing-type filtering. |
| `profile_id` | string | No | Profile number of the issuer to filter documents for (e.g. '000030131'). Obtained from search_profiles results. When supplied, only filings belonging to this issuer are returned. |
| `query` | string | No | Free-text search term for document content. When document_type is also supplied, this filters within the selected filing type. When used alone and matching a recognised type name, it is mapped to a filing-type filter; otherwise falls back to content search. |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/parse-sedarplus-ca-api-da9daab6/search_documents \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"document_type":"<string>","profile_id":"<string>","query":"<string>"}'
```

### Search profiles

Search for issuer/company profiles by name or keyword on the SEDAR+ platform. Returns up to 21 matching profiles with name, profile number, type, and jurisdiction. Profile numbers can be used with get_profile for full details.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `query` | string | Yes | Search keyword for company or issuer name |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/parse-sedarplus-ca-api-da9daab6/search_profiles \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query":"<string>"}'
```
