Skip to content
Eden Engine

Sweden SCB: Read Statistical Table Data as JSON-stat

scbpxwebv1/table-data

Reads figures from one table of the Statistics Sweden (SCB) database as JSON-stat 2.0: dimensions with labelled categories and the values in row-major order, plus the last-updated time and table notes. Select by variable code with `item` (listed value codes) or `top` (N values from one end of an axis: the latest N on the time axis, the first N otherwise); variables left out are eliminated where the table allows it, otherwise returned in full. A selection above 100,000 values is refused as a validation error. Use the table variables tool first to get the exact codes. Data from Statistics Sweden, passed through unmodified and served by Eden Engine; not an official Statistics Sweden 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 Sweden

Data from Statistics Sweden (SCB), published as open data under the CC0 licence (www.scb.se/en/services/open-data-api/), which asks for no source statement; the recommended form is "Source: Statistics Sweden". Passed through unmodified. Served by Eden Engine; not an official Statistics Sweden 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: "scbpxwebv1/table-data" })

// 3. learn: read the usage guide at runtime
omnial_learn({ tool: "scbpxwebv1/table-data" })

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

Input and output schemas

Input schema
input_schema.json
{
  "type": "object",
  "required": [
    "table_path",
    "query"
  ],
  "properties": {
    "query": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "code",
          "selection"
        ],
        "properties": {
          "code": {
            "type": "string",
            "maxLength": 100,
            "minLength": 1,
            "description": "The variable code, exactly as in the table variables listing."
          },
          "selection": {
            "type": "object",
            "required": [
              "filter",
              "values"
            ],
            "properties": {
              "filter": {
                "enum": [
                  "item",
                  "top"
                ],
                "type": "string",
                "description": "`item` selects the listed value codes; `top` selects N values from one end of the axis, N given as the single value: the latest N on the variable flagged `time: true`, otherwise the first N in table order."
              },
              "values": {
                "type": "array",
                "items": {
                  "type": "string",
                  "maxLength": 100,
                  "minLength": 1
                },
                "maxItems": 1000,
                "minItems": 1,
                "description": "For `item`, the value codes. For `top`, one string with the number, for example \"3\"."
              }
            },
            "additionalProperties": false
          }
        },
        "additionalProperties": false
      },
      "maxItems": 20,
      "description": "The selection, one item per variable you want to narrow; use [] to take the service default (variables that may be left out are eliminated; the others come back in full, so [] is only safe on small tables). Variable codes and value codes come from the table variables tool and must be sent exactly as listed. Example: [{\"code\":\"Region\",\"selection\":{\"filter\":\"item\",\"values\":[\"00\"]}},{\"code\":\"Tid\",\"selection\":{\"filter\":\"top\",\"values\":[\"3\"]}}] takes Sweden for the latest three periods."
    },
    "table_path": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_\\-]+(/[A-Za-z0-9_\\-]+){1,8}$",
      "maxLength": 300,
      "description": "The table path from the root: folder ids and the table id separated by slashes, for example BE/BE0101/BE0101A/BefolkManadCKM. Take it from the folder listing."
    }
  },
  "additionalProperties": false
}
Output schema
output_schema.json
{
  "type": "object",
  "required": [
    "label",
    "id",
    "size",
    "dimension",
    "value"
  ],
  "properties": {
    "id": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "The dimension codes, in the order of `size`."
    },
    "note": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Table notes from SCB (changes of regional division, disclosure control and so on)."
    },
    "size": {
      "type": "array",
      "items": {
        "type": "integer"
      },
      "description": "The number of categories in each dimension."
    },
    "label": {
      "type": "string",
      "description": "The table title with its variables."
    },
    "value": {
      "type": "array",
      "items": {
        "type": [
          "number",
          "string",
          "null"
        ]
      },
      "description": "The figures in row-major order over `id` and `size`. null marks a missing figure."
    },
    "source": {
      "type": "string",
      "description": "The producing agency."
    },
    "status": {
      "type": "object",
      "description": "Position-to-symbol notes for missing or flagged figures, when present.",
      "additionalProperties": true
    },
    "updated": {
      "type": "string",
      "description": "When the table was last updated (UTC)."
    },
    "dimension": {
      "type": "object",
      "description": "Per dimension, its label and the category index and labels.",
      "additionalProperties": true
    }
  },
  "description": "The table as JSON-stat 2.0, restricted to the selection.",
  "additionalProperties": true
}