SourceFinch Verified · Economic indicators & prices

EU monthly unemployment rate

Eurostat's seasonally adjusted unemployment rate for the 27 EU member states, all ages and both sexes, as a percentage of the labour force for each of the last 60 months.

Monitor this sourceAPI, CLI, SDK and MCP

At a glance

Publisher
Eurostat · homepage
Jurisdiction
European Union
Publisher updates
Monthly (early in the month)
SourceFinch checks
Daily by default
Records per run
60 in the latest run
Record key
period
Acquired from
Publisher's public API: https://ec.europa.eu/eurostat/api/dissemination/sdmx/2.1/data/une_rt_m/M.SA.TOTAL.PC_ACT.T.EU27_2020?format=SDMX-CSV&lastNObservations=60
Recipe
v1.0.0, approved October 13, 2026
Verified since
October 13, 2026
Last green run
October 13, 2026

What the data contains

Eurostat publishes monthly unemployment estimates for the EU and the euro area at the start of each month, based on the ILO definition and harmonised across member states. This source reads the seasonally adjusted total unemployment rate for the EU of 27 member states (EU27_2020), all ages and both sexes, as a percentage of the active population, from Eurostat's dataset une_rt_m through its SDMX dissemination API: the last 60 monthly observations on each daily run, one record per month keyed by the period (YYYY-MM), with Eurostat's observation flag. Monthly figures are revised as quarterly Labour Force Survey results arrive, and a monitor reports each new month and each revision. SourceFinch is independent of Eurostat.

Fields and types

Every record has these fields. The key field period identifies a record across runs, so changes are reported field by field.

FieldTypeDescription
periodkeystringReference month as YYYY-MM. The record key.
valuenumberUnemployment rate for the month, in percent of the active population (labour force).
flagstring, nullableEurostat observation flag when set: e estimated, p provisional, b break in time series, c confidential, u low reliability.
geostringEurostat geography code: EU27_2020, the 27 member states of the EU since 2020.
unitstringEurostat unit code: PC_ACT, percentage of the active population.
seasonal_adjustmentstringEurostat seasonal adjustment code: SA, seasonally adjusted.

Sample output

The first 5 of 60 records from SourceFinch's own run on October 13, 2026, exactly as delivered.

FieldRecord 1Record 2Record 3Record 4Record 5
period2021-092021-102021-112021-122022-01
value6.76.66.56.56.4
flag—————
geoEU27_2020EU27_2020EU27_2020EU27_2020EU27_2020
unitPC_ACTPC_ACTPC_ACTPC_ACTPC_ACT
seasonal_adjustmentSASASASASA
Sample as JSON
[
  {
    "geo": "EU27_2020",
    "flag": null,
    "unit": "PC_ACT",
    "value": 6.7,
    "period": "2021-09",
    "seasonal_adjustment": "SA"
  },
  {
    "geo": "EU27_2020",
    "flag": null,
    "unit": "PC_ACT",
    "value": 6.6,
    "period": "2021-10",
    "seasonal_adjustment": "SA"
  },
  {
    "geo": "EU27_2020",
    "flag": null,
    "unit": "PC_ACT",
    "value": 6.5,
    "period": "2021-11",
    "seasonal_adjustment": "SA"
  },
  {
    "geo": "EU27_2020",
    "flag": null,
    "unit": "PC_ACT",
    "value": 6.5,
    "period": "2021-12",
    "seasonal_adjustment": "SA"
  },
  {
    "geo": "EU27_2020",
    "flag": null,
    "unit": "PC_ACT",
    "value": 6.4,
    "period": "2022-01",
    "seasonal_adjustment": "SA"
  }
]

Evidence behind every value

  • Each run keeps the publisher's exact response, hashed with SHA-256. This sample came from a response with hash 4d5e6ed0cca46303dc824d96b57f9fd09b15d0b04cc93791a70aca60cb03e09e.
  • Every value records where it came from in that response: a CSS path into the retained capture.
  • Each run gets a signed manifest (Ed25519) timestamped by an RFC 3161 authority: this run's manifest hash is 7dffd4da181939708368516145c35ebaf434b38fd07da2ec01ebe7447e0ea63a, timestamped October 13, 2026.
  • The compliance state at capture is recorded with the evidence: robots.txt hash and verdict, AI-preference signals, crawler identity and the usage rights below.
  • Download any run as an evidence bundle (WACZ) and check it offline, without trusting SourceFinch: sourcefinch verify-bundle run.wacz.

Terms posture and usage rights

Terms
Automated access permitted · publisher's terms
robots.txt
Allows this path · SHA-256 c85ef7fce6dde5af…
AI-preference signals
None observed at review
Public record
Yes. Eurostat copyright notice and Commission Decision 2011/833/EU on the reuse of Commission documents.
Reviewed
October 13, 2026; next review April 13, 2027
Licence basis
Open data licence (EC-Decision-2011-833)
Commercial use
Allowed
Redistribution
Allowed
Attribution
Required (text below)

Eurostat's copyright notice states that reuse of its statistical data, metadata and publications for commercial or non-commercial purposes is authorised provided the source is acknowledged, under the European Commission's reuse policy (Decision 2011/833/EU); the website's editorial content is licensed under CC BY 4.0. Third-party material identified as such is excluded; these series are Eurostat's own statistics. ec.europa.eu/robots.txt allows the dissemination API path (it disallows the retired /eurostat/SDMX/diss-web/rest/ service and search pages). The API is keyless; this source makes one small request per daily run.

Source: Eurostat. Reused under the European Commission's reuse policy. SourceFinch is independent of and not endorsed by Eurostat or the European Commission.

