---
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)
