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)
<description>Offer's description
<requirements>Offer's requirements
<city>City where the job is located
<street>Street where the job is locatedCan be null
<country>Offer's country codeISO 3166
<state>Offer's state codeISO 3166, can be null
<postal_code>Offers's postal / zip codeCan be null
<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

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
part-time
temporary
contract
internship
seasonal
volunteer

Category

Possible values
accountancy
administrative and clerical
agriculture
architecture
arts and entertainment
automotive
banking
biotech, pharma, r&d
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
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 five elements:

  1. <primary_lang_code>,
  2. <title>,
  3. <description_requirements>,
  4. <description>,
  5. <requirements>.

Nodes within elements 2-5 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>
  <description>
    <en><![CDATA[<p>Description</p>]]></en>
    <it><![CDATA[<p>Descrizione</p>]]></it>
  </description>
  <requirements>
    <en><![CDATA[<p>Requirements</p>]]></en>
    <it><![CDATA[<p>Requisiti</p>]]></it>
  </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