[NewSearch millions of jobs from your AI agent with MCP→](/blog/jobspipe-mcp-server)

[All posts](/blog)

Guide·Jul 16, 2026·5 min read

# Teamtailor API: clean JSON:API, one key per tenant - and the fix

The Teamtailor API is a pleasant JSON:API REST surface - the friction is one key per tenant, with no aggregator-tier credential and no way to enumerate tenants. How to pull every Teamtailor company's postings through one jobs API instead.

![Dvir Atias](/authors/dvir-atias.jpg)

Dvir Atias

Founder, JobsPipe

Teamtailor is a modern ATS with a strong European footprint, and its API is genuinely pleasant - a clean, JSON:API-compliant REST surface. So the friction in **Teamtailor API** is not the API design. It is that you need one key per tenant.

## The Teamtailor API surfaces

-   **The REST API** - `api.teamtailor.com/v1/` covering jobs, candidates, applications, departments, and locations. Authentication is `Authorization: Token token=<key>` with an `X-Api-Version` header, and responses follow the JSON:API`type`/`id`/`attributes` envelope.
-   **The careers site and embed** - the public-facing job pages Teamtailor renders for each customer.

## Clean, but one key per tenant

Every endpoint is scoped to a single customer’s key, and there is no path to an aggregator-tier credential and no way to enumerate Teamtailor tenants. The API is easy once you have a key; getting a key for every company you care about is the whole problem.

## Every Teamtailor tenant through one jobs API

JobsPipe indexes public Teamtailor postings and flattens the JSON:API envelopes into one normalized [jobs API](/jobs-api), the same shape as 30+ other sources:

```
curl https://api.jobspipe.dev/v1/jobs/search \
  -H "Authorization: Bearer jp_live_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{ "source_or": ["teamtailor"], "job_title_or": ["frontend engineer"], "job_country_code_or": ["SE", "GB"] }'
```

One key, every tenant. Scope to one company with `company_name_partial_match_or`. Details on our [Teamtailor source page](/sources/teamtailor), and the full comparison in [the best jobs APIs of 2026](/blog/best-jobs-api-2026).

Every Teamtailor tenant, one jobs API - 30+ sources, free tier included.

## Frequently asked questions

### How does the Teamtailor API work?

Teamtailor exposes a clean, JSON:API-compliant REST surface at api.teamtailor.com/v1/ covering jobs, candidates, and applications, authenticated with a token header per tenant. It is well designed, but every endpoint is scoped to one customer's key.

### Can I read job postings across all Teamtailor companies?

Not directly - there is no aggregator-tier credential and no way to enumerate tenants. JobsPipe indexes public Teamtailor postings and flattens the JSON:API envelopes into one normalized jobs API across 30+ sources.

[

← Previous

Workable API: pulling published job postings across every account

](/blog/workable-api-jobs)[

Next →

iCIMS API: how to pull job postings from iCIMS career sites

](/blog/icims-api-jobs)

---
Canonical URL: https://jobspipe.dev/blog/teamtailor-api-jobs
Title: Teamtailor API: clean JSON:API, one key per tenant - and the fix
Description: The Teamtailor API is a pleasant JSON:API REST surface - the friction is one key per tenant, with no aggregator-tier credential and no way to enumerate tenants. How to pull every Teamtailor company's postings through one jobs API instead.