---
updatedAt: 2025-06-12T11:23:49.000Z
---

Fetch the complete documentation index at: https://docs.recruitee.com/llms.txt. Use this file to discover all available pages before exploring further. Append .md to any documentation page URL to get its markdown version.

# 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>`

<Table align={["left","left","left"]}>
  <thead>
    <tr>
      <th>
        Element
      </th>

      <th>
        Description
      </th>

      <th>
        Additional details
      </th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        `<reference>`
      </td>

      <td>
        Unique job ID
      </td>

      <td>

      </td>
    </tr>

    <tr>
      <td>
        `<title>`
      </td>

      <td>
        Job title
      </td>

      <td>

      </td>
    </tr>

    <tr>
      <td>
        `<company>`
      </td>

      <td>
        Name of company publishing the job offer
      </td>

      <td>

      </td>
    </tr>

    <tr>
      <td>
        `<company_id>`
      </td>

      <td>
        Recruitee company ID
      </td>

      <td>

      </td>
    </tr>

    <tr>
      <td>
        `<description_requirements>`
      </td>

      <td>
        Full description of the job offer (offer's description and requirements)
      </td>

      <td>

      </td>
    </tr>

    <tr>
      <td>
        `<city>`
      </td>

      <td>
        City from the where the job is located, taken from first job location on the list
      </td>

      <td>

      </td>
    </tr>

    <tr>
      <td>
        `<street>`
      </td>

      <td>
        Street where the job is located, taken from first job location on the list
      </td>

      <td>
        Can be `null`
      </td>
    </tr>

    <tr>
      <td>
        `<country>`
      </td>

      <td>
        Offer's country code, taken from first job location on the list
      </td>

      <td>
        ISO 3166
      </td>
    </tr>

    <tr>
      <td>
        `<state>`
      </td>

      <td>
        Offer's state code, taken from first job location on the list
      </td>

      <td>
        ISO 3166, can be `null`
      </td>
    </tr>

    <tr>
      <td>
        `<postal_code>`
      </td>

      <td>
        Offers's postal / zip code, taken from first job location on the list
      </td>

      <td>
        Can be `null`
      </td>
    </tr>

    <tr>
      <td>
        `<locations>`
      </td>

      <td>
        Contains a list of job locations
      </td>

      <td>
        [More details](https://docs.recruitee.com/docs/feed#locations)
      </td>
    </tr>

    <tr>
      <td>
        `<hybrid>`
      </td>

      <td>
        Indicates if a job is hiring applicants for hybrid (on-site and remote) work type
      </td>

      <td>
        Boolean: `true`, `false`
      </td>
    </tr>

    <tr>
      <td>
        `<on_site>`
      </td>

      <td>
        Indicates if a job is hiring on-site applicants
      </td>

      <td>
        Boolean: `true`, `false`
      </td>
    </tr>

    <tr>
      <td>
        `<remote>`
      </td>

      <td>
        Indicates if a job is hiring remote applicants
      </td>

      <td>
        Boolean: `true`, `false`
      </td>
    </tr>

    <tr>
      <td>
        `<education>`
      </td>

      <td>
        Indicates the required level of education
      </td>

      <td>
        [Possible values](https://docs.recruitee.com/docs/feed#education)
      </td>
    </tr>

    <tr>
      <td>
        `<experience>`
      </td>

      <td>
        Indicates the required level of experience
      </td>

      <td>
        [Possible values](https://docs.recruitee.com/docs/feed#experience)
      </td>
    </tr>

    <tr>
      <td>
        `<contract_type>`
      </td>

      <td>
        Type of employment contract
      </td>

      <td>
        [Possible values](https://docs.recruitee.com/docs/feed#contract-type)
      </td>
    </tr>

    <tr>
      <td>
        `<category>`
      </td>

      <td>
        Job category
      </td>

      <td>
        [Possible values](https://docs.recruitee.com/docs/feed#category)
      </td>
    </tr>

    <tr>
      <td>
        `<min_hours>`
      </td>

      <td>
        Minimum hours per week
      </td>

      <td>
        Can be `null`
      </td>
    </tr>

    <tr>
      <td>
        `<max_hours>`
      </td>

      <td>
        Maximum hours per week
      </td>

      <td>
        Can be `null`
      </td>
    </tr>

    <tr>
      <td>
        `<salary>`
      </td>

      <td>
        Salary details
      </td>

      <td>
        Can be `null`\
        [More details](https://docs.recruitee.com/docs/feed#salary)
      </td>
    </tr>

    <tr>
      <td>
        `<url>`
      </td>

      <td>
        The job url on Recruitee career site, contains job board referrer
      </td>

      <td>

      </td>
    </tr>

    <tr>
      <td>
        `<apply_url>`
      </td>

      <td>
        Link to the job application form on Recruitee career site, contains job board referrer
      </td>

      <td>

      </td>
    </tr>

    <tr>
      <td>
        `<posted>`
      </td>

      <td>
        Date when job was added to the feed
      </td>

      <td>
        ISO 8601
      </td>
    </tr>

    <tr>
      <td>
        `<updated>`
      </td>

      <td>
        Date of job's lat update
      </td>

      <td>
        ISO 8601
      </td>
    </tr>

    <tr>
      <td>
        `<translations>`
      </td>

      <td>
        Existing title, description, and requirements translations.
      </td>

      <td>
        [More details](https://docs.recruitee.com/docs/feed#translations)
      </td>
    </tr>
  </tbody>
</Table>

## 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](https://docs.recruitee.com/docs/feed#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:

```xml
<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](https://support.recruitee.com/en/articles/2613680-localize-recruitee-to-work-with-multiple-languages) 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>`,

<Table align={["left","left","left"]}>
  <thead>
    <tr>
      <th>
        Element
      </th>

      <th>
        Description
      </th>

      <th>
        Additional details
      </th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        `<min_salary>`
      </td>

      <td>
        Minimum salary offered for the job
      </td>

      <td>
        Can be `null`
      </td>
    </tr>

    <tr>
      <td>
        `<max_salary>`
      </td>

      <td>
        Maximum salary offered for the job
      </td>

      <td>
        Can be `null`
      </td>
    </tr>

    <tr>
      <td>
        `<period>`
      </td>

      <td>
        Salary period
      </td>

      <td>
        Possible values: hour, day, week, month, year.\
        Can be `null`
      </td>
    </tr>

    <tr>
      <td>
        `<currency>`
      </td>

      <td>
        Salary currency
      </td>

      <td>
        Can be `null`, but only if both `<min_salary>` and `<max_salary>` are `null`
      </td>
    </tr>
  </tbody>
</Table>

## 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:

```xml
<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](https://support.recruitee.com/en/articles/2613680-localize-recruitee-to-work-with-multiple-languages) 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 `<credentials>` 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:

```xml
<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.