XML Feed Specification

Our XML Feed Specification has been created as a guide for job boards looking to upload their listings onto the WhatJobs? database.

Your XML feed must match WhatJobs? desired format for it to work with our platform. Please ensure you have followed the instructions below, as any feeds that do not work will be rejected. When your XML Feed is ready, please submit it using our xml submission form.

Submit XML

XML Feed Format

You should create UTF-8 XML feed in the format specified by our job insertion technical specifications. Below are some simple guidelines for preparing an XML feed in order to have your job adverts appearing on WhatJobs? If you would like additional information about the XML format, please check Wikipedia. The UTF-8 XML file has one 'jobs' tag, and one or more 'job' elements. Each 'job' element has obligatory and optional fields.

Obligatory Fields

These fields must be included in the feed as they contain the minimum amount of information that our system requires to include your job adverts on WhatJobs?.

  • ID: Identification of the job on your website (numeric or alphanumeric, however it must be unique).
  • URL: Link to the job listing on your website.
  • TITLE: Job title.
  • LOCATION: Job location, where the job is located.
  • SALARY: Salary for the job.
  • CATEGORY: Category a particular job belongs to, i.e. Legal, Engineering, Sales etc.
  • DESC: Description of the job (minimum of 300 characters). Please make your job descriptions as detailed as possible for the best conversation rate.
  • COMPANY NAME: Hiring company name.
  • COUNTRY: We require all jobs to be based in United States. Please make sure 'country' tags contain appropriate value. Acceptable values are: US, USA, United States, America
  • LANGUAGE: Two digit language ISO Code. To inform us about the language of the job listing

Optional Fields

You don't have to fill out the optional fields. However, if you do have the information, please include it.WhatJobs? algorithm prioritises higher-quality jobs, so including more information optimises your listing and will increase conversion rates.

  • JOB-TYPE: Type of the job (permanent, temporary, contract, placement-student and seasonal).
  • JOB-STATUS: Status of the job (full-time, part-time etc).
  • ZIPCODE: Zipcode.
  • REFERENCE: Can be a numeric or an alphanumeric value.
  • EXPIRATION-DATE: Expiration date of the job (format: YYYY-MM-DD)

Your XML feed should look like this:

              <?xml version="1.0" encoding="UTF-8"?>

              <jobs xmlns="https://whatjobs.com/XMLSchema"

                  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

                  xsi:schemaLocation="https://whatjobs.com/XMLSchema https://whatjobs.com/XMLSchema.xsd ">

               <job>

                 <id><![CDATA[...]]></id>

                 <url><![CDATA[...]]></url>

                 <title><![CDATA[...]]></title>

                 <desc><![CDATA[...]]></desc>

                 <location><![CDATA[...]]></location>

                 <salary><![CDATA[...]]></salary>

                 <job-type><![CDATA[...]]></job-type>

                 <job-status><![CDATA[...]]></job-status>

                 <zipcode><![CDATA[...]]></zipcode>

                 <country><![CDATA[...]]></country>

                 <language><![CDATA[...]]></language>

                 <reference><![CDATA[...]]></reference>

                 <company-name><![CDATA[...]]></company-name>

                 <expiration-date><![CDATA[...]]></expiration-date>

               </job>

              </jobs>
                    

