SourceFinch Verified · Economic indicators & prices

UK unemployment rate, monthly (three-month average)

The UK unemployment rate for people aged 16 and over, seasonally adjusted (ONS series MGSX), for every rolling three-month period since 1971, one record per period, with the time the ONS last updated each value.

Monitor this sourceAPI, CLI, SDK and MCP

At a glance

Jurisdiction
United Kingdom
Publisher updates
Monthly, with the labour market release
SourceFinch checks
Daily by default
Records per run
665 in the latest run
Record key
period
Acquired from
Publisher's public API: https://www.ons.gov.uk/employmentandlabourmarket/peoplenotinwork/unemployment/timeseries/mgsx/lms/data
Recipe
v1.0.0, approved October 12, 2026
Verified since
October 12, 2026
Last green run
October 12, 2026

What the data contains

The Office for National Statistics publishes the UK unemployment rate (aged 16 and over, seasonally adjusted) as time series MGSX in its Labour market statistics dataset (LMS), monthly. Each value is an average over a rolling three-month period from the Labour Force Survey; the ONS keys the period by its middle month and labels it with the three months covered (for example 2026 MAY-JUL). This source reads the series' monthly observations from the ONS website's time-series data on each daily run and makes one record per period, keyed by the ONS period code, with the rate as a number in percent, the period label and the time the ONS last updated that value. A monitor reports each new figure on release day and any later revision. The series is national statistics derived from a survey and contains no personal data. SourceFinch is independent of the ONS.

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
periodkeystringONS period code for the month (for example 2026 AUG), unique within the series. The record key.
valuenumberUnemployment rate for the three-month period, in percent of the economically active population aged 16 and over.
labelstring, nullableThe three months the value averages, as published (for example 2026 MAY-JUL).
yearinteger, nullableCalendar year of the period.
monthstring, nullableMonth name of the period.
updated_atdatetime, nullableTime the ONS last updated this value (UTC); a revision shows as a later time.
source_datasetstring, nullableONS dataset the value comes from.

Sample output

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

FieldRecord 1Record 2Record 3Record 4Record 5
period1971 FEB1971 MAR1971 APR1971 MAY1971 JUN
value3.83.944.14.1
label1971 JAN-MAR1971 FEB-APR1971 MAR-MAY1971 APR-JUN1971 MAY-JUL
year19711971197119711971
monthFebruaryMarchAprilMayJune
updated_at2015-10-13T23:00:00.000Z2015-10-13T23:00:00.000Z2015-10-13T23:00:00.000Z2015-10-13T23:00:00.000Z2015-10-13T23:00:00.000Z
source_datasetLMSLMSLMSLMSLMS
Sample as JSON
[
  {
    "year": 1971,
    "label": "1971 JAN-MAR",
    "month": "February",
    "value": 3.8,
    "period": "1971 FEB",
    "updated_at": "2015-10-13T23:00:00.000Z",
    "source_dataset": "LMS"
  },
  {
    "year": 1971,
    "label": "1971 FEB-APR",
    "month": "March",
    "value": 3.9,
    "period": "1971 MAR",
    "updated_at": "2015-10-13T23:00:00.000Z",
    "source_dataset": "LMS"
  },
  {
    "year": 1971,
    "label": "1971 MAR-MAY",
    "month": "April",
    "value": 4,
    "period": "1971 APR",
    "updated_at": "2015-10-13T23:00:00.000Z",
    "source_dataset": "LMS"
  },
  {
    "year": 1971,
    "label": "1971 APR-JUN",
    "month": "May",
    "value": 4.1,
    "period": "1971 MAY",
    "updated_at": "2015-10-13T23:00:00.000Z",
    "source_dataset": "LMS"
  },
  {
    "year": 1971,
    "label": "1971 MAY-JUL",
    "month": "June",
    "value": 4.1,
    "period": "1971 JUN",
    "updated_at": "2015-10-13T23:00:00.000Z",
    "source_dataset": "LMS"
  }
]

