Teamtailor Jobs Scraper (FreshActors)
Pricing
from $20.00 / 1,000 company jobs fetcheds
Teamtailor Jobs Scraper (FreshActors)
Reliable, always-fresh job postings from any Teamtailor career site. Public JSON feed, no login — full descriptions in a single call. Monitored daily. By FreshActors.
Pricing
from $20.00 / 1,000 company jobs fetcheds
Rating
0.0
(0)
Developer
Freshactors
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Teamtailor Jobs Scraper — Every Career Site as Clean JSON (No API Key)
Scrape Teamtailor career-site job postings from any company's public board into clean, structured JSON — title, full description, locations, country, posting date, and apply URL. No account, no login, no API key. Point it at a list of Teamtailor companies (or career-site URLs) and get a normalized jobs feed back.

✅ Last verified working: 2026-06-10. Monitored by an automated daily canary. When Teamtailor changes its public feed, we patch fast and log it in the changelog below — so your hiring-data pipeline doesn't silently break.
Why this Teamtailor scraper
Teamtailor powers the career sites of thousands of companies — it's especially strong among Nordic and European scale-ups (think Polestar- and Oatly-class brands). Every career site serves a public JSON feed of its published jobs — no key, no login, no browser. Even better: a single request returns the company's full published board, descriptions included — verified on boards of 40+ roles, no pagination to manage. The catch is the usual one: the moment the response shape shifts, a naive scraper silently returns nothing. This actor is built to stay working:
- One normalized schema — the same stable job record as our Greenhouse & Lever, Workable, SmartRecruiters, and Recruitee scrapers, so Teamtailor companies slot into the exact same pipeline with no special-casing.
- Full descriptions, in one call — each posting's complete description comes back cleaned to plain text. No extra requests, so it's fast and cheap.
- Custom domains supported — many Teamtailor customers run their careers page on their own domain (e.g.
careers.example.com). Paste the URL; it works the same. - Per-company isolation + retries — a dead, renamed, or private board is skipped and logged; it never crashes the run. Transient errors retry with backoff.
- Stable, versioned output (
_schemaVersion) + a daily canary — that "last verified working" date is real.
What data you get
Each row is one normalized job posting. Fields Teamtailor's public feed doesn't provide come back as null, never missing, so your downstream schema stays predictable.
| Field | Type | Description |
|---|---|---|
_type | string | Always job. |
_schemaVersion | string | Output schema version. |
_source | string | Always teamtailor. |
company | string | Company identifier (the {name}.teamtailor.com subdomain, or the custom-domain host you passed). |
jobId | string | Teamtailor posting ID. |
title | string | Job title. |
department | null | Not exposed in Teamtailor's public feed — always null. |
team | null | Not exposed — always null. |
location | string | null | Primary location ("City, Region, CC"). |
allLocations | string[] | null | Every listed location (multi-location postings supported). |
workplaceType | null | Not exposed in the feed — always null. |
commitment | null | Not exposed in the feed — always null. |
country | string | null | 2-letter country code of the first location. |
url | string | Public posting URL. |
applyUrl | string | The posting page (applications happen there). |
postedAt | string | null | Publish date (ISO). |
updatedAt | null | Not exposed in the feed — always null. |
descriptionText | string | null | Full description as clean text (when includeDescription is on). |
_scrapedAt | string | ISO timestamp this record was fetched. |
Use cases
- Sales intelligence / hiring-signal tracking. Which companies are hiring for which roles — a leading indicator of growth and budget. Especially useful for the Nordic/European scale-up segment Teamtailor dominates, which US-centric ATS datasets miss.
- Recruiting & talent sourcing. Aggregate live openings across target employers into one table — same schema as our other four ATS scrapers, so multi-ATS coverage needs zero special-casing.
- Job boards & aggregators. Need to scrape Teamtailor jobs into a uniform feed? Point it at your company list and ingest normalized records on a schedule.
- Market & labor research. Track posting volume, locations, and role mix across a portfolio or market over time (
postedAt,country,allLocations).
Input
| Field | Type | Required | Notes |
|---|---|---|---|
companies | string[] | ✅ | Teamtailor subdomains (polestar), {name}.teamtailor.com URLs, or full career-site URLs — custom domains work too. One per row. |
includeDescription | boolean | — | Include the full description text. Default true. It comes in the same request, so turning it off only trims output size (no change to cost or speed). |
maxJobsPerCompany | integer | — | Cap per company (1–5000). Default 100 — plenty for a first run. |
{"companies": ["polestar"],"includeDescription": true,"maxJobsPerCompany": 100}
Output sample
A real record from the default run (Polestar's board is multi-country and multi-language — this posting is Danish):
{"_type": "job","_schemaVersion": "1.0","_source": "teamtailor","company": "polestar","jobId": "7610594","title": "Customer Engagement Advisor | Denmark","department": null,"team": null,"location": "Copenhagen, Nordics & UK, DK","allLocations": ["Copenhagen, Nordics & UK, DK"],"workplaceType": null,"commitment": null,"country": "DK","url": "https://polestar.teamtailor.com/jobs/7610594-customer-engagement-advisor-denmark","applyUrl": "https://polestar.teamtailor.com/jobs/7610594-customer-engagement-advisor-denmark","postedAt": "2026-04-21T14:35:06.000Z","updatedAt": null,"descriptionText": "Din mulighed \nVi leder lige nu efter en Customer Engagement Advisor, der skal indgå i vores Customer Engagement Team...","_scrapedAt": "2026-06-10T11:29:56.613Z"}
Use with AI agents (MCP)
This scraper is callable as a tool by AI agents via the Apify MCP server — so assistants like Claude, Cursor, and VS Code can run it and use the structured results mid-conversation, with no glue code.
Simplest path: in a recent Claude Desktop, add the hosted server https://mcp.apify.com under Settings → Connectors and authorize with OAuth. For any config-file client:
{"mcpServers": {"apify": {"command": "npx","args": ["-y", "@apify/actors-mcp-server"],"env": { "APIFY_TOKEN": "YOUR_APIFY_TOKEN" }}}}
Then ask in plain language, e.g. "List the open jobs on Polestar's Teamtailor career site with titles, locations, and apply links." — the agent calls freshactors/teamtailor-jobs-scraper with the right input and reads back the JSON. Full setup: Apify MCP docs.
Pricing
Pay-per-event — no subscription. You pay only for the boards you fetch and the postings you receive:
| Event | Price (USD) | When it fires |
|---|---|---|
| Company jobs fetched | $0.02 | Once per company career site successfully fetched (with ≥1 job). |
| Job posting fetched | $0.0005 | Once per job posting returned. |
Worked example — "how much do 100 results cost?" Scrape 5 companies for 100 postings total:
- Boards: 5 × $0.02 = $0.10
- Postings: 100 × $0.0005 = $0.05
- Total: $0.15 for 100 normalized jobs (with full descriptions) across 5 companies.
(Apify platform usage is billed separately per their standard rates.)
FAQ
Is scraping Teamtailor jobs legal? This actor reads public, non-personal job-posting data from companies' own public career sites — the same data those pages serve to any visitor. No login, no personal data. Use responsibly and in line with applicable terms and laws.
Do I need an API key? No. There's no Teamtailor API key, account, or login — it reads the public feed every career site already serves.
How do I find a company's Teamtailor identifier?
It's the subdomain in the careers URL — **polestar**.teamtailor.com. If the company runs its careers page on its own domain (e.g. careers.example.com powered by Teamtailor), just paste that URL — custom domains are fully supported.
How many jobs can one call return?
The feed returns the company's full published board in a single request — verified on boards of 40+ roles, no pagination needed. (If Teamtailor ever introduces feed pagination, the actor already follows it automatically.) Use maxJobsPerCompany to cap volume and cost.
Does it include full job descriptions?
Yes — includeDescription defaults to true, returning each posting's description as clean text. It comes in the same request, so turning it off only trims output size; it doesn't change cost or speed.
Why are department and commitment always null?
Teamtailor's public feed doesn't expose them. We keep the keys (as null) so this actor stays drop-in compatible with our other ATS scrapers' shared schema — your pipeline never special-cases a missing column.
Can I scrape many companies at once?
Yes — pass as many subdomains/URLs in companies as you need. Each board is fetched in isolation; a dead or private board is skipped, not fatal.
How often is the data updated? It's live — every run fetches the companies' current public boards. The actor itself is monitored by a daily canary so parsing stays correct as the feed evolves.
Other FreshActors tools
| FreshActors actor | What it scrapes |
|---|---|
| Greenhouse & Lever Jobs Scraper | Greenhouse + Lever — normalized job postings |
| Workable Jobs Scraper | Workable — normalized job postings, full descriptions |
| SmartRecruiters Jobs Scraper | SmartRecruiters — normalized job postings, full descriptions |
| Recruitee Jobs Scraper | Recruitee — normalized job postings, full descriptions + salary |
| Personio Jobs Scraper | Personio — normalized job postings, departments + seniority |
| App Store Scraper | Apple App Store — app details, search, reviews |
| Google Play Scraper | Google Play — app details + reviews |
| Microsoft Store Scraper | Microsoft Store — app details, rating windows, search, reviews |
| VS Code Marketplace Scraper | VS Code extensions — install/trending stats, search, reviews |
| Shopify App Store Scraper | Shopify App Store — app details, reviews, discovery |
| Redfin Scraper | Redfin — US real-estate listings |
Reliability
A scheduled daily canary scrapes a known Teamtailor board, validates the normalized schema, and alerts the moment a parse changes. When Teamtailor shifts its public feed, we patch the same day and record it in the changelog below. Every record carries _schemaVersion and _scrapedAt.
Changelog
- 2026-06-10 — v1.0 launch. Single-call public JSON feed (full board + descriptions per request, verified on 40+ -role boards), normalized schema shared with our four other ATS scrapers, custom-domain support, per-company isolation, daily canary monitoring.
Legal note: Reads public, non-personal job-posting data from companies' own public career sites (the same data those pages serve to any visitor). No login, no personal data. Use responsibly and in line with applicable terms and laws.
Found a problem? Open an issue on the actor — issues are answered fast.