Adderley Data Apify Store

Adderley Data / Guides

Recruitee job board API: the offers endpoint, its fields and the 2027 token deadline

Every Recruitee careers site, {company}.recruitee.com, is backed by Recruitee's Careers Site API: GET https://{company}.recruitee.com/api/offers/ returns each published offer, its text and its pay in one response. Recruitee documents it for companies that build their own careers page. On 12 October 2026 it still answered without a key, but Recruitee's reference sets 10 February 2027 as the date calls without a token stop working. This page covers what comes back, what we measured, and what the deadline changes.

The request

curl "https://jobs.recruitee.com/api/offers/"

jobs is the Recruitee name behind the careers site of Tellent, the company that makes Recruitee (its documentation calls the product Tellent Recruitee). The reference at docs.recruitee.com (read 12 October 2026) says the endpoint "returns a collection of published company jobs" and documents two query parameters, department and tag, each a name to filter by, and no paging: the whole board is one response. /api/offers/{id} returns one offer, wrapped as {"offer": {…}}. Checked against the live endpoint on 12 October 2026:

  • Unknown names and ids answer HTTP 404 with {"error":"Not Found"}, for a company name nobody uses and for an offer id the board does not have.
  • The filter works on the name as written. ?department=1.%20R%26D returned the 6 of Tellent's 13 offers filed under "1. R&D".
  • The name is not the domain. Tellent's offers link to careers.tellent.com, while the API answers at jobs.recruitee.com. A company's own careers domain does not reliably lead back to its Recruitee name: of two custom domains we read on 24 September, one served /api/offers/ and the other answered 404.
  • Trial accounts. A big brand's name can belong to someone's trial account that holds only Recruitee's template offer, titled "Senior Marketer (Sample)" and tagged Sample (seen on two such names on 25 September). Drop those before you count.

What an offer holds

Every offer carries the same 56 keys: all 13 on Tellent's board on 12 October, and 38 offers across three boards on 24 September. The ones a jobs table needs, and their habits:

  • Pay is structured. salary is {"min", "max", "currency", "period"}, with the amounts as strings, such as "96000". All four null, or "0" and "0", mean no pay is stated. We have seen month and year live, and Recruitee's own example uses hour.
  • Three arrangement flags. remote, hybrid and on_site are separate booleans and more than one can be true. On Tellent's board: hybrid only 5, remote and hybrid 5, remote only 1, hybrid and on-site 1, all three 1.
  • Places. city, state_name, postal_code, country_code and country describe the first place; locations lists every place, each with the company's own label in name. When remote is true, location reads Remote job while the other fields still name an office. Labels are not places: Tellent files "Poland (Remote)" under Poznań and "Remote" under Amsterdam, so three of its offers list the same city twice under two labels.
  • Dates. published_at, updated_at, created_at and close_at are written as 2026-10-05 13:25:03 UTC. close_at was null on every offer we have read: the 13 on 12 October and the 38 on 24 September.
  • Text. description and requirements are HTML. A company can put everything in the first: requirements was empty on all 13 of Tellent's offers.
  • Employment type is a code, employment_type_code: fulltime_permanent and fulltime_fixed_term on Tellent's board, fulltime and internship on others.

The rest is the application form's settings (options_*, open_questions), images, social sharing copy and mailbox_email, an address that forwards applications to the hiring team. A jobs table has no use for any of it.

The token from 10 February 2027

Recruitee's authentication page (read 12 October 2026, last updated about two months earlier) gives 10 February 2027 as the "deadline for introducing the token to calls" and says calls without it will answer HTTP 401. The token goes in a header, X-Careers-Sites-Token. A user inside the company's own Recruitee account creates it, under Settings, Apps and plugins, Careers API tokens, and it covers that one account. The page also says the XML offer feed and the jobs widget are not covered by the token; the feed's own documentation describes it as generated per job board, for Recruitee's job board partners.

For a company reading its own offers onto its own site, that is a header to add. For anyone reading many companies' boards, it means one token per company, each from someone inside that company. Until the deadline the endpoint answers as described on this page; we measured that on 12 October 2026, and our daily checks read a Recruitee board every morning.

Measured on Tellent's own careers site

Tellent's board listed 13 offers on Monday 12 October 2026, read in one request in 3 seconds, at the first attempt (run OK0cFVVT16h3sKfXz):

Tellent's careers site on Recruitee, 13 offers, 12 October 2026
FactOffers with itNotes
Pay range13 of 13All yearly and in euros, from €39,000–€45,000 to €96,000–€105,000
Country13 of 13The Netherlands 10, Poland 2, Germany 1, by first place
More than one place7 of 13Up to four places on one offer
Work arrangement13 of 1312 tick hybrid, 7 remote, 2 on-site
Employment type13 of 13Full-time fixed-term 9, full-time permanent 4
updated_at after published_at11 of 13Published between 23 July and 6 October 2026

Pay on every offer is Tellent's doing: the field can be empty, in the forms listed above.

Where it stops

Until February the endpoint is about as easy as a job board source gets: one request per company, text and pay included. Watching companies over time still leaves work:

  • Change detection. Recruitee does not document what moves updated_at, so a change to a field or to the text is found most safely by comparing them with the last read.
  • Cleaning. Sample offers on trial accounts, repeated places, and the arrangement flags, which need a rule when more than one is true.
  • The deadline. From 10 February 2027 a board is readable only with that company's token, by Recruitee's own account of it.

Recruitee Jobs Scraper reads the endpoint as it answers today: one request per board, Recruitee's sample offers dropped, every place kept, and pay taken from the structured field. In incremental mode it compares each offer's fields and text with the last run and returns, and charges for, only offers that are new, changed, back or gone; it does not rely on updated_at. The token deadline applies to it as to anyone else. Its page has the price and every field. For Recruitee beside fourteen other systems in one table, see the measured run of the Career Site Jobs Scraper.

The same reference for other systems

Published 2026-10-12.