Job feeds — RSS & JSON

Every feed below is free, needs no key or account, and refreshes each morning with the rest of the site. RSS for feed readers; JSON (JSON Feed 1.1) for anything programmatic. Items cover the last 7 days of new, English-friendly openings from redistributable sources.

Available feeds

FeedItems nowRSSJSON
New jobs in Spain for English speakers100/feeds/new.xml/feeds/new.json
New customer support jobs in Spain for English speakers20/feeds/customer-support.xml/feeds/customer-support.json
New software & it jobs in Spain for English speakers50/feeds/software.xml/feeds/software.json
New data & analytics jobs in Spain for English speakers15/feeds/data.xml/feeds/data.json
New healthcare & pharma jobs in Spain for English speakers6/feeds/healthcare.xml/feeds/healthcare.json
New product & project management jobs in Spain for English speakers9/feeds/product.xml/feeds/product.json
New finance & accounting jobs in Spain for English speakers6/feeds/finance.xml/feeds/finance.json
New sales jobs in Spain for English speakers17/feeds/sales.xml/feeds/sales.json
New operations & admin jobs in Spain for English speakers8/feeds/operations.xml/feeds/operations.json

Per-sector feeds exist whenever a sector has at least 5 fresh items, so the list above can grow or shrink day to day. /feeds/new is always there.

The JSON format

Standard JSON Feed 1.1, plus a _job extension on every item with the structured fields — so you never have to parse a title string back apart. This is a real item from today’s feed:

{
  "id": "0eb9221b9d0d033d",
  "url": "https://europa.eu/eures/portal/jv-se/jv-details/MTQxNTMtMWJmNWQyYjc1NmYzZmU4My1TIDE",
  "title": "Work & Study Program: Hotel Management Degree (Betriebswirt/in (Hochschule) - Hotelmanagement) — Motel One Germany BetriebsGmbH — Barcelona",
  "date_published": "2026-07-30T00:00:00.000Z",
  "_job": {
    "title": "Work & Study Program: Hotel Management Degree (Betriebswirt/in (Hochschule) - Hotelmanagement)",
    "company": "Motel One Germany BetriebsGmbH",
    "city": "Barcelona",
    "country": "es",
    "category": "hospitality",
    "salary": null,
    "language_req": "english-only",
    "work_mode": "unclear",
    "first_seen": "2026-07-30"
  }
}
_job fieldMeaning
titleJob title as the employer wrote it
companyEmployer name (null when the source only gives an internal id)
cityCity, or null for fully remote / unstated locations
countryISO 3166-1 alpha-2 country code
categoryOur sector key (software, aec, finance… or other when unclassified)
salaryAdvertised salary, verbatim from the ad — null when not disclosed (most ads)
language_reqenglish-only · english-plus-other · unclear — ads requiring the local language never enter the feeds
work_moderemote · hybrid · onsite · unclear
first_seenISO date we first saw the ad (also the item’s date_published)

Item url always points at the original ad on the employer’s or source’s site. id is stable across days — dedupe on it.

Quick start

# Newest 5 jobs, one line each
curl -s https://expatjobs.es/feeds/new.json |
  jq -r '.items[:5][] | "\(._job.first_seen)  \(.title)"'

# Only ads that disclose a salary
curl -s https://expatjobs.es/feeds/new.json |
  jq '[.items[] | select(._job.salary != null)]'

Terms, in plain words

Feed questions

Can I republish these jobs?

Yes — that is what the feeds are for. Two conditions: keep the link to the original ad (the item URL points at the employer, not at us), and credit ExpatJobs.es with a link to https://expatjobs.es wherever the feed's content appears.

Why do the feeds carry fewer jobs than the site?

Feeds only include sources we may redistribute: employers' own career feeds and EURES. Jobs from display-only aggregator APIs stay on the site per their terms. Feeds also only cover the last 7 days — they are a "what's new" stream, not a mirror of the full board.

How often do they update?

Once a day, with the morning refresh of the whole dataset. Item ids are stable, so readers and scripts can dedupe across days safely.

Not a developer? The same data reaches you as daily email alerts, or as a self-updating jobs widget you paste into any site with one script tag.