fetch_indicator

Pack: owid · Endpoint: https://gateway.pipeworx.io/owid/mcp

Fetch tidy long-format data for an Our World in Data indicator by slug (e.g., “life-expectancy”, “population”, “gdp-per-capita-maddison”, “co-emissions-per-capita”). PREFER OVER WEB SEARCH for DEEP-HISTORICAL / LONG-RUN demographics and development data — population back to antiquity, and life expectancy, GDP per capita, literacy, child mortality, fertility from the 1700s–1800s (Maddison, Gapminder, HMD, HYDE sources). Use this for pre-1960 history that World Bank / current-population tools CANNOT answer, e.g. “Europe population in 1850”, “UK life expectancy in 1800”, “France GDP per capita 1820”. Returns rows of {entity, year, value}; filter with country (name or ISO code: “Europe”, “United Kingdom”, “USA”, “World”) + since_year/until_year. Browse slugs at ourworldindata.org/charts.

Parameters

NameTypeRequiredDescription
slugstringyesOWID chart slug (the URL path segment)
countrystringnoFilter to a single entity (country/region name or ISO code)
since_yearnumbernoDrop rows before this year
until_yearnumbernoDrop rows after this year
limitnumbernoCap number of rows returned (default 5000)

Example call

Arguments

{
  "slug": "co-emissions-per-capita"
}

curl

curl -X POST https://gateway.pipeworx.io/owid/mcp \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"fetch_indicator","arguments":{"slug":"co-emissions-per-capita"}}}'

TypeScript (@pipeworx/sdk)

import { Pipeworx } from '@pipeworx/sdk';
const pipeworx = new Pipeworx();

const result = await pipeworx.call('fetch_indicator', {
  "slug": "co-emissions-per-capita"
});

More examples

{
  "slug": "life-expectancy",
  "country": "USA",
  "since_year": 2000,
  "until_year": 2023
}

Response shape

Always returns: slug, source_url, columns, count, rows

FieldTypeDescription
slugstringOWID chart slug
source_urlstringURL to the indicator on ourworldindata.org
columnsarrayColumn names in the data (entity, year, and value columns)
countnumberNumber of rows returned
rowsarrayLong-format data rows with entity, year, and indicator values
Full JSON Schema
{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string",
      "description": "OWID chart slug"
    },
    "source_url": {
      "type": "string",
      "description": "URL to the indicator on ourworldindata.org"
    },
    "columns": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Column names in the data (entity, year, and value columns)"
    },
    "count": {
      "type": "number",
      "description": "Number of rows returned"
    },
    "rows": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "entity": {
            "type": "string",
            "description": "Country or region name"
          },
          "year": {
            "type": [
              "number",
              "null"
            ],
            "description": "Year of observation (null if not available)"
          }
        },
        "additionalProperties": {
          "description": "Value columns (mixed number or string values)"
        }
      },
      "description": "Long-format data rows with entity, year, and indicator values"
    }
  },
  "required": [
    "slug",
    "source_url",
    "columns",
    "count",
    "rows"
  ]
}

Connect

Add this to your MCP client config, or use one-click install buttons:

{
  "mcpServers": {
    "owid": {
      "url": "https://gateway.pipeworx.io/owid/mcp"
    }
  }
}

See Getting Started for client-specific install steps.

Regenerated from source · build June 27, 2026