Skip to content
Eden Engine

Statistics Canada Data Series by Table and Key (SDMX)

statcansdmx/sdmx-series

One data series from a Statistics Canada table, through its SDMX data service: give the table as a dataflow id (DF_ plus the 8-digit product id, for example DF_17100005) and one member code per dimension, dot separated (1.1.1 is Canada, both genders, all ages in the population estimates). Returns the observations (period and numeric value), the series key by dimension and the series attributes (vector id, scalar factor, decimals, unit code). The newest 12 observations by default, up to 1000. A key that matches no series returns an empty list. Statistics Canada data, reproduced as is under the Statistics Canada Open Licence and served by Eden Engine; not an official Statistics Canada product.

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 $0.50.

Data source

Statistics Canada

Source: Statistics Canada, name of product, reference date. Reproduced and distributed on an "as is" basis with the permission of Statistics Canada. Contains information licensed under the Statistics Canada Open Licence. Served by Eden Engine; not an official Statistics Canada product.

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: "statcansdmx/sdmx-series" })

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

// 4. run: price the exact call first, then run it
omnial_execute({ tool: "statcansdmx/sdmx-series", input: { /* see input_schema */ }, dry_run: true })
omnial_execute({ tool: "statcansdmx/sdmx-series", 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 24, 2026

Input and output schemas

Input schema
input_schema.json
{
  "type": "object",
  "required": [
    "dataflow",
    "key"
  ],
  "properties": {
    "key": {
      "type": "string",
      "pattern": "^[0-9]+(\\.[0-9]+){0,9}$",
      "description": "One member code per dimension of the table, in the table's dimension order, dot separated, for example 1.1.1 for DF_17100005 (Geography 1 = Canada, Gender 1 = total, Age group 1 = all ages) or 2.2 for DF_18100004 (Geography 2 = Canada, Products 2 = all-items consumer price index). The number of positions must equal the table's number of dimensions."
    },
    "dataflow": {
      "type": "string",
      "pattern": "^DF_[0-9]{8}$",
      "description": "The table as an SDMX dataflow id: DF_ followed by the 8-digit Statistics Canada product id (table 17-10-0005 is DF_17100005)."
    },
    "last_n_observations": {
      "type": "integer",
      "default": 12,
      "maximum": 1000,
      "minimum": 1,
      "description": "How many of the newest observations to return, 1 to 1000. Defaults to 12."
    }
  },
  "additionalProperties": false
}
Output schema
output_schema.json
{
  "type": "object",
  "required": [
    "series",
    "series_count",
    "truncated"
  ],
  "properties": {
    "series": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "key",
          "attributes",
          "observations"
        ],
        "properties": {
          "key": {
            "type": "object",
            "description": "Dimension id to member code, for example Geography 1.",
            "additionalProperties": {
              "type": "string"
            }
          },
          "attributes": {
            "type": "object",
            "description": "Series attributes: VECTOR_ID, SCALAR_FACTOR (power of ten the value is scaled by), NB_DECIMAL, DGUID and UOM (unit-of-measure code), as Statistics Canada sends them.",
            "additionalProperties": {
              "type": "string"
            }
          },
          "observations": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "period",
                "value"
              ],
              "properties": {
                "value": {
                  "type": [
                    "number",
                    "null"
                  ]
                },
                "period": {
                  "type": "string"
                },
                "attributes": {
                  "type": "object",
                  "description": "Per-observation flags such as a status or symbol code, when the service sends them.",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              },
              "additionalProperties": true
            },
            "description": "Oldest first. `period` is a year (1971), a month (2026-08) or another reference period; `value` is a number, or null when the value is suppressed."
          }
        },
        "additionalProperties": true
      }
    },
    "dataflow": {
      "type": [
        "string",
        "null"
      ],
      "description": "The dataflow id the service answered for, for example DF_17100005."
    },
    "prepared": {
      "type": [
        "string",
        "null"
      ],
      "description": "When the service prepared the message, ISO 8601 without a zone marker."
    },
    "truncated": {
      "type": "boolean",
      "description": "True when the response was cut at 50 series or at 2000 observations in a series; narrow the key or the period range."
    },
    "series_count": {
      "type": "integer",
      "description": "Number of series returned."
    }
  },
  "description": "The series the key matched, converted from SDMX-ML. Empty when the key matches no series.",
  "additionalProperties": true
}