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
| Name | Type | Required | Description |
|---|---|---|---|
slug | string | yes | OWID chart slug (the URL path segment) |
country | string | no | Filter to a single entity (country/region name or ISO code) |
since_year | number | no | Drop rows before this year |
until_year | number | no | Drop rows after this year |
limit | number | no | Cap 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
| Field | Type | Description |
|---|---|---|
slug | string | OWID chart slug |
source_url | string | URL to the indicator on ourworldindata.org |
columns | array | Column names in the data (entity, year, and value columns) |
count | number | Number of rows returned |
rows | array | Long-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.