feat(extractors): expand catalog, smoke coverage, and sourcing docs
CI / Linting (Biome) (push) Failing after 40s
CI / Tests (push) Successful in 5m54s
CI / Type Check (adzuna-extractor) (push) Successful in 1m8s
CI / Type Check (gradcracker-extractor) (push) Successful in 1m11s
CI / Type Check (hiringcafe-extractor) (push) Successful in 1m8s
CI / Type Check (orchestrator) (push) Successful in 1m23s
CI / Type Check (startupjobs-extractor) (push) Successful in 1m6s
CI / Type Check (ukvisajobs-extractor) (push) Successful in 1m7s
CI / Documentation (push) Successful in 1m54s

Adds Arc.dev, BC T-Net, Eluta, iCIMS tenants, QAJobsBoard, and SmartRecruiters
manifests with registry/settings/UI wiring; registers full extractor list in
smoke-extractors and documents supplementary board access paths. Aligns Careerjet
v4 with the url query parameter and fixes strict typing in QAJobsBoard.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-05-15 22:36:23 -04:00
co-authored by Cursor
parent 67508d56ea
commit c840f289e1
50 changed files with 2926 additions and 101 deletions
@@ -0,0 +1,92 @@
---
id: qa-contract-staffing-canada
title: Canadian / NA QA contracting firms
description: Staffing and consultancy boards that often post QA automation contracts, with JobOps wiring notes and scrape hints.
sidebar_position: 40
---
## What it is
A curated list of Canadian and North American **staffing firms and consultancies** that regularly carry **QA / SDET / test automation** contract roles. Coverage emphasizes targets that are **live**, **contract-heavy**, and roughly ordered by **scraping ease** for automation.
This is **not** an extractor implementation checklist: several firms need HTML or browser automation. Use native JobOps extractors where they apply, and [Manual Import](/docs/next/extractors/manual) elsewhere.
## Why it exists
Contract QA pipelines often come through agencies before they appear on Indeed or LinkedIn runs. Mapping firms to **ATS type** (Workday, Greenhouse, Lever, custom API, JS-rendered site) saves weeks of one-off research.
Counts and role titles **change daily** — re-verify listings before relying on them for outreach.
## How to use it
### Tier 1 — Confirmed live QA contracts + scrapable
| Firm | HQ | Where to scrape | Confirmed QA / contract notes |
| --- | --- | --- | --- |
| Procom | Toronto | [Find a job](https://procomservices.com/en-ca/find-a-job/) (~230+ roles when checked; paginated HTML). Titles such as “QA/QC Analyst”, “Automation QA Analyst”, “Sr QA Analyst” appear regularly. | Strong banking-sector volume; typical **4–6 month** contracts. No shipped extractor — HTML or browser automation. |
| S.i. Systems | Calgary / Toronto | [Search IT jobs (`q=QA`)](https://www.sisystems.com/search-it-jobs/?q=QA) — custom web API behind the UI; inspect DevTools network for JSON. | Frequent **Sr QA**, **Mobile QE** (WebdriverIO / Appium) and similar; lots of **GTA** roles; postings refresh often. |
| Synechron | NYC / Toronto / Montreal | Workday CXS: `POST https://synechron.wd1.myworkdayjobs.com/wday/cxs/synechron/SynechronCareers/jobs` with e.g. `{"limit":20,"offset":0,"searchText":"QA automation"}`. | Often **20+** QA automation-facing rows when searched; includes **Playwright** and related stacks. Add **`https://synechron.wd1.myworkdayjobs.com/en-US/SynechronCareers`** to **`workdayTenants`** / `WORKDAY_TENANTS` and use QA search terms (bundled extractor sends empty facets — see CLI snippet below for Canada facet example). |
| Capco | London / Toronto | Greenhouse: [boards-api capco](https://boards-api.greenhouse.io/v1/boards/capco/jobs?content=true) | Large board (**700+** roles when checked); dozens QA-related titles but many **India / Poland** — **filter by location** (Toronto / Canada metros). Add **`capco`** to **`greenhouseCompanies`**. |
| Foilcon | Toronto | [CVViz — Foilcon](https://jobs.cvviz.com/foilcon) | Lower volume; roles such as **Systems Testing QA Specialist** show up when hiring. |
| Robert Half (Technology) | Toronto / intl | [Jobs — QA automation keyword](https://www.roberthalf.com/ca/en/jobs?keywords=qa+automation) (often Workday-backed listings) | Discover tenant/host patterns from network tab if you want bulk Workday-style pulls; otherwise HTML/manual. |
| Hays Canada | Toronto | [QA automation search](https://www.hays.ca/job-search/qa-automation) — `/job-detail/...` permalinks | Custom HTML board; manual import or custom crawler. |
| Randstad Digital | Toronto / Montreal | [Randstad Canada jobs](https://www.randstad.ca/jobs/) | Site listings plus heavy **LinkedIn** contract volume under the Randstad Digital brand; often manual cross-check. |
| Compunnel | NJ / Toronto | [Job search](https://www.compunnel.com/job-search/) — **JS-rendered** | **Quality Assurance Automation Engineer** (and similar) titles recur; use **Playwright** if automating. |
| Pyramid Consulting | Atlanta / Toronto | [Job openings](https://www.pyramidci.com/careers/job-openings/) | **QA Automation Engineer** style roles often cross-posted on **LinkedIn** under their brand. |
| Qualitest Group | NYC / global | [Careers](https://careers.qualitestgroup.com) | Pure-play QA consultancy — schema varies by region; inspect ATS per locale. |
### Tier 2 — Active in Canadian QA contracting but smaller / harder to scrape
| Firm | Notes |
| --- | --- |
| Jarvis Consulting Group (`jrvs.ca`) | Toronto; [jobs.jrvs.ca/home/](https://jobs.jrvs.ca/home/) is **JS-rendered** — **Playwright** if scraping; SDET roles also surface on LinkedIn. |
| Electric Mind (formerly Intelliware) | Toronto. Lever: [`electricmind` postings JSON](https://api.lever.co/v0/postings/electricmind?mode=json) — add **`electricmind`** to **`leverCompanies`** when hiring opens; volume can be **small** (e.g. only a handful of open reqs) and sometimes **no QA** until project demand spikes. |
| Light Consulting (LightCI) | Toronto. Lever: [`lightci` postings JSON](https://api.lever.co/v0/postings/lightci?mode=json). Often **empty** publicly — they may prefer direct outreach. |
| Yoush Consulting | Toronto IT staffing; **no structured job board** — SDET contracts often only on **LinkedIn** company presence. |
| Accenture / Deloitte / EY / KPMG / PwC | Big-four **Canadian banking-tech QA** contract pools; usually **Workday** per brand (e.g. **EY** → `ey.wd3.myworkdayjobs.com`). Add each tenant you care about to **`workdayTenants`**. |
| CGI | Montreal (large gov / enterprise contractor). [cgi.com/en/careers](https://www.cgi.com/en/careers) — HTML / embedded ATS; inspect for stable patterns. |
| TEKsystems | US-based with Canadian offices — [Find a job (Canada)](https://www.teksystems.com/en-ca/careers/find-a-job). Enterprise staffing; HTML/search UX varies. |
| Robertson & Company | Often referenced from **LinkedIn** QA contract threads — treat as manual / referral-led unless you find a stable feed. |
| Plan A Technologies | Legit shop — [planatechnologies.com](https://www.planatechnologies.com); **no public job board** in many periods; **LinkedIn / referrals**. |
### Ready-to-use CLI probes
Greenhouse (Capco) — Canada-oriented QA filter (tweak city regex as needed):
```bash
curl -s 'https://boards-api.greenhouse.io/v1/boards/capco/jobs?content=true' \
| jq '.jobs[]
| select(.title | test("QA|SDET|Test|Automation|Quality"; "i"))
| select(.location.name | test("Toronto|Canada|Montreal|Vancouver|Calgary|Ottawa"; "i"))
| {title, location: .location.name, url: .absolute_url}'
```
Synechron Workday — `QA automation` search plus example **country facet** (`appliedFacets.locationCountry`). Facet IDs are **tenant-specific** and **expire or change** — if this stops matching, capture a fresh id from the career site’s network panel.
```bash
curl -s 'https://synechron.wd1.myworkdayjobs.com/wday/cxs/synechron/SynechronCareers/jobs' \
-X POST \
-H 'Content-Type: application/json' \
-d '{"limit":50,"offset":0,"searchText":"QA automation","appliedFacets":{"locationCountry":["bc33aa3152ec42d4995f4791a106ed09"]}}' \
| jq '.jobPostings[]
| {title, location: .locationsText, url: ("https://synechron.wd1.myworkdayjobs.com" + .externalPath)}'
```
### Heads-up: Ionosphere and “Reqd”
- **Ionosphere Inc.** — May only show a **LinkedIn** presence plus legacy **Google Sites** (e.g. `sites.google.com/a/ionosphereinc.com/...`) **without** a real careers board or steady postings — **not** a dependable scrape target unless you confirm a dedicated jobs URL. (“Ionosphere” is also used by unrelated firms — disambiguate by legal name and domain.)
- **Reqd** — No widely confirmed Canadian IT staffing brand spelled exactly **Reqd**. Possible leads to double-check: **Recroot**, **Reqroute**, **Recruitio**, **Required Technologies**, etc. If you have a **website or sample posting URL**, verify before adding to any automation list.
## Common problems
- **Workday without facets:** The bundled Workday extractor posts `appliedFacets: {}`. You still get roles via **`searchText`**; use tighter terms or post-filter for Canada.
- **Greenhouse volume:** Boards like Capco are large — always filter by title regex and location text before importing hundreds of rows.
## Related pages
- [Extractors overview](/docs/next/extractors/overview)
- [Canadian companies — QA-strong ATS](/docs/next/extractors/canadian-companies-qa-ats)
- [Eluta](/docs/next/extractors/eluta) (Canada employer-direct RSS)
- [QAJobsBoard](/docs/next/extractors/qajobsboard)
- [Arc.dev](/docs/next/extractors/arcdev)
- [Manual Import](/docs/next/extractors/manual)