Skip to content

Expand ATS coverage: Recruitee, Personio, Workable, Teamtailor (research-verified) #22

@prPMDev

Description

@prPMDev

Context

Deep research pass on 2026-04-24 verified which job-data APIs are truly public (no auth, stable, permissive). Four clear wins surfaced — all simpler than BambooHR/Workday and together covering significantly broader geographic and SMB ground.

Full research in `notes/expansion-research.md` (gitignored).

The four adapters to add

1. Recruitee (#1 priority — cleanest pattern match)

```
GET https://{company}.recruitee.com/api/offers
```
Returns JSON. No auth. Mirrors Greenhouse/Lever/Ashby adapter pattern exactly.

EU SMB coverage, lots of remote-first startups.

2. Personio (#2 priority — EU coverage gap)

```
GET https://{company}.jobs.personio.de/xml?language=en
```
XML format (need to add XML parsing helper — one-time cost). No auth. Strong German/European coverage.

3. Workable — widget endpoint (#3 priority — breadth play)

```
GET https://apply.workable.com/api/v1/widget/accounts/{slug}
```
Returns JSON. No auth. Workable has historically had ~50K customers globally — huge SMB reach.

Note: this is the public widget endpoint, not the full Workable API (which requires OAuth). Fields are lightweight but sufficient for our schema.

4. Teamtailor (#4 priority — Nordic + EU strengthening)

```
GET https://{tenant}.teamtailor.com/jobs.rss?per_page=N
```
RSS 2.0. No auth. Scandinavian and European coverage.

Implementation pattern

Each adapter is one file in `src/adapters/`, follows existing Greenhouse/Lever/Ashby structure:

  • `fetchX(slug)` — hit endpoint, normalize to unified schema
  • `hasX(slug)` — HEAD request for detect_ats probing
  • Register in `src/adapters/index.js`

Add registry file per platform in `registry/`. Seed with 5-10 verified companies each.

What this does NOT change

  • Existing three adapters (Greenhouse/Lever/Ashby) untouched
  • MCP server surface unchanged (same three tools, same envelope)
  • No breaking changes to library API
  • No npm publish needed until all four ship (single 0.3.0 bump)

Suggested sequence

Single focused day:

  1. Recruitee (morning — direct pattern match, ~90 min)
  2. Workable (afternoon — similar shape, ~90 min)
  3. Teamtailor (requires RSS parsing helper — ~2 hrs)
  4. Personio (requires XML parsing — ~2 hrs)
  5. Test + verify live against 3-5 companies per adapter
  6. Update README roadmap + docs/filters.md if any new gotchas
  7. Bump version to 0.3.0, publish both packages

Related issues

Acceptance criteria

  • Each adapter has a test fixture + passing tests
  • Registry seeded with 5-10 verified companies per platform
  • README "Platforms" table updated
  • MCP tool descriptions unchanged (adapters work through existing tool surface)
  • Smoke test: real Claude Desktop query hits all 7 adapters successfully

Metadata

Metadata

Assignees

No one assigned

    Labels

    adapterNew ATS platform adapterenhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions