XML Documentation

Introduction

HerFuture can automatically import your vacancies via an XML feed. Below you will find the specification that the XML must meet.

How it works

  • You host an XML feed at a public URL (no login required) and add that URL in your HerFuture company settings.
  • We read the feed once a week, every Monday morning.
  • Imported jobs arrive unpublished. The HerFuture team reviews and publishes them within your job slot limit.
  • Jobs are matched on <id>, so each weekly sync updates the jobs we already have from you rather than duplicating them.

Example

A <jobs> root element containing one <job> element per vacancy.

Wrapping values in <![CDATA[...]]> is recommended (it lets you use & and quotes freely), but plain text works too. Avoid a bare < in your description text, write "less than" instead (e.g. "less than 3 years", not "< 3 years").

<?xml version="1.0" encoding="UTF-8"?>
<jobs>
  <job>
    <id><![CDATA[REQ-1001]]></id>
    <title><![CDATA[Junior Java Developer]]></title>
    <category><![CDATA[full-time]]></category>
    <location><![CDATA[Amsterdam]]></location>
    <description><![CDATA[Build scalable APIs in Java and Spring Boot.]]></description>
    <education><![CDATA[HBO, WO - Bachelor]]></education>
    <languages><![CDATA[EN, NL]]></languages>

    <!-- optional -->
    <experience><![CDATA[zero-to-two]]></experience>
    <salary_min><![CDATA[2500]]></salary_min>
    <salary_max><![CDATA[3000]]></salary_max>
    <salary_currency><![CDATA[EUR]]></salary_currency>
    <application_closing_date><![CDATA[2026-09-30]]></application_closing_date>
    <apply_url><![CDATA[https://example.com/careers/1001]]></apply_url>
  </job>
</jobs>

XML tag specification

If any required field is missing or invalid, that job is skipped, the rest of your feed still imports.

Required fields

Field Description
id Your unique identifier for the vacancy. Must be stable, we use it to update the same job each week. Needs to be unique within your own feed.
title Job title up to 60 characters.
category One of: internship, traineeship, full-time, part-time. Not case-sensitive.
location City where the job is based, up to 25 characters.
description The job description.
education One or more of: HBO, WO - Bachelor, WO - Master, comma-separated, case-insensitive.
languages One or more two-letter language codes, comma-separated (for example EN, NL). At least one valid code is required.

Optional fields

Field Description
experience One of: zero-to-two, two-to-five, five-plus. Strongly recommended, without it we cannot target the job at the right experience level, and it will be shown to entry-level candidates by default.
salary_min / salary_max Gross monthly amounts, whole numbers, no currency symbols. salary_max should be higher than salary_min.
salary_currency EUR or GBP. Defaults to EUR when you provide a salary without a currency.
application_closing_date Date the vacancy closes, in YYYY-MM-DD format.

Got questions or need help?

We're here for you! Reach out to us at hello@herfuture.nl and we'll be happy to assist you.

HerFuture on the go