Feed documentation

This documentation describes how Recruitee structures data for publishing job offers on job boards.

Job feed is generated according to the following rules:

  • Feed is available as XML file and is generated per job board
  • Only published offers are visible in the feed. They disappear when their status is changed.
  • All currently published jobs are visible in the feed.
  • Any changes made to the offer by Recruitee user will be available immediately in the feed.

XML feed attributes

<jobs>

Contains multiple <job> tags.

<job>

ElementDescriptionAdditional details
<reference>Unique job ID
<title>Job title
<company>Name of company publishing the job offer
<company_id>Recruitee company ID
<description_requirements>Full description of the job offer (offer's description and requirements)
<city>City from the where the job is located, taken from first job location on the list
<street>Street where the job is located, taken from first job location on the listCan be null
<country>Offer's country code, taken from first job location on the listISO 3166
<state>Offer's state code, taken from first job location on the listISO 3166, can be null
<postal_code>Offers's postal / zip code, taken from first job location on the listCan be null
<locations>Contains a list of job locationsMore details
<hybrid>Indicates if a job is hiring applicants for hybrid (on-site and remote) work typeBoolean: true, false
<on_site>Indicates if a job is hiring on-site applicantsBoolean: true, false
<remote>Indicates if a job is hiring remote applicantsBoolean: true, false
<education>Indicates the required level of educationPossible values
<experience>Indicates the required level of experiencePossible values
<contract_type>Type of employment contractPossible values
<category>Job categoryPossible values
<min_hours>Minimum hours per weekCan be null
<max_hours>Maximum hours per weekCan be null
<salary>Salary detailsCan be null
More details
<url>The job url on Recruitee career site, contains job board referrer
<apply_url>Link to the job application form on Recruitee career site, contains job board referrer
<posted>Date when job was added to the feedISO 8601
<updated>Date of job's lat updateISO 8601
<translations>Existing title, description, and requirements translations.More details

Locations

This is an advanced node, please make sure you are aware of all the edge-cases before implementation. This node will always exist and will contain a list of locations the job is assigned to in a form of multiple <location> nodes.

There will be at least one location node. The first <location> node is also a default location and its child nodes are reflected in the first level nodes <city>, <street>, <country>, <state>, <postal_code>

<location> node consists of the following elements:

  1. <country>,
  2. <state>,
  3. <city>,
  4. <street>,
  5. <postal_code>,
  6. <translations>

Similarly to the first level Translations node, it contains translated values for location elements: <city>, <street> and <postal_code>.

Example of job with two locations with English and Italian translations:

<locations>
  <location>
    <country><![CDATA[ IT ]]></country>
    <state><![CDATA[ 62 ]]></state>
    <city><![CDATA[ Rome ]]></city>
    <street><![CDATA[ Dante Street ]]></street>
    <postal_code><![CDATA[ 11-234 ]]></postal_code>
    <translations>
      <it>
        <city><![CDATA[ Roma ]]></city>
        <street><![CDATA[ via Dante ]]></street>
        <postal_code><![CDATA[ 11-234 ]]></postal_code>
      </it>
      <en>
        <city><![CDATA[ Rome ]]></city>
        <street><![CDATA[ Dante Street ]]></street>
        <postal_code><![CDATA[ 11-234 ]]></postal_code>
      </en>
    </translations>
  </location>
  <location>
    <country><![CDATA[ IT ]]></country>
    <state><![CDATA[ 25 ]]></state>
    <city><![CDATA[ Milan ]]></city>
    <street><![CDATA[ Course Porta Vittoria 6 ]]></street>
    <postal_code><![CDATA[ 20122 ]]></postal_code>
    <translations>
      <it>
        <city><![CDATA[ Milano ]]></city>
        <street><![CDATA[ Corso di Porta Vittoria 6 ]]></street>
        <postal_code><![CDATA[ 2011 Milano MI ]]></postal_code>
      </it>
      <en>
        <city><![CDATA[ Milan ]]></city>
        <street><![CDATA[ Course Porta Vittoria 6 ]]></street>
        <postal_code><![CDATA[ 20122 ]]></postal_code>
      </en>
    </translations>
  </location>
</locations>

Not all Recruitee customers use, or have access to, multilang so <translations> should only be used as an improvement to the feed, but not the basis.

Job details options

Education

Possible values
high school coursework
high school or equivalent
certification
vocational
college coursework completed
associate degree
bachelor's degree
master's degree
doctorate
professional

Experience

Possible values
student (high school)
student (college)
entry level
mid level
experienced
manager
senior manager / supervisor
executive
senior executive

Contract Type

Possible values
full-time
full-time permanent
full-time fixed-term
part-time
part-time permanent
part-time fixed-term
part-time minijob
temporary
contract
freelance
internship
apprenticeship
seasonal
volunteer

Category

Possible values
accounting
administrative and clerical
advertising
agriculture
architecture
arts and entertainment
automotive
banking
biotech, pharma, r&d
cleaning
construction
consulting
customer service, call center
design and creative
education and training
energy
engineering
finance
government and nonprofit
healthcare
hospitality
information technology
insurance
internet and software
legal
leisure
logistics and transportation
management
manufacturing and production
marketing and pr
other
procurement and trade
property
publishing and editorial
recruitment and hr
retail
sales
science
security and safety
technical
telecommunication
tourism
translation services

Salary

This is a node that consists of four elements:

  1. <min_salary>,
  2. <max_salary>,
  3. <period>,
  4. <currency>,
ElementDescriptionAdditional details
<min_salary>Minimum salary offered for the jobCan be null
<max_salary>Maximum salary offered for the jobCan be null
<period>Salary periodPossible values: hour, day, week, month, year.
Can be null
<currency>Salary currencyCan be null, but only if both <min_salary> and <max_salary> are null

Translations

This is an advanced node, please make sure you are aware of all the edge-cases before implementation. This node will always exist and always have three elements:

  1. <primary_lang_code>,
  2. <title>,
  3. <description_requirements>.

Nodes within elements 2 and 3 are dynamic and might have different elements, but always at least one - one that is matching the <primary_lang_code>.

Example of an offer written in Italian, that also has description in English:

<translations>
  <primary_lang_code><![CDATA[it]]></primary_lang_code>
  <title>
    <en><![CDATA[Pharmacy field service]]></en>
    <it><![CDATA[Servizio esterno di farmacia]]></it>
  </title>
  <description_requirements>
    <en><![CDATA[<p>Description</p><p>Requirements</p>]]></en>
    <it><![CDATA[<p>Descrizione</p><p>Requisiti</p>]]></it>
  </description_requirements>
</translations>

Not all Recruitee customers use, or have access to, multilang so <translations> should only be used as an improvement to the feed, but not the basis.

Credentials

If a job board supports or requires credentials for posting offers, feed will return them in ` node with list of dynamic elements based on the job board's credentials structure. Credentials structure is set up by Recruitee based on the information provided by the partner.

Example: Acme job board requires company ID and a secret token for posting a job offer. When a posting is published, feed will show the credentials element that were used for posting in the following nodes:

<credentials>
	<acme_company_id>
		<![CDATA[ 12323 ]]>
	</acme_company_id>
	<acme_secret_token>
		<![CDATA[ E6cs5SYwRlCqQUh7pYP1PSU98NETqZDXetVcLVsD44 ]]>
	</acme_secret_token>
</credentials>

If your job board supports or requires credentials for posting offers, contact us.


What’s Next

See example XML feed