Teamtailor Jobs API.
Every public Teamtailor posting, one endpoint - no per-tenant X-Api-Key, no JSON:API pagination to flatten.
Why people are confused about the Teamtailor API
Teamtailor has one of the cleanest ATS APIs on the market - JSON:API spec compliant, X-Api-Key authentication, page-based pagination at /v1/jobs?page[size]=30. The catch for aggregators: it's per-tenant. Each Teamtailor customer mints their own X-Api-Key inside their admin, and a key from one tenant cannot read data from another. If you want postings across many Teamtailor-using companies, you'd need a key from every one.
On the public side, every Teamtailor customer's career site is statically rendered at <tenant>.teamtailor.com (and some on custom domains), with job data exposed in a discoverable pattern. JobsPipe indexes every public Teamtailor customer and serves their data alongside 30+ other sources in the same JSON schema - flattened out of JSON:API's nested resource/attributes envelope.
Clean API once you have a key, but you need one key per tenant and there's no path to aggregator-tier credentials.
Possible. Custom-domain tenants and Teamtailor's localization (career pages in 50+ languages) make this more work than it looks.
Every public Teamtailor career site, one endpoint, flattened JSON. Free tier covers 5,000 requests/month.
Teamtailor API documentation
Teamtailor's developer documentation lives at docs.teamtailor.com and covers the JSON:API-compliant REST surface - jobs, candidates, applications, departments, locations, custom fields, webhooks. Endpoints are at api.teamtailor.com/v1/, authentication is X-Api-Key in headers, and responses follow the JSON:API spec with type/id/attributes/relationships envelopes. The docs are good - the limitation for aggregators is that every endpoint is scoped to one customer's key. JobsPipe's normalized schema at /docs is flat and uses the same shape across Teamtailor, Workday, Greenhouse, and 30+ other sources.
Teamtailor X-Api-Key authentication
Teamtailor authenticates with two headers: X-Api-Key (the key from the customer's admin) and X-Api-Version (e.g. 20240404). The key is minted inside the tenant's Teamtailor admin under Settings → Integrations → API. There is no aggregator-tier credential and no way to read multiple tenants' data with one key. JobsPipe sidesteps the per-tenant key model by reading public career-site data instead - same coverage of postings, none of the per-tenant onboarding.
Sample request
curl "https://api.jobspipe.dev/v1/jobs?source=teamtailor" \
-H "Authorization: Bearer $JOBSPIPE_KEY" \
-H "Accept: application/json"Sample response
{
"id": "tt_NDk3MjE4MDQ0",
"source": "teamtailor",
"tenant": "klarna",
"title": "Engineering Manager, Risk Platform",
"company": "Klarna",
"location": {
"city": "Stockholm",
"region": "AB",
"country": "SE",
"remote": false
},
"salary": {
"min": 980000,
"max": 1280000,
"currency": "SEK",
"period": "year",
"source": "explicit"
},
"employment_type": "full_time",
"posted_at": "2026-05-05T09:27:00Z",
"expires_at": null,
"apply_url": "https://career.klarna.com/jobs/...",
"description": "Klarna is hiring an Engineering Manager to lead our Risk Platform team in Stockholm - the systems that score every transaction we process ..."
}Every Teamtailor job record is returned in the same JSON shape as every other JobsPipe source. The full schema is documented in the docs.
Fields in every Teamtailor job record
FAQ
Do I need a Teamtailor X-Api-Key to use JobsPipe?+
No. JobsPipe reads only public career-site postings and doesn't use the authenticated Teamtailor API. You only need a JobsPipe key.
How fresh is Teamtailor data?+
Public Teamtailor career sites are re-crawled at least every 24 hours.
Does JobsPipe return Teamtailor's JSON:API envelope?+
No. We flatten Teamtailor's data:[{type,id,attributes,relationships}] envelope into the same flat JSON shape as every other source. You don't have to learn JSON:API parsing to read Teamtailor postings through JobsPipe.
Does JobsPipe handle Teamtailor customers on custom domains?+
Yes. Customers using career.<their-domain>.com instead of <tenant>.teamtailor.com are indexed alongside the rest.
Try Teamtailor data free - 5,000 requests/month, no credit card.
Get a free API key