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,44 @@
---
id: smartrecruiters
title: SmartRecruiters Extractor
description: Public SmartRecruiters Posting API discovery with per-company identifiers.
sidebar_position: 14
---
## What it is
Original API: [SmartRecruiters Posting API](https://developers.smartrecruiters.com/reference/v1listpostings)
The extractor lives in `extractors/smartrecruiters/manifest.ts`. It calls the public JSON endpoints (no API key for public boards), paginates active **PUBLIC** postings per configured company, optionally matches pipeline search terms against title and location, then loads each posting’s detail document so `jobUrl` / `applicationLink` and HTML descriptions resolve to the same URLs candidates see on `jobs.smartrecruiters.com`.
## Why it exists
Many large employers (including a significant share in Canada and the EU) publish on SmartRecruiters. This source complements Greenhouse, Lever, Ashby, and Workday by covering another major ATS with a predictable public API.
## How to use it
1. Find each employer’s **company identifier** — the path segment in their public board URL (for example `jobs.smartrecruiters.com/smartrecruiters/...` → `smartrecruiters`).
2. In **Settings**, set **SmartRecruiters companies** (`smartrecruitersCompanies`) to a JSON array or comma/newline-separated list of those identifiers, or set `SMARTRECRUITERS_COMPANIES` in the environment.
3. Optionally set **SmartRecruiters max jobs per company** (`smartrecruitersMaxJobsPerCompany`, default `100`, max `500`) to cap pagination after term filtering.
4. Set your pipeline **search geography** and **search terms** as usual; terms filter postings by title, location text, and company display name.
5. Enable **SmartRecruiters** in pipeline sources and run the pipeline.
## Common problems
### SmartRecruiters never appears in source toggles
- No companies are configured (`smartrecruitersCompanies` / `SMARTRECRUITERS_COMPANIES` is empty).
### Zero jobs for a slug I know is correct
- The identifier must match the **public Posting API** path, not necessarily the marketing site name. Confirm listings exist on `jobs.smartrecruiters.com/<identifier>/`.
### Rate limiting or intermittent HTTP errors
- Reduce `smartrecruitersMaxJobsPerCompany` or the number of configured companies; each kept posting triggers a detail request after the list pass.
## Related pages
- [Extractors Overview](/docs/next/extractors/overview)
- [Add an Extractor](/docs/next/workflows/add-an-extractor)
- [Settings](/docs/next/features/settings)