An XML jobs feed is a way for companies to syndicate and distribute job postings in a structured format using XML. It allows job boards, aggregators, and other sites to easily integrate job listings from a company’s careers site or applicant tracking system (ATS).
What is XML?
XML stands for Extensible Markup Language. It is a markup language that defines a set of rules for encoding documents in a format that is both human-readable and machine-readable. XML is a W3C recommendation and ISO standard that is widely used for exchanging data on the web and elsewhere.
Some key things to know about XML:
- XML uses tags (words bracketed by < >) to provide information about the data.
- Tags are not predefined like HTML tags. You can define your own tags.
- Data is enclosed within opening and closing tags like
- XML structure is stored in a Document Type Definition (DTD) or an XML Schema.
- XML files are plain text files that can be created and edited with any text editor.
So in summary, XML provides a standardized way to tag and describe data that can be understood across different systems.
What is a jobs feed?
A jobs feed (also called a job feed or job XML feed) is a specific implementation of XML for distributing job postings. Here’s how it works:
- Companies generate an XML feed of their job listings.
- Each job posting is contained within XML tags that provide metadata about that job.
- The feed file is hosted on a company’s server.
- External sites can access and import this feed to display the company’s latest job listings.
The feed allows new job postings to be automatically syndicated to different platforms. Whenever a job is added or updated in the company’s ATS, it gets included in the XML feed for downstream distribution. This eliminates manual uploads and provides a scalable way to syndicate jobs.
What are the benefits of a jobs XML feed?
Here are some of the key benefits that XML job feeds provide:
- Automated distribution – New job listings are instantly added to the feed so partners can access real-time updates rather than periodic data dumps.
- Standardized structure – XML provides a consistent, structured format for exchanging job postings.
- Machine-readability – The standardized tags make it easy for systems to parse and import XML feeds automatically.
- Flexibility – Companies can customize XML schemas to include the specific job fields/metadata they want to distribute.
- Search engine discoverability – XML feeds help search engines better crawl and index job listings.
- Syndication – Jobs can be efficiently syndicated to multiple platforms like job boards, aggregators, and other distribution partners.
By offering an XML feed, companies make it easier for job search engines, boards, and other sites to access and display postings from their ATS. This improves the reach and distribution of job listings.
What are the key elements of a jobs XML feed?
While XML is extensible and flexible, most job feeds tend to contain some core attributes that provide essential information about each job posting:
- Job title
- Job description
- Location
- Company name
- Employment type (full-time, part-time, etc.)
- Industry
- Date posted
- Application email or URL
Some other common elements you may see:
- Job ID
- Job categories or functional areas
- Salary data
- Requirements/qualifications
- Benefits
- Company descriptions
- Logos
- Hiring manager info
XML allows the feed format to be customized with whatever fields make sense for an organization. But most feeds will contain some structured metadata like the core attributes listed above.
Job title
The job title tag provides a concise headline summarizing the role.
Job description
This tag contains a more detailed narrative describing the responsibilities, qualifications, and expectations for the job in sentences/paragraphs.
Location
The geographical location(s) associated with the job, which may include the city, state/province, country, and any remote work options.
Company name
The name of the organization posting the job.
Employment type
Tags indicating whether this is a full-time, part-time, contract or other type of position.
Industry
The industry vertical or field this job relates to.
Date posted
Timestamp indicating when the job was first published.
Application email or URL
Contact information or link for applying to the job posting.
Job ID
A unique identifier for the job generated by the ATS.
Job categories
Taxonomy information categorizing the type of job (e.g. Engineering, IT, Sales, etc.)
Requirements/qualifications
Lists the skills, experience, education, and other qualifications desired in the ideal candidate.
Benefits
Details on compensation, health insurance, retirement plans, and other perks offered as part of the job.
Company descriptions
Background information about the hiring company, business, products, culture, etc.
Logos
Company logo images displayed alongside the jobs.
Hiring manager info
Names and contact details for the recruiter or hiring manager.
So in summary, XML job feeds contain tagged metadata that captures key details about open positions at a company. The specific elements can be customized as needed.
What are some common use cases for XML job feeds?
Here are some of the most popular uses of XML job feeds:
- Feeding job aggregator sites – Sites like Indeed, ZipRecruiter, and Glassdoor consume XML feeds to display listings from employer websites.
- Syndicating to niche job boards – Feeds can distribute openings to specialized sites focused on particular locations, industries, job types, etc.
- Search engine indexing – Google and Bing can spider XML feeds to improve indexing and ranking of job pages.
- Mobile apps – Job search apps can incorporate company’s feed into their app to provide the latest listings.
- Powering chatbots – HR chatbots can query XML feeds to answer questions about job opportunities.
- Third-party distribution – Recruiting agencies and Multi-Posting providers use feeds to share jobs across their networks.
- Internal distribution – Feeds can populate employee referral programs, internal job boards, etc.
- Backfilling lost data – If a site needs to rebuild their job database, an XML feed provides a full set of current listings.
Essentially any platform looking to display an up-to-date set of job postings from a company can benefit from consuming an XML feed. It provides a scalable, automated way to syndicate and distribute opportunities.
What are the components of an XML jobs feed?
An XML job feed consists of these core components:
1. XML Schema (.xsd)
The schema is like the blueprint that defines the structure of the XML feed. It specifies:
- The elements that can be used
- The hierarchy/order of elements
- Data types for each element
- Whether elements are required or optional
- Other validation rules
Some common schemas for job feeds are JobPosting(schema.org), HR-XML, and RSS. Companies can also create custom schemas fitted to their ATS.
2. XML Feed File (.xml)
This is the actual data file that contains all the job posting records. It follows the structure defined in the schema. For example:
<Jobs> <Job> <title>Software Engineer</title> <description>We are looking for a Software...</description> <city>Atlanta</city> <state>GA</state> </Job> <Job> <title>Product Manager</title> <description>Seeking a Product Manager to...</description> <city>San Francisco</city> <state>CA</state> </Job> </Jobs>
New job records get added as new
3. Transformations (XSLT)
While XML is machine-readable, it isn’t very human-readable in raw form. XSL Transformations (XSLT) can be used to convert the XML feed into other formats like HTML for better readability.
4. Hosting/Distribution
The feed file is hosted on a web server and the location is provided to syndication partners. Methods like RSS or REST APIs make it easy to access updated feeds.
So in summary, an XML job feed requires (1) a schema to define the structure, (2) an XML file with job data, (3) optional transformations for output, and (4) hosting and distribution channels.
How does an ATS generate an XML job feed?
The XML job feed ultimately originates from the applicant tracking system (ATS) used by a company. Here is how most ATS platforms generate XML feeds:
1. New job created
When a recruiter creates a new job posting in the ATS, they fill out fields like title, description, location etc. This generates a new job record in the ATS database.
2. ATS syncs database to XML
The ATS contains templates and tools to transform its internal job records into XML format. This generates an XML representation of each job.
3. Apply XML Schema
The XML output adheres to the chosen schema, which imposes uniform structure, data types, and validation rules.
4. Generate XML feed file
All individual XML job records are aggregated into a single XML feed file. As jobs are added or changed, this file is dynamically updated.
5. Host XML feed
The feed file gets hosted on a server and syndication channels are opened for external systems to access the feed.
6. Consume feed data
Partners consume the feed data into their own systems, usually via APIs or RSS. The feed provides access to the latest job changes.
7. Render feed data
The imported XML data can be rendered through styling and transformations for publishing across different sites/platforms.
So in essence, the ATS acts as the hub that compiles job postings into a centralized XML feed for distribution across various channels. This automated process enables wide syndication and visibility for an organization’s job listings.
What are some popular XML schemas for job feeds?
While custom schemas are possible, most job feeds leverage common existing schemas. Some popular options include:
1. JobPosting Schema
Part of schema.org, a collaborative effort to standardize schema across the web. It defines core job properties like:
- title
- description
- jobLocation
- employmentType
- industry
- qualifications
- responsibilities
Widely supported by major search engines.
2. HR-XML
A library of XML schemas for human resources data, including:
- JobPostingSchema – similar to schema.org JobPosting
- CompetenciesSchema – defines a competency model
- ResumeSchema – structure for resumes
HR-XML is developed by the HR-XML Consortium to standardize HR data exchange.
3. RSS
RSS (Really Simple Syndication) is a common XML format for any content feed, including jobs. Key elements:
- title – Job title
- link – URL of the job posting
- description – Job summary/description
- pubDate – Date published
RSS is simple but limited. Mainly used for simple listing-style jobs vs. richly structured data.
4. Custom Schema
For complex feeds, some ATS vendors and employers create a custom XML schema tuned to their unique job content model and technical requirements. Allows maximum flexibility and control.
So in summary, while custom schemas are an option, most feeds leverage common existing schemas like JobPosting or HR-XML for wider compatibility.
What are some challenges with XML job feeds?
Some potential pain points to be aware of with XML job feeds:
- Customization required – To implement a feed, technical work is required to customize schemas and transform ATS data to XML.
- Manual setup in ATS – The feed configuration and templates must be properly designed in the ATS for automated XML generation.
- Tagging inconsistencies – If tags are not filled consistently in the ATS it creates messy XML output.
- Feed hosting – The feed file needs to be continually generated, hosted and require cross-origin resource sharing (CORS) enabled.
- Updating dependencies – If XML schema standards get updated, it may break compatibility with older schemas.
- Parsing issues – Poorly formatted XML can cause partner systems to struggle parsing and importing feed data.
However, most challenges can be avoided with careful planning and governance around designing, testing, documenting, and hosting XML feeds. When set up properly, XML job feeds provide an excellent way to syndicate opportunities at scale.
Conclusion
In summary, an XML jobs feed provides a standardized, machine-readable format for distributing job postings from a company’s ATS to other platforms. The feed contains metadata tags that describe key details about each job opening. Major benefits include automation, flexibility, and wider reach for an organization’s job listings. XML job feeds are commonly consumed by job boards, aggregators, apps, and other distribution partners. With some deliberate planning, organizations can implement XML feeds as an efficient way to syndicate job data at scale across the digital ecosystem.