Skip to content
Eden Engine

ONS Full History of a UK Time Series (Monthly, Quarterly and Annual Figures)

ons/time-series-history

Every published figure of one Office for National Statistics time series since it began, as monthly, quarterly and annual lists, oldest first (UK CPI and CPIH inflation back to 1989, unemployment and employment rates back to 1971, GDP, public finances and more), with the series title, unit, release date and the list of its earlier releases. A series is published at one or more frequencies and the other lists are empty. Values are strings; an empty string means no figure for that period, not zero, and can fall at the start, in gaps, or at the very end of a list. For labour-market three-month averages the row date names the window's middle month and label gives the window (date 2026 JUN, label 2026 MAY-JUL). The response is the whole series, up to about 180 KB, with no date filter. Find the series' uri with ONS Time Series Finder; for just the newest figure use ONS Latest Figure for a Time Series. A Beta service with no service-level guarantee. Attribution: Contains public sector information licensed under the Open Government Licence v3.0. Source: Office for National Statistics.

activeper callv1

Price

$0.0026 per call

You pay the price shown. If a call turns out to cost more than its quote, you pay the actual price, capped at twice the quote. No monthly minimum. Top-ups start at $5.

Data source

Office for National Statistics

Contains public sector information licensed under the Open Government Licence v3.0. Source: Office for National Statistics. Served by Omnial; not an official Office for National Statistics product and not endorsed by it.

Use it

Five steps: search, inspect, learn, run, settle. No per-tool setup; your agent reaches this tool through the meta-tools it already has.

Connect once and your AI can find and run this tool, and any other it needs.

agent
// 1. search: find the tool
omnial_search({ query: "what you need" })

// 2. inspect: price and input schema
omnial_inspect({ tool: "ons/time-series-history" })

// 3. learn: read the usage guide at runtime
omnial_learn({ tool: "ons/time-series-history" })

// 4. run: price the exact call first, then run it
omnial_execute({ tool: "ons/time-series-history", input: { /* see input_schema */ }, dry_run: true })
omnial_execute({ tool: "ons/time-series-history", input: { /* ... */ } })

// 5. settle: the call is charged when it finishes, nothing to do

Not connected yet? Point your MCP client at https://mcp.eden-engine.com/mcp, then copy a config for your client.

Pricing

Every charge this tool can incur.

ChargePrice
Per call
$0.0026
Updated
Oct 19, 2026

Input and output schemas

Input schema
input_schema.json
{
  "type": "object",
  "required": [
    "uri"
  ],
  "properties": {
    "uri": {
      "type": "string",
      "pattern": "^/[a-z]+(/[a-z0-9]+){1,3}/timeseries/[a-z0-9]{3,6}/[a-z0-9]{2,10}$",
      "maxLength": 160,
      "description": "The series' page path as returned by ONS Time Series Finder, for example /economy/inflationandpriceindices/timeseries/d7g7/mm23 (CPI annual rate) or /employmentandlabourmarket/peoplenotinwork/unemployment/timeseries/mgsx/lms (unemployment rate). Lower case, ending /timeseries/<series id>/<dataset>."
    }
  },
  "additionalProperties": false
}
Output schema
output_schema.json
{
  "type": "object",
  "$defs": {
    "rows": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "date",
          "value",
          "label",
          "updateDate"
        ],
        "properties": {
          "date": {
            "type": "string",
            "description": "The period: 1989 JAN (month), 1989 Q1 (quarter) or 1989 (year). For a three-month-average series it names the MIDDLE month of the window."
          },
          "year": {
            "type": "string",
            "description": "The year, repeated from date."
          },
          "label": {
            "type": "string",
            "description": "The period as ONS labels it. Equal to date, except on three-month averages, where it is the window: 2026 MAY-JUL."
          },
          "month": {
            "type": "string",
            "description": "The month name, for example June. Empty on a quarterly or annual row."
          },
          "value": {
            "type": "string",
            "description": "The figure as a decimal string, in the series unit. An empty string means no figure for that period (a period before the series began), not zero."
          },
          "quarter": {
            "type": "string",
            "description": "Q1 to Q4 on a quarterly row; empty on a monthly or annual one."
          },
          "updateDate": {
            "type": "string",
            "description": "When this period's figure was last published, an ISO 8601 UTC instant (a UK-midnight summer release reads as 23:00 UTC the day before)."
          },
          "sourceDataset": {
            "type": "string",
            "description": "The dataset code, for example MM23."
          }
        },
        "additionalProperties": true
      },
      "description": "The figures at one frequency, oldest first. Empty when the series is not published at this frequency."
    }
  },
  "required": [
    "years",
    "quarters",
    "months",
    "description"
  ],
  "properties": {
    "years": {
      "$ref": "#/$defs/rows"
    },
    "months": {
      "$ref": "#/$defs/rows"
    },
    "quarters": {
      "$ref": "#/$defs/rows"
    },
    "versions": {
      "type": "array",
      "items": {
        "type": "object",
        "additionalProperties": true
      },
      "description": "Earlier releases of the whole series: uri, updateDate, label (v1 upward) and correctionNotice. Absent on a few series."
    },
    "description": {
      "type": "object",
      "required": [
        "title",
        "cdid",
        "datasetId",
        "date",
        "number",
        "unit",
        "releaseDate",
        "nextRelease"
      ],
      "description": "The series' title, series id (cdid), dataset (datasetId), unit, the latest period (date) and value (number), releaseDate of the version read, and nextRelease.",
      "additionalProperties": true
    }
  },
  "description": "The whole series: years, quarters and months (each a list, oldest first, empty where the series is not published at that frequency) and its description block.",
  "additionalProperties": true
}