---
id: canadian-companies-qa-ats
title: Canadian companies — strong QA orgs and scrapable ATS
description: Reference list of Canadian tech employers with solid QA cultures and practical ATS endpoints for JobOps pipelines.
sidebar_position: 41
---

## What it is

A curated reference of **Canadian-headquartered or Canadian-heavy tech employers** where QA / SDET / test automation is often a first-class function, together with **scrapable ATS endpoints** where they exist.

Tier 1 targets map cleanly to the shipped **Ashby**, **Greenhouse**, **Lever**, **Workday**, and **SmartRecruiters** extractors. Tier 2 entries need custom scraping, browser automation, or upstream quirks.

**Verification:** Tier 1 integrations below were probed successfully (**HTTP `200`**, JSON where applicable). **Posting counts change daily** — re-run probes locally when you need exact volumes.

## Why it exists

Canada-focused QA sourcing benefits from **employer-direct ATS feeds** (clean titles, real apply URLs) instead of only aggregator noise. This page maps recognizable brands to **exact integration shapes** so you can paste slugs into Settings or env without rediscovering URLs.

## How to use it

### Tier 1 — Public ATS APIs (shipped extractors)

| Company | HQ | ATS | Endpoint / shape (reference) | JobOps wiring |
| --- | --- | --- | --- | --- |
| Wealthsimple | Toronto | Ashby | `GET https://api.ashbyhq.com/posting-api/job-board/wealthsimple` | Add **`wealthsimple`** to **`ashbyCompanies`** / `ASHBY_COMPANIES`. |
| 1Password | Toronto (remote-first) | Ashby | `.../job-board/1password` | Add **`1password`**. |
| Jobber | Edmonton / Toronto | Ashby | `.../job-board/jobber` | Add **`jobber`**. |
| Nylas | Toronto / SF | Ashby | `.../job-board/nylas` | Add **`nylas`**. |
| Hootsuite | Vancouver | Greenhouse | `GET https://boards-api.greenhouse.io/v1/boards/hootsuite/jobs?content=true` | Add **`hootsuite`** to **`greenhouseCompanies`**. |
| Faire | Waterloo / SF | Greenhouse | `.../boards/faire/jobs?content=true` | Add **`faire`**. |
| PointClickCare | Mississauga | Lever | `GET https://api.lever.co/v0/postings/pointclickcare?mode=json` | Add **`pointclickcare`** to **`leverCompanies`**. |
| Clio | Burnaby / Calgary / Toronto | Workday | `POST https://clio.wd3.myworkdayjobs.com/wday/cxs/clio/ClioCareerSite/jobs` (`limit`, `offset`, `searchText`) | Add **`https://clio.wd3.myworkdayjobs.com/en-US/ClioCareerSite`** to **`workdayTenants`** / `WORKDAY_TENANTS`. |
| Coveo | Quebec City / Montreal | SmartRecruiters | `GET https://api.smartrecruiters.com/v1/companies/Coveo/postings` | Add **`Coveo`** to **`smartrecruitersCompanies`**. API stays **`200`**; **`totalFound`** may be **zero** between hiring waves. |

Optional Ashby query parameter `?includeCompensation=true` works in browsers and `curl` for richer payloads; the bundled Ashby extractor calls the **same path without that query** and still returns full job lists.

**Example Settings JSON (merge with your existing lists):**

```json
["wealthsimple", "1password", "jobber", "nylas"]
```

```json
["hootsuite", "faire"]
```

```json
["pointclickcare"]
```

```json
["https://clio.wd3.myworkdayjobs.com/en-US/ClioCareerSite"]
```

```json
["Coveo"]
```

### Tier 2 — Harder or custom surfaces

| Company | HQ | ATS | Notes |
| --- | --- | --- | --- |
| Shopify | Ottawa / remote | Ashby (custom) | Hosted board / GraphQL (`jobs.ashbyhq.com/api/non-user-graphql`, `organizationHostedJobsPageName: "shopify"`) or parse careers HTML — not covered by the slug-based Ashby extractor today. |
| Lightspeed Commerce | Montreal | Custom (often Cloudflare) | Careers HTML at `https://www.lightspeedhq.com/careers/openings/` — browser or tolerant fetcher; no shipped extractor. |
| RBC Borealis | Toronto / Montreal | Greenhouse (embedded) | `boards-api` path **`rbcborealis`** returned **404** when probed — scrape `https://rbcborealis.com/careers/` or rediscover the active board slug before using Greenhouse JSON. |
| Vidyard | Kitchener–Waterloo | JS-heavy site | `https://careers.vidyard.com/` — Playwright/Puppeteer if automating. |
| Loblaw Digital | Toronto | Workday (parent) | Parent Workday host may need the correct site segment; careers marketing site often lists roles — browser-backed discovery may be more reliable than guessing CXS paths. |

### Ready-to-use CLI filters (QA-oriented titles)

Ashby (example: Wealthsimple):

```bash
curl -s 'https://api.ashbyhq.com/posting-api/job-board/wealthsimple?includeCompensation=true' \
  | jq '.jobs[] | select(.title | test("QA|SDET|Test|Automation"; "i")) | {title, location, url: .jobUrl}'
```

Greenhouse (example: Hootsuite):

```bash
curl -s 'https://boards-api.greenhouse.io/v1/boards/hootsuite/jobs?content=true' \
  | jq '.jobs[] | select(.title | test("QA|SDET|Test|Automation"; "i")) | {title, location: .location.name, url: .absolute_url}'
```

Lever (PointClickCare):

```bash
curl -s 'https://api.lever.co/v0/postings/pointclickcare?mode=json' \
  | jq '.[] | select(.text | test("QA|SDET|Test|Automation"; "i")) | {title: .text, location: .categories.location, url: .hostedUrl}'
```

Workday (Clio — QA search text):

```bash
curl -s -X POST 'https://clio.wd3.myworkdayjobs.com/wday/cxs/clio/ClioCareerSite/jobs' \
  -H 'Content-Type: application/json' \
  -d '{"limit":50,"offset":0,"searchText":"QA"}' \
  | jq '.jobPostings[] | select(.title | test("QA|SDET|Test|Automation"; "i")) | {title, location: .locationsText}'
```

### Other strong-QA Canadian employers (ATS not deep-verified here)

Worth manual checks or Eluta / LinkedIn cross-reference: **Wattpad**, **Knix**, **Ada**, **Hopper**, **Plusgrade**, **D2L**, **Kinaxis**, **TELUS Digital / Mirum**, **Trulioo**, **OpenText / Hubdoc**.

## Common problems

- **Ashby counts vs `includeCompensation`:** Omitting the query param still returns jobs; compensation fields may be sparser.
- **Greenhouse board slug drift:** If `boards-api` returns `404`, the employer may have renamed the board — inspect their careers page embed or HTML source for the current board id.
- **SmartRecruiters zero postings:** Still a valid integration; don’t treat empty arrays as a broken extractor.

## Related pages

- [Extractors overview](/docs/next/extractors/overview)
- [Canadian / NA QA contracting firms](/docs/next/extractors/qa-contract-staffing-canada)
- [Eluta](/docs/next/extractors/eluta)
- [Manual Import](/docs/next/extractors/manual)