Usage rights travel with every record SourceFinch delivers (API, exports, webhooks and evidence bundles). They are our documented understanding of the publisher's stated terms, not legal advice.

Reliability

Runs, last 30 days
1
Green
0%
Failed
1
Median run time
1.1 s
Latest run
success, October 13, 2026

Measured on completed runs of this recipe version across SourceFinch, anonymized, within a rolling 30-day window. First successful observation: October 13, 2026. A new recipe has only the history collected since that date; this is not a 30-day uptime guarantee.

Use it

Every surface creates the same monitor from this Verified recipe. Monitors keep record history, report field-level changes and deliver by webhook, export or email. You confirm you have the right to collect the source (rights: true).

Console

Open this recipe in the console: it preserves the reviewed URL, fields and record key. Review the latest captured sample, confirm source rights, and choose a schedule before creating your monitor.

Portable recipe

Copy into the console's Import or share a recipe panel to customize fields, types and schedules. This configuration contains no captured records or workspace IDs.

{
  "schema": "sourcefinch/source@1",
  "name": "EU monthly unemployment rate",
  "url": "https://ec.europa.eu/eurostat/api/dissemination/sdmx/2.1/data/une_rt_m/M.SA.TOTAL.PC_ACT.T.EU27_2020?format=SDMX-CSV&lastNObservations=60",
  "recipe": {
    "mode": "http",
    "format": "csv",
    "items": "*",
    "fields": {
      "geo": "geo",
      "flag": "OBS_FLAG",
      "unit": "unit",
      "value": "OBS_VALUE",
      "period": "TIME_PERIOD",
      "seasonal_adjustment": "s_adj"
    },
    "required": [
      "period",
      "value"
    ],
    "csv": {
      "delimiter": ",",
      "header": true,
      "encoding": "utf-8"
    },
    "types": {
      "value": "number"
    }
  },
  "schedule": "daily",
  "key_field": "period"
}

source.json

The request body used by the API, CLI and SDK examples.

{
  "name": "EU monthly unemployment rate",
  "url": "https://ec.europa.eu/eurostat/api/dissemination/sdmx/2.1/data/une_rt_m/M.SA.TOTAL.PC_ACT.T.EU27_2020?format=SDMX-CSV&lastNObservations=60",
  "recipe": {
    "mode": "http",
    "format": "csv",
    "items": "*",
    "fields": {
      "geo": "geo",
      "flag": "OBS_FLAG",
      "unit": "unit",
      "value": "OBS_VALUE",
      "period": "TIME_PERIOD",
      "seasonal_adjustment": "s_adj"
    },
    "required": [
      "period",
      "value"
    ],
    "csv": {
      "delimiter": ",",
      "header": true,
      "encoding": "utf-8"
    },
    "types": {
      "value": "number"
    }
  },
  "key_field": "period",
  "schedule": "daily",
  "rights": true,
  "catalog": {
    "slug": "eurostat-eu-unemployment-rate",
    "version_id": "e9f00508-f8f8-4ffd-b324-ca7fc4cf0570"
  }
}

REST API

Create an API key under Console → API keys. Reference: /docs/api.

# the Verified entry (fields, recipe, sample, terms) as JSON
curl https://sourcefinch.com/v1/catalog/eurostat-eu-unemployment-rate -H "Authorization: Bearer $SOURCEFINCH_API_KEY"

# create the monitor from source.json (below)
curl -X POST https://sourcefinch.com/v1/sources \
  -H "Authorization: Bearer $SOURCEFINCH_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d @source.json

# then run it now (later runs follow the schedule)
curl -X POST https://sourcefinch.com/v1/sources/$SOURCE_ID/runs \
  -H "Authorization: Bearer $SOURCEFINCH_API_KEY" \
  -H "Idempotency-Key: $(uuidgen)"

CLI

The sourcefinch CLI is not on npm yet; see /docs/cli.

sourcefinch login
sourcefinch catalog get eurostat-eu-unemployment-rate --source-json > source.json
sourcefinch sources create --file source.json
sourcefinch runs create $SOURCE_ID --wait
sourcefinch records $SOURCE_ID

TypeScript SDK

The SDK is not on npm yet; see /docs/sdk.

import { SourceFinch } from "@sourcefinch/sdk";

const sf = new SourceFinch({ apiKey: process.env.SOURCEFINCH_API_KEY });
const entry = await sf.catalog.get("eurostat-eu-unemployment-rate");
const source = await sf.sources.create({
  catalog: { slug: entry.slug, version_id: entry.recipe.version_id },
  name: entry.name.slice(0, 100),
  url: entry.acquisition_path.endpoint,
  recipe: entry.recipe.definition,
  key_field: entry.recipe.key_field,
  schedule: entry.recipe.schedule,
  rights: true, // you confirm you have the right to collect this source
});
const run = await sf.runs.wait((await sf.runs.create(source.id)).id);
console.log(run.status);

MCP

Remote MCP server with OAuth; see /docs/mcp.

claude mcp add --transport http sourcefinch https://sourcefinch.com/mcp

# then ask your agent:
"Use SourceFinch to monitor EU monthly unemployment rate: get_catalog_source eurostat-eu-unemployment-rate,
then create_source with its create_source_args (dry run first), then run_source."

Pricing

Each check is one run, whatever the number of records, and failed runs are free. On its default daily schedule this source uses about 30 runs a month, which fits the Free plan's 300 runs. It uses HTTP acquisition, so no browser runs are needed. See plans.

More from Eurostat and in economic indicators & prices.

SourceFinch is independent and is not affiliated with or endorsed by Eurostat. This page describes eu monthly unemployment rate as SourceFinch acquires it.