@varve/agency-sdks

Query JSON-stat Data

Fetch Eurostat JSON-stat datasets with filters and inspect dimension metadata.

Eurostat's Statistics API returns JSON-stat 2.0. Use getStatisticsData() when you know the dataset code and filter dimensions.

import { EurostatClient } from '@varve/eurostat-api';
 
const client = new EurostatClient();
 
const data = await client.getStatisticsData('prc_hicp_midx', {
  lang: 'en',
  filters: {
    freq: 'M',
    unit: 'I15',
    coicop: 'CP00',
    geo: 'DE',
    time: ['2024-01', '2024-02'],
  },
});
 
console.log(data.id);
console.log(data.size);
console.log(data.value);

Describe a dataset

describeDataset() converts JSON-stat dimensions into a compact summary. This is useful when building search, planner, or natural-language query flows.

const description = await client.describeDataset('demo_gind', {
  filters: {
    freq: 'A',
    indic_de: 'JAN',
    geo: ['DE', 'FR'],
  },
});
 
for (const dimension of description.dimensions) {
  console.log(dimension.id, dimension.label);
  console.log(dimension.categories.slice(0, 5));
}

Filtering

Filters are provider-native Eurostat dimension codes. Values can be a single primitive or an array:

await client.getStatisticsData('demo_gind', {
  filters: {
    freq: 'A',
    indic_de: 'JAN',
    geo: ['DE', 'FR', 'IT'],
    time: ['2021', '2022', '2023'],
  },
});

When you do not know valid dimension values, use describeDataset(), SDMX metadata, or a bounded graph metadata call before querying a large slice.

On this page