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>
<jobs>
Contains multiple <job>
tags.
<job>
<job>
Element | Description | Additional 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 list | Can be null |
<country> | Offer's country code, taken from first job location on the list | ISO 3166 |
<state> | Offer's state code, taken from first job location on the list | ISO 3166, can be null |
<postal_code> | Offers's postal / zip code, taken from first job location on the list | Can be null |
<locations> | Contains a list of job locations | More details |
<hybrid> | Indicates if a job is hiring applicants for hybrid (on-site and remote) work type | Boolean: true , false |
<on_site> | Indicates if a job is hiring on-site applicants | Boolean: true , false |
<remote> | Indicates if a job is hiring remote applicants | Boolean: true , false |
<education> | Indicates the required level of education | Possible values |
<experience> | Indicates the required level of experience | Possible values |
<contract_type> | Type of employment contract | Possible values |
<category> | Job category | Possible values |
<min_hours> | Minimum hours per week | Can be null |
<max_hours> | Maximum hours per week | Can be null |
<salary> | Salary details | Can 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 feed | ISO 8601 |
<updated> | Date of job's lat update | ISO 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:
<country>
,<state
>,<city>
,<street>
,<postal_code>
,<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:
<min_salary>
,<max_salary>
,<period>
,<currency>
,
Element | Description | Additional details |
---|---|---|
<min_salary> | Minimum salary offered for the job | Can be null |
<max_salary> | Maximum salary offered for the job | Can be null |
<period> | Salary period | Possible values: hour, day, week, month, year. Can be null |
<currency> | Salary currency | Can 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:
<primary_lang_code>
,<title>
,<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.
Updated 5 days ago