{"openapi":"3.0.3","info":{"title":"Gnist Context — Eurostat","description":"EU statistical data — demographics, trade, GDP, employment, and social indicators.\n\n- **MCP endpoint:** `https://context.gnist.ai/mcp/eurostat/`\n- **Toolkit page:** `/toolkits/eurostat`\n- **Full API spec:** `/api/openapi.json`\n- **Get an API key:** `/signup`","version":"1.0.0","contact":{"name":"GnistAI","url":"https://gnist.ai"}},"servers":[{"url":"https://context.gnist.ai","description":"Production"}],"paths":{"/rest/eurostat/get_stat":{"post":{"tags":["Economics"],"summary":"get_stat","description":"Fetch a time series from a Eurostat dataset filtered by geographic area.\n\nCovers economic, demographic, environmental, health, trade, and agricultural\nstatistics for EU/EEA countries. Data is free to use (CC-BY-4.0).\n\nArgs:\n    dataset_code: Eurostat dataset identifier (e.g. \"nama_10_gdp\" for national accounts,\n                  \"lfsi_emp_a\" for employment). Use search_datasets or list_datasets to discover codes.\n    geo: ISO 3166-1 alpha-2 country/region code (e.g. \"NO\", \"DE\", \"EU27_2020\").\n         Comma-separated for multiple geographies (e.g. \"NO,SE,DK\").\n    time_from: Start year (inclusive), e.g. 2015.\n    time_to: End year (inclusive), e.g. 2023.\n    unit: Unit filter code (e.g. \"CP_MEUR\" for current prices in millions of euros,\n          \"PC_GDP\" for percentage of GDP). Optional — omit to get all units.\n    freq: Frequency code: \"A\" (annual, default), \"Q\" (quarterly), \"M\" (monthly).\n\nReturns:\n    Dict with dataset_code, geo, count, and a list of {geo, time, value} records\n    sorted by time descending. Values may be null where data is unavailable.","operationId":"eurostat_get_stat","responses":{"200":{"description":"Successful tool call","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Server or tool not found"},"500":{"description":"Tool execution error"}},"security":[{"ApiKeyHeader":[]},{"ApiKeyQuery":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"dataset_code":{"description":"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.","type":"string"},"geo":{"description":"ISO 3166-1 alpha-2 country/region code (e.g. \"NO\", \"DE\", \"EU27_2020\"). Comma-separated for multiple geographies (e.g. \"NO,SE,DK\").","type":"string"},"time_from":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"description":"Start year (inclusive), e.g. 2015."},"time_to":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"description":"End year (inclusive), e.g. 2023."},"unit":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"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":{"default":"A","description":"Frequency code: \"A\" (annual, default), \"Q\" (quarterly), \"M\" (monthly).","type":"string"}},"required":["dataset_code","geo"],"type":"object"}}}}}},"/rest/eurostat/search_datasets":{"post":{"tags":["Economics"],"summary":"search_datasets","description":"Search Eurostat dataset catalogue by keyword.\n\nCovers 6,000+ statistical datasets across economics, demographics, environment,\nhealth, trade, agriculture, and more from EU and European countries.\n\nArgs:\n    query: Search term (e.g. \"gdp\", \"unemployment\", \"greenhouse gas\").\n    limit: Maximum number of results to return (default 20).\n\nReturns:\n    Matching datasets with code, title, and data availability period.\n    Use the code field with get_stat or compare_countries.","operationId":"eurostat_search_datasets","responses":{"200":{"description":"Successful tool call","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Server or tool not found"},"500":{"description":"Tool execution error"}},"security":[{"ApiKeyHeader":[]},{"ApiKeyQuery":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"query":{"description":"Search term (e.g. \"gdp\", \"unemployment\", \"greenhouse gas\").","type":"string"},"limit":{"default":20,"description":"Maximum number of results to return (default 20).","type":"integer"}},"required":["query"],"type":"object"}}}}}},"/rest/eurostat/list_datasets":{"post":{"tags":["Economics"],"summary":"list_datasets","description":"Browse all available Eurostat datasets, optionally filtered by topic keyword.\n\nArgs:\n    topic_filter: Optional keyword to filter dataset titles (e.g. \"trade\", \"energy\",\n                  \"migration\"). Case-insensitive substring match on title and code.\n                  If omitted, returns the first 50 datasets from the catalogue.\n\nReturns:\n    Up to 50 datasets with code, title, and data availability period.\n    Use the code field with get_stat, compare_countries, or search_datasets.","operationId":"eurostat_list_datasets","responses":{"200":{"description":"Successful tool call","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Server or tool not found"},"500":{"description":"Tool execution error"}},"security":[{"ApiKeyHeader":[]},{"ApiKeyQuery":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"topic_filter":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"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."}},"type":"object"}}}}}},"/rest/eurostat/compare_countries":{"post":{"tags":["Economics"],"summary":"compare_countries","description":"Compare one Eurostat dataset across multiple countries for a given year.\n\nArgs:\n    dataset_code: Eurostat dataset identifier (e.g. \"nama_10_gdp\").\n                  Use search_datasets to find the right code.\n    geo_codes: List of ISO 3166-1 alpha-2 or Eurostat geo codes\n               (e.g. [\"NO\", \"SE\", \"DE\", \"FR\"]).\n    year: The year to compare (e.g. 2022).\n    unit: Unit filter code (e.g. \"CP_MEUR\"). Optional.\n\nReturns:\n    Dict with dataset_code, year, and values mapping geo_code to numeric value.\n    Values may be null if data is unavailable for a country/year pair.","operationId":"eurostat_compare_countries","responses":{"200":{"description":"Successful tool call","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Server or tool not found"},"500":{"description":"Tool execution error"}},"security":[{"ApiKeyHeader":[]},{"ApiKeyQuery":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"dataset_code":{"description":"Eurostat dataset identifier (e.g. \"nama_10_gdp\"). Use search_datasets to find the right code.","type":"string"},"geo_codes":{"description":"List of ISO 3166-1 alpha-2 or Eurostat geo codes (e.g. [\"NO\", \"SE\", \"DE\", \"FR\"]).","items":{"type":"string"},"type":"array"},"year":{"description":"The year to compare (e.g. 2022).","type":"integer"},"unit":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Unit filter code (e.g. \"CP_MEUR\"). Optional."}},"required":["dataset_code","geo_codes","year"],"type":"object"}}}}}},"/rest/eurostat/country_profile":{"post":{"tags":["Economics"],"summary":"country_profile","description":"Get a snapshot of key economic and demographic indicators for a European country.\n\nFetches GDP, employment rate, and population in parallel from Eurostat.\nData sourced from Eurostat (CC-BY-4.0), free to use.\n\nArgs:\n    geo_code: ISO 3166-1 alpha-2 country code (e.g. \"NO\", \"DE\", \"FR\", \"SE\").\n              Also accepts EU aggregates like \"EU27_2020\", \"EA20\".\n    year: Specific year to retrieve. Defaults to most recent available.\n\nReturns:\n    Country profile with GDP (million EUR), employment rate (%), and population.\n    Any field may be null if Eurostat has no data for that country/year combination.","operationId":"eurostat_country_profile","responses":{"200":{"description":"Successful tool call","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Server or tool not found"},"500":{"description":"Tool execution error"}},"security":[{"ApiKeyHeader":[]},{"ApiKeyQuery":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"geo_code":{"description":"ISO 3166-1 alpha-2 country code (e.g. \"NO\", \"DE\", \"FR\", \"SE\"). Also accepts EU aggregates like \"EU27_2020\", \"EA20\".","type":"string"},"year":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"description":"Specific year to retrieve. Defaults to most recent available."}},"required":["geo_code"],"type":"object"}}}}}},"/rest/eurostat/report_feedback":{"post":{"tags":["Economics"],"summary":"report_feedback","description":"Report a bug, feature request, or general feedback for this data source.\n\nUse this when something doesn't work as expected, when you'd like\na new feature, or when you have suggestions for improvement.\n\nArgs:\n    feedback: Describe the issue or suggestion.\n    feedback_type: One of 'bug', 'feature_request', or 'general'.","operationId":"eurostat_report_feedback","responses":{"200":{"description":"Successful tool call","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Server or tool not found"},"500":{"description":"Tool execution error"}},"security":[{"ApiKeyHeader":[]},{"ApiKeyQuery":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"feedback":{"type":"string"},"feedback_type":{"default":"general","type":"string"}},"required":["feedback"],"type":"object"}}}}}}},"tags":[{"name":"Economics","description":"Data sources: Economics"}],"components":{"securitySchemes":{"ApiKeyHeader":{"type":"apiKey","in":"header","name":"gnist-api-key","description":"API key passed via request header."},"ApiKeyQuery":{"type":"apiKey","in":"query","name":"gnist_api_key","description":"API key passed via query parameter."}}}}