Data source: Eurostat
https://context.gnist.ai/rest/eurostat/
AuthenticationAll requests require a Gnist-API-Key header (or api_key query parameter).
Free tier: 100 calls/day. Get your API key.
Tools (6)
get_statFetch a time series from a Eurostat dataset filtered by geographic area.
Covers economic, demographic, environmental, health, trade, and agricultural
statistics for EU/EEA countries. Data is free to use (CC-BY-4.0).
Args:
dataset_code: Eurostat dataset identifier (e.g. "nama_10_gdp" for national accounts,
"lfsi_emp_a" for employment). Use search_datasets or list_datasets to discover codes.
geo: ISO 3166-1 alpha-2 country/region code (e.g. "NO", "DE", "EU27_2020").
Comma-separated for multiple geographies (e.g. "NO,SE,DK").
time_from: Start year (inclusive), e.g. 2015.
time_to: End year (inclusive), e.g. 2023.
unit: Unit filter code (e.g. "CP_MEUR" for current prices in millions of euros,
"PC_GDP" for percentage of GDP). Optional — omit to get all units.
freq: Frequency code: "A" (annual, default), "Q" (quarterly), "M" (monthly).
Returns:
Dict with dataset_code, geo, count, and a list of {geo, time, value} records
sorted by time descending. Values may be null where data is unavailable.
| Parameter | Type | Required | Description |
|---|---|---|---|
dataset_code | string | required | Eurostat dataset identifier (e.g. "nama_10_gdp" for national accounts, "lfsi_emp_a" for employment). Use search_datasets or list_datasets to discover codes. |
geo | string | required | ISO 3166-1 alpha-2 country/region code (e.g. "NO", "DE", "EU27_2020"). Comma-separated for multiple geographies (e.g. "NO,SE,DK"). |
time_from | any | optional | Start year (inclusive), e.g. 2015. |
time_to | any | optional | End year (inclusive), e.g. 2023. |
unit | any | optional | Unit filter code (e.g. "CP_MEUR" for current prices in millions of euros, "PC_GDP" for percentage of GDP). Optional — omit to get all units. |
freq | string | optional | Frequency code: "A" (annual, default), "Q" (quarterly), "M" (monthly). (default: "A") |
{
"dataset_code": "example",
"geo": "NO"
}search_datasetsSearch Eurostat dataset catalogue by keyword.
Covers 6,000+ statistical datasets across economics, demographics, environment,
health, trade, agriculture, and more from EU and European countries.
Args:
query: Search term (e.g. "gdp", "unemployment", "greenhouse gas").
limit: Maximum number of results to return (default 20).
Returns:
Matching datasets with code, title, and data availability period.
Use the code field with get_stat or compare_countries.
| Parameter | Type | Required | Description |
|---|---|---|---|
query | string | required | Search term (e.g. "gdp", "unemployment", "greenhouse gas"). |
limit | integer | optional | Maximum number of results to return (default 20). (default: 20) |
{
"query": "example"
}list_datasetsBrowse all available Eurostat datasets, optionally filtered by topic keyword.
Args:
topic_filter: Optional keyword to filter dataset titles (e.g. "trade", "energy",
"migration"). Case-insensitive substring match on title and code.
If omitted, returns the first 50 datasets from the catalogue.
Returns:
Up to 50 datasets with code, title, and data availability period.
Use the code field with get_stat, compare_countries, or search_datasets.
| Parameter | Type | Required | Description |
|---|---|---|---|
topic_filter | any | optional | Optional keyword to filter dataset titles (e.g. "trade", "energy", "migration"). Case-insensitive substring match on title and code. If omitted, returns the first 50 datasets from the catalogue. |
{
"query": "example"
}compare_countriesCompare one Eurostat dataset across multiple countries for a given year.
Args:
dataset_code: Eurostat dataset identifier (e.g. "nama_10_gdp").
Use search_datasets to find the right code.
geo_codes: List of ISO 3166-1 alpha-2 or Eurostat geo codes
(e.g. ["NO", "SE", "DE", "FR"]).
year: The year to compare (e.g. 2022).
unit: Unit filter code (e.g. "CP_MEUR"). Optional.
Returns:
Dict with dataset_code, year, and values mapping geo_code to numeric value.
Values may be null if data is unavailable for a country/year pair.
| Parameter | Type | Required | Description |
|---|---|---|---|
dataset_code | string | required | Eurostat dataset identifier (e.g. "nama_10_gdp"). Use search_datasets to find the right code. |
geo_codes | list[string] | required | List of ISO 3166-1 alpha-2 or Eurostat geo codes (e.g. ["NO", "SE", "DE", "FR"]). |
year | integer | required | The year to compare (e.g. 2022). |
unit | any | optional | Unit filter code (e.g. "CP_MEUR"). Optional. |
{
"dataset_code": "example",
"geo_codes": [
"example"
],
"year": 1
}country_profileGet a snapshot of key economic and demographic indicators for a European country.
Fetches GDP, employment rate, and population in parallel from Eurostat.
Data sourced from Eurostat (CC-BY-4.0), free to use.
Args:
geo_code: ISO 3166-1 alpha-2 country code (e.g. "NO", "DE", "FR", "SE").
Also accepts EU aggregates like "EU27_2020", "EA20".
year: Specific year to retrieve. Defaults to most recent available.
Returns:
Country profile with GDP (million EUR), employment rate (%), and population.
Any field may be null if Eurostat has no data for that country/year combination.
| Parameter | Type | Required | Description |
|---|---|---|---|
geo_code | string | required | ISO 3166-1 alpha-2 country code (e.g. "NO", "DE", "FR", "SE"). Also accepts EU aggregates like "EU27_2020", "EA20". |
year | any | optional | Specific year to retrieve. Defaults to most recent available. |
{
"geo_code": "NO"
}report_feedbackReport a bug, feature request, or general feedback for this data source.
Use this when something doesn't work as expected, when you'd like
a new feature, or when you have suggestions for improvement.
Args:
feedback: Describe the issue or suggestion.
feedback_type: One of 'bug', 'feature_request', or 'general'.
| Parameter | Type | Required | Description |
|---|---|---|---|
feedback | string | required | |
feedback_type | string | optional | (default: "general") |
{
"feedback": "example"
}Quick Start
curl -X POST "https://context.gnist.ai/rest/eurostat/get_stat" \
-H "Content-Type: application/json" \
-H "Gnist-API-Key: YOUR_API_KEY" \
-d '{"dataset_code": "example", "geo": "example"}'
import httpx
resp = httpx.post(
"https://context.gnist.ai/rest/eurostat/get_stat",
headers={"Gnist-API-Key": "YOUR_API_KEY"},
json={
"dataset_code": "example",
"geo": "example"
},
)
print(resp.json())