Evidence behind every value

  • Each run keeps the publisher's exact response, hashed with SHA-256. This sample came from a response with hash a749d9c9990114a4ac48c14ab1d36569e254d88ecf76a4d937d8c5f26c4015c6.
  • Every value records where it came from in that response: a JSON Pointer into the retained capture.
  • Each run gets a signed manifest (Ed25519) timestamped by an RFC 3161 authority: this run's manifest hash is 5c8cab5afa13099804b516a28c8f03027333adbcc90af9a1074d47f698636763, timestamped October 12, 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
None published (HTTP 404); access allowed under RFC 9309
AI-preference signals
None observed at review
Public record
Yes. Office for National Statistics official statistics, Crown copyright, released under the Open Government Licence v3.0.
Reviewed
October 12, 2026; next review April 12, 2027
Licence basis
Open data licence (OGL-UK-3.0)
Commercial use
Allowed
Redistribution
Allowed
Attribution
Required (text below)

The Office for National Statistics' terms state that most content on its website is Crown copyright published under the Open Government Licence v3.0, which permits copying, publishing, adapting and commercial use with attribution, and that content is made available through feeds for other websites and applications; photographs, illustrations and other listed exemptions are outside the OGL. Users must not say their website is associated with or endorsed by the ONS. www.ons.gov.uk serves no robots.txt (HTTP 404), which RFC 9309 treats as allowing access, and the time-series data needs no key.

Source: Office for National Statistics (unemployment rate, series MGSX), licensed under the Open Government Licence v3.0. SourceFinch is independent of and not endorsed by the ONS.

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
100%
Failed
0
Median run time
1.2 s
Latest run
success, October 12, 2026

Measured on completed runs of this recipe version across SourceFinch, anonymized, within a rolling 30-day window. First successful observation: October 12, 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": "UK unemployment rate, monthly (three-month average)",
  "url": "https://www.ons.gov.uk/employmentandlabourmarket/peoplenotinwork/unemployment/timeseries/mgsx/lms/data",
  "recipe": {
    "mode": "http",
    "format": "json",
    "items": "months[*]",
    "fields": {
      "year": "year",
      "label": "label",
      "month": "month",
      "value": "value",
      "period": "date",
      "updated_at": "updateDate",
      "source_dataset": "sourceDataset"
    },
    "required": [
      "period",
      "value"
    ],
    "types": {
      "updated_at": "datetime",
      "value": "number",
      "year": "integer"
    }
  },
  "schedule": "daily",
  "key_field": "period"
}

source.json

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

{
  "name": "UK unemployment rate, monthly (three-month average)",
  "url": "https://www.ons.gov.uk/employmentandlabourmarket/peoplenotinwork/unemployment/timeseries/mgsx/lms/data",
  "recipe": {
    "mode": "http",
    "format": "json",
    "items": "months[*]",
    "fields": {
      "year": "year",
      "label": "label",
      "month": "month",
      "value": "value",
      "period": "date",
      "updated_at": "updateDate",
      "source_dataset": "sourceDataset"
    },
    "required": [
      "period",
      "value"
    ],
    "types": {
      "year": "integer",
      "value": "number",
      "updated_at": "datetime"
    }
  },
  "key_field": "period",
  "schedule": "daily",
  "rights": true,
  "catalog": {
    "slug": "ons-uk-unemployment-rate",
    "version_id": "3157fdf0-315f-4687-b824-deb16771712c"
  }
}

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/ons-uk-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 ons-uk-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("ons-uk-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 UK unemployment rate, monthly (three-month average): get_catalog_source ons-uk-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.

Guides using this source

All guides

More from Office for National Statistics and in economic indicators & prices.

SourceFinch is independent and is not affiliated with or endorsed by Office for National Statistics. This page describes uk unemployment rate, monthly (three-month average) as SourceFinch acquires it.