Example XML feed:

              <?xml version="1.0" encoding="UTF-8"?>

              <jobs xmlns="https://whatjobs.com/XMLSchema"

                  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

                  xsi:schemaLocation="https://whatjobs.com/XMLSchema jobs.xsd ">

               <job>

                 <id><![CDATA[123456]]></id>

                 <url><![CDATA[http://www.ajobsite.com/viewjob/123456/sales-team-leader]]></url>

                 <title><![CDATA[Sales Team Leader]]></title>

                 <desc><![CDATA[We are looking for an energetic experienced Telesales person to join a growing Company based in oxford. The Successful candidate must have a minimum of 5 years experience of leading a telesales team. You must have impressive leadership skills and the ability to consistently motivate your team. The successful candidate must lead by example and have the ability to coach and support the team to achieve targets. You must be confident with a great person...]]></desc>

                 <location><![CDATA[England, South East, Oxfordshire, Oxford]]></location>

                 <salary><![CDATA[10000 to 20000 annum]]></salary>

                 <job-type><![CDATA[permanent]]></job-type>

                 <job-status><![CDATA[full-time]]></job-status>

                 <zipcode><![CDATA[...]]></zipcode>

                 <country><![CDATA[...]]></country>

                 <language><![CDATA[...]]></language>

                 <reference><![CDATA[sales-i2535]]></reference>

                 <company-name><![CDATA[Balliol College]]></company-name>

                 <expiration-date><![CDATA[2011-05-21]]></expiration-date>

               </job>

              </jobs>
                        

Technical Specifications

Name Data type Possible Values
id string  
url string  
title string  
desc string Minimum length of 300 characters
location string  
salary string  
job-type string permanent, temporary, contract, placement-student, seasonal
job-status string full-time, part-time
zipcode string  
country string  
Language string  
reference string  
company-name string  
expiration-date date YYYY-MM-DD

XML Schema

              <?xml version="1.0" encoding="UTF-8"?>

              <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"

               targetNamespace="https://whatjobs.com/XMLSchema"

               xmlns="https://whatjobs.com/XMLSchema"

               elementFormDefault="qualified">

                 <xsd:element name="jobs" type="t-jobs"/>

               <xsd:complexType name="t-jobs">

                 <xsd:sequence>

                   <xsd:element name="job" type="t-job" maxOccurs="unbounded" minOccurs="1"/>

                 </xsd:sequence>

               </xsd:complexType>

               <xsd:complexType name="t-job">

                 <xsd:sequence>

                   <xsd:element name="id" type="xsd:string" maxOccurs="1" minOccurs="1"/>

                   <xsd:element name="url" type="xsd:string" maxOccurs="1" minOccurs="1"/>

                   <xsd:element name="title" type="xsd:string" maxOccurs="1" minOccurs="1"/>

                   <xsd:element name="desc" type="t-description" maxOccurs="1" minOccurs="1"/>

                   <xsd:element name="location" type="xsd:string" maxOccurs="1" minOccurs="1"/>

                   <xsd:element name="salary" type="xsd:string" maxOccurs="1" minOccurs="1"/>

                   <xsd:element name="job-type" type="t-job-type" maxOccurs="1" minOccurs="1"/>

                   <xsd:element name="job-status" type="t-job-status" maxOccurs="1" minOccurs="1"/>

                   <xsd:element name="zipcode" type="xsd:string" maxOccurs="1" minOccurs="0"/>

                  <xsd:element name="country" type="xsd:string" maxOccurs="1" minOccurs="0"/>

                   <xsd:element name="language" type="xsd:string" maxOccurs="1" minOccurs="0"/>

                   <xsd:element name="reference" type="xsd:string" maxOccurs="1" minOccurs="0"/>

                   <xsd:element name="company-name" type="xsd:string" maxOccurs="1" minOccurs="0"/>

                   <xsd:element name="expiration-date" type="xsd:date" maxOccurs="1" minOccurs="0"/>

                 </xsd:sequence>

               </xsd:complexType>

               <xsd:simpleType name="t-description">

                 <xsd:restriction base="xsd:string">

                   <xsd:minLength value="300"/>

                 </xsd:restriction>

               </xsd:simpleType>

               <xsd:simpleType name="t-job-type">

                 <xsd:restriction base="xsd:string">

                   <xsd:enumeration value="permanent"></xsd:enumeration>

                   <xsd:enumeration value="temporary"></xsd:enumeration>

                   <xsd:enumeration value="contract"></xsd:enumeration>

                   <xsd:enumeration value="placement-student"></xsd:enumeration>

                   <xsd:enumeration value="seasonal"></xsd:enumeration>

                 </xsd:restriction>

               </xsd:simpleType>

               <xsd:simpleType name="t-job-status">

                 <xsd:restriction base="xsd:string">

                   <xsd:enumeration value="full-time"></xsd:enumeration>

                   <xsd:enumeration value="part-time"></xsd:enumeration>

                 </xsd:restriction>

               </xsd:simpleType>

              </xsd:schema>