{"id":"eurostat","name":"Eurostat","description":"Search Eurostat's ~6,600 EU datasets (Norway included) and fetch dimensions, codes and statistics flattened from JSON-stat 2.0.","documentation":"https://ec.europa.eu/eurostat/web/user-guides/data-browser/api-data-access","operations":[{"name":"search_tables","description":"Free-text search across Eurostat's dataset catalog (titles and codes). Signature: search_tables(query: string, required; limit: integer, items, optional, default 15; offset: integer, items, optional, default 0).","signature":"search_tables(query: string, required; limit: integer, items, optional, default 15; offset: integer, items, optional, default 0)","parameters":[{"name":"query","type":"string","schema":{"type":"string"},"required":true,"default":null,"description":"English search terms, e.g. \"gdp\", \"unemployment rate monthly\", \"house price index\", or a dataset code like \"nama_10_gdp\".","unit":null,"display_type":"string"},{"name":"limit","type":"integer","schema":{"type":"integer"},"required":false,"default":15,"description":"Max datasets to return (default 15, max 100). Unit: items.","unit":"items","display_type":"integer"},{"name":"offset","type":"integer","schema":{"type":"integer","minimum":0,"default":0},"display_type":"integer","required":false,"default":0,"description":"Number of list items to skip before returning the page.","unit":"items"}],"json_get_url_template":"https://allemannsdata.com/wiki/api/v1/kilder/eurostat/search_tables?query={query}&limit=15&offset=0","output_fields":["[].id","[].title","[].type","[].data_start","[].data_end","[].last_updated","[].values","[].hint"],"output_fields_truncated":false,"canonical_field_aliases":{"identifier":["[].id"],"name":["[].title"]},"description_language":"en","documentation":"Free-text search across Eurostat's dataset catalog (titles and codes).\n\nArgs:\n    query: English search terms, e.g. \"gdp\", \"unemployment rate monthly\",\n        \"house price index\", or a dataset code like \"nama_10_gdp\".\n    limit: Max datasets to return (default 15, max 100).\n\nEurostat has no search endpoint, so this downloads the table of contents\nonce a day and matches titles locally: datasets whose title contains every\nterm rank first, then partial matches, earliest hit first. Only titles are\nsearched, never the data, so use topic words rather than country names\n(every dataset covers all countries; pick \"NO\" in get_table_data instead).\n\nReturns dataset codes, titles, the period covered (data_start/data_end),\nwhen the data was last updated and how many values the dataset holds.\n\"table\" entries are Eurostat's pre-defined tables and work the same way.\nFeed an id into get_table_metadata() to see what you can filter on.\n\nSignature: search_tables(query: string, required; limit: integer, items, optional, default 15; offset: integer, items, optional, default 0).","documentation_language":"en","wiki_get_endpoint":"https://allemannsdata.com/wiki/kilder/eurostat/search_tables/","wiki_get_url_template":"https://allemannsdata.com/wiki/kilder/eurostat/search_tables/?query={query}&limit=15&offset=0","json_endpoint":"https://allemannsdata.com/wiki/api/v1/kilder/eurostat/search_tables","response_schema":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"title":{"type":"string"},"type":{"type":"string","enum":["dataset","table"]},"data_start":{"type":["string","null"]},"data_end":{"type":["string","null"]},"last_updated":{"type":["string","null"],"format":"date"},"values":{"type":["integer","null"]}},"additionalProperties":false,"required":["id","title","type"]},{"type":"object","properties":{"hint":{"type":"string"}},"additionalProperties":false,"required":["hint"]}]}},"response_schema_status":{"status":"declared","codegen_safe":true,"description":"Maintained response contract."},"entity_projection":{"status":"intentionally_none","entity_types":[],"description":"No stable cross-source entity projection is defined for this operation; entities is intentionally empty."},"response_schema_url":"https://allemannsdata.com/wiki/api/v1/kilder/eurostat/search_tables/schema","endpoint":"https://allemannsdata.com/wiki/api/v1/kilder/eurostat/search_tables","get_url_template":"https://allemannsdata.com/wiki/api/v1/kilder/eurostat/search_tables?query={query}&limit=15&offset=0","response_example":{"source":"eurostat","operation":"search_tables","parameters":{"query":"example value","limit":15},"data":[{"id":"example-id","title":"Example","type":"dataset","data_start":"example value","data_end":"example value","last_updated":"2026-01-15T12:00:00Z","values":1}],"entities":[],"_meta":{"retrieved_at":"2026-01-15T12:00:00Z","language":"en","content_languages":["en"],"sources":[{"id":"eurostat","name":"Eurostat","description":"Search Eurostat's ~6,600 EU datasets (Norway included) and fetch dimensions, codes and statistics flattened from JSON-stat 2.0.","cache_ttl_seconds":300,"documentation":"https://ec.europa.eu/eurostat/web/user-guides/data-browser/api-data-access"}]},"_provenance":{"data":{"source":"eurostat","source_api":"https://allemannsdata.com/wiki/api/v1/kilder/eurostat"},"entities":{"source":"eurostat","source_api":"https://allemannsdata.com/wiki/api/v1/kilder/eurostat","derived_from":"#/data","description":"Normalized projection of data."}},"_links":{"self":"https://allemannsdata.com/wiki/api/v1/kilder/eurostat/search_tables","source":"https://allemannsdata.com/wiki/api/v1/kilder/eurostat","wiki":"https://allemannsdata.com/wiki/kilder/eurostat/search_tables/","feedback":"https://allemannsdata.com/wiki/api/v1/feedback"}}},{"name":"get_table_metadata","description":"Get a dataset's dimensions and the valid codes/labels for each. Signature: get_table_metadata(table_id: string, required; value_filter: string, optional, default None; limit: integer, items, optional, default 25; offset: integer, items, optional, default 0).","signature":"get_table_metadata(table_id: string, required; value_filter: string, optional, default None; limit: integer, items, optional, default 25; offset: integer, items, optional, default 0)","parameters":[{"name":"table_id","type":"string","schema":{"type":"string"},"required":true,"default":null,"description":"Eurostat dataset code, e.g. \"nama_10_gdp\".","unit":null,"display_type":"string"},{"name":"value_filter","type":"string","schema":{"anyOf":[{"type":"string"},{"type":"null"}]},"required":false,"default":null,"description":"Optional case-insensitive substring to filter each dimension's values by code or label, e.g. \"norway\" or \"CP_MEUR\". Use it to find the code for one country or unit instead of paging through the full lists.","unit":null,"display_type":"string"},{"name":"limit","type":"integer","schema":{"type":"integer","minimum":1,"maximum":100,"default":25},"display_type":"integer","required":false,"default":25,"description":"Maximum list items returned by the gateway (default 25, maximum 100).","unit":"items"},{"name":"offset","type":"integer","schema":{"type":"integer","minimum":0,"default":0},"display_type":"integer","required":false,"default":0,"description":"Number of list items to skip before returning the page.","unit":"items"}],"json_get_url_template":"https://allemannsdata.com/wiki/api/v1/kilder/eurostat/get_table_metadata?table_id={table_id}&value_filter={value_filter}&limit=25&offset=0","output_fields":["id","title","updated","dimensions","dimensions[].id","dimensions[].label","dimensions[].time","dimensions[].values","dimensions[].values[].code","dimensions[].values[].label","dimensions[].note"],"output_fields_truncated":false,"canonical_field_aliases":{"identifier":["id","dimensions[].id","dimensions[].values[].code"],"name":["title","dimensions[].label","dimensions[].values[].label"],"timestamp":["dimensions[].time"]},"description_language":"en","documentation":"Get a dataset's dimensions and the valid codes/labels for each.\n\nArgs:\n    table_id: Eurostat dataset code, e.g. \"nama_10_gdp\".\n    value_filter: Optional case-insensitive substring to filter each\n        dimension's values by code or label, e.g. \"norway\" or \"CP_MEUR\".\n        Use it to find the code for one country or unit instead of paging\n        through the full lists.\n\nReturns the dataset title, when it was last updated and, per dimension in\nquery order, its id, label, whether it is the time dimension, and its\nvalues as [{code, label}]. Every dataset has a `geo` dimension (Norway is\n\"NO\", the EU aggregate \"EU27_2020\") and a `time` dimension whose codes\nfollow the dataset's frequency: \"2023\" (annual), \"2023-Q1\" (quarterly),\n\"2023-01\" (monthly). Pass dimension ids and value codes to\nget_table_data(). Without value_filter, value lists are capped at 300 per\ndimension (with a note) and the time dimension shows the first 3 and\nlatest 12 periods.\n\nSignature: get_table_metadata(table_id: string, required; value_filter: string, optional, default None; limit: integer, items, optional, default 25; offset: integer, items, optional, default 0).","documentation_language":"en","wiki_get_endpoint":"https://allemannsdata.com/wiki/kilder/eurostat/get_table_metadata/","wiki_get_url_template":"https://allemannsdata.com/wiki/kilder/eurostat/get_table_metadata/?table_id={table_id}&value_filter={value_filter}&limit=25&offset=0","json_endpoint":"https://allemannsdata.com/wiki/api/v1/kilder/eurostat/get_table_metadata","response_schema":{"type":"object","properties":{"id":{"type":"string"},"title":{"type":["string","null"]},"updated":{"type":["string","null"]},"dimensions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"label":{"type":"string"},"time":{"type":"boolean"},"values":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string"},"label":{"type":"string"}},"additionalProperties":false,"required":["code","label"]}},"note":{"type":["string","null"]}},"additionalProperties":false,"required":["id","label","time","values"]}}},"additionalProperties":false,"required":["id","dimensions"]},"response_schema_status":{"status":"declared","codegen_safe":true,"description":"Maintained response contract."},"entity_projection":{"status":"intentionally_none","entity_types":[],"description":"No stable cross-source entity projection is defined for this operation; entities is intentionally empty."},"response_schema_url":"https://allemannsdata.com/wiki/api/v1/kilder/eurostat/get_table_metadata/schema","endpoint":"https://allemannsdata.com/wiki/api/v1/kilder/eurostat/get_table_metadata","get_url_template":"https://allemannsdata.com/wiki/api/v1/kilder/eurostat/get_table_metadata?table_id={table_id}&value_filter={value_filter}&limit=25&offset=0","response_example":{"source":"eurostat","operation":"get_table_metadata","parameters":{"table_id":"example-id","value_filter":"example value"},"data":{"id":"example-id","title":"Example","updated":"2026-01-15T12:00:00Z","dimensions":[{"id":"example-id","label":"Example","time":true,"values":[{"code":"example value","label":"Example"}],"note":"example value"}]},"entities":[],"_meta":{"retrieved_at":"2026-01-15T12:00:00Z","language":"en","content_languages":["en"],"sources":[{"id":"eurostat","name":"Eurostat","description":"Search Eurostat's ~6,600 EU datasets (Norway included) and fetch dimensions, codes and statistics flattened from JSON-stat 2.0.","cache_ttl_seconds":300,"documentation":"https://ec.europa.eu/eurostat/web/user-guides/data-browser/api-data-access"}]},"_provenance":{"data":{"source":"eurostat","source_api":"https://allemannsdata.com/wiki/api/v1/kilder/eurostat"},"entities":{"source":"eurostat","source_api":"https://allemannsdata.com/wiki/api/v1/kilder/eurostat","derived_from":"#/data","description":"Normalized projection of data."}},"_links":{"self":"https://allemannsdata.com/wiki/api/v1/kilder/eurostat/get_table_metadata","source":"https://allemannsdata.com/wiki/api/v1/kilder/eurostat","wiki":"https://allemannsdata.com/wiki/kilder/eurostat/get_table_metadata/","feedback":"https://allemannsdata.com/wiki/api/v1/feedback"}}},{"name":"get_table_data","description":"Query a dataset and return it as labeled rows. Signature: get_table_data(table_id: string, required; selections: JSON object, required; last_periods: integer, optional, default None; since: string, optional, default None; until: string, optional, default None; limit: integer, items, optional, default 25; offset: integer, items, optional, default 0).","signature":"get_table_data(table_id: string, required; selections: JSON object, required; last_periods: integer, optional, default None; since: string, optional, default None; until: string, optional, default None; limit: integer, items, optional, default 25; offset: integer, items, optional, default 0)","parameters":[{"name":"table_id","type":"string","schema":{"type":"string"},"required":true,"default":null,"description":"Eurostat dataset code, e.g. \"nama_10_gdp\".","unit":null,"display_type":"string"},{"name":"selections","type":"object","schema":{"additionalProperties":true,"type":"object"},"required":true,"default":null,"description":"Dict of {dimension_id: [codes]} using ids and codes from get_table_metadata(), e.g. {\"geo\": [\"NO\", \"SE\", \"EU27_2020\"], \"na_item\": [\"B1GQ\"], \"unit\": [\"CP_MEUR\"]}. Codes are case-insensitive. An omitted dimension returns all its values, so filter at least one non-time dimension; unfiltered datasets run to tens or hundreds of MB and are refused. Explicit periods go in \"time\" (e.g. {\"time\": [\"2022\", \"2023\"]}) instead of the options below.","unit":null,"display_type":"JSON object"},{"name":"last_periods","type":"integer","schema":{"anyOf":[{"type":"integer"},{"type":"null"}]},"required":false,"default":null,"description":"Return only the latest N periods (e.g. 5).","unit":null,"display_type":"integer"},{"name":"since","type":"string","schema":{"anyOf":[{"type":"string"},{"type":"null"}]},"required":false,"default":null,"description":"First period to include, e.g. \"2015\" or \"2024-Q1\".","unit":null,"display_type":"string"},{"name":"until","type":"string","schema":{"anyOf":[{"type":"string"},{"type":"null"}]},"required":false,"default":null,"description":"Last period to include (may be combined with since).","unit":null,"display_type":"string"},{"name":"limit","type":"integer","schema":{"type":"integer","minimum":1,"maximum":100,"default":25},"display_type":"integer","required":false,"default":25,"description":"Maximum list items returned by the gateway (default 25, maximum 100).","unit":"items"},{"name":"offset","type":"integer","schema":{"type":"integer","minimum":0,"default":0},"display_type":"integer","required":false,"default":0,"description":"Number of list items to skip before returning the page.","unit":"items"}],"json_get_url_template":"https://allemannsdata.com/wiki/api/v1/kilder/eurostat/get_table_data?table_id={table_id}&selections={selections}&last_periods={last_periods}&since={since}&until={until}&limit=25&offset=0","output_fields":["id","title","updated","unit","rows","total_cells","returned","truncated","flag_legend","note"],"output_fields_truncated":false,"canonical_field_aliases":{"identifier":["id"],"name":["title"]},"description_language":"en","documentation":"Query a dataset and return it as labeled rows.\n\nArgs:\n    table_id: Eurostat dataset code, e.g. \"nama_10_gdp\".\n    selections: Dict of {dimension_id: [codes]} using ids and codes from\n        get_table_metadata(), e.g. {\"geo\": [\"NO\", \"SE\", \"EU27_2020\"],\n        \"na_item\": [\"B1GQ\"], \"unit\": [\"CP_MEUR\"]}. Codes are\n        case-insensitive. An omitted dimension returns all its values, so\n        filter at least one non-time dimension; unfiltered datasets run to\n        tens or hundreds of MB and are refused. Explicit periods go in\n        \"time\" (e.g. {\"time\": [\"2022\", \"2023\"]}) instead of the options\n        below.\n    last_periods: Return only the latest N periods (e.g. 5).\n    since: First period to include, e.g. \"2015\" or \"2024-Q1\".\n    until: Last period to include (may be combined with since).\n\nUse exactly one way of restricting time: \"time\" codes in selections,\nlast_periods, or since/until. With none, every period is returned.\n\nReturns `rows` (each a dict of dimension_label -> value_label plus a\nnumeric `value` and, when Eurostat flags the cell, `flag`), `unit` (when\na single unit is selected), `total_cells` (cells with data), `returned`,\n`truncated` (true if more than 2000 rows were available), `updated` and a\n`flag_legend` for any flags present (\"p\" provisional, \"b\" break in\nseries, \"e\" estimated ...). Cells without data are omitted. Attribution:\n\"Source: Eurostat\".\n\nSignature: get_table_data(table_id: string, required; selections: JSON object, required; last_periods: integer, optional, default None; since: string, optional, default None; until: string, optional, default None; limit: integer, items, optional, default 25; offset: integer, items, optional, default 0).","documentation_language":"en","wiki_get_endpoint":"https://allemannsdata.com/wiki/kilder/eurostat/get_table_data/","wiki_get_url_template":"https://allemannsdata.com/wiki/kilder/eurostat/get_table_data/?table_id={table_id}&selections={selections}&last_periods={last_periods}&since={since}&until={until}&limit=25&offset=0","json_endpoint":"https://allemannsdata.com/wiki/api/v1/kilder/eurostat/get_table_data","response_schema":{"type":"object","properties":{"id":{"type":"string"},"title":{"type":["string","null"]},"updated":{"type":["string","null"]},"unit":{"type":["string","null"]},"rows":{"type":"array","items":{"type":"object","additionalProperties":{"type":["string","number","null"]}}},"total_cells":{"type":"integer"},"returned":{"type":"integer"},"truncated":{"type":"boolean"},"flag_legend":{"type":"object","additionalProperties":{"type":"string"}},"note":{"type":["string","null"]}},"additionalProperties":false,"required":["id","rows","total_cells","returned","truncated","flag_legend"]},"response_schema_status":{"status":"declared","codegen_safe":true,"description":"Maintained response contract."},"entity_projection":{"status":"intentionally_none","entity_types":[],"description":"No stable cross-source entity projection is defined for this operation; entities is intentionally empty."},"response_schema_url":"https://allemannsdata.com/wiki/api/v1/kilder/eurostat/get_table_data/schema","endpoint":"https://allemannsdata.com/wiki/api/v1/kilder/eurostat/get_table_data","get_url_template":"https://allemannsdata.com/wiki/api/v1/kilder/eurostat/get_table_data?table_id={table_id}&selections={selections}&last_periods={last_periods}&since={since}&until={until}&limit=25&offset=0","response_example":{"source":"eurostat","operation":"get_table_data","parameters":{"table_id":"example-id","selections":{},"last_periods":1,"since":"example value","until":"example value"},"data":{"id":"example-id","title":"Example","updated":"2026-01-15T12:00:00Z","unit":"example value","rows":[{"example_key":"example value"}],"total_cells":1,"returned":1,"truncated":true,"flag_legend":{"example_key":"example value"},"note":"example value"},"entities":[],"_meta":{"retrieved_at":"2026-01-15T12:00:00Z","language":"en","content_languages":["en"],"sources":[{"id":"eurostat","name":"Eurostat","description":"Search Eurostat's ~6,600 EU datasets (Norway included) and fetch dimensions, codes and statistics flattened from JSON-stat 2.0.","cache_ttl_seconds":300,"documentation":"https://ec.europa.eu/eurostat/web/user-guides/data-browser/api-data-access"}]},"_provenance":{"data":{"source":"eurostat","source_api":"https://allemannsdata.com/wiki/api/v1/kilder/eurostat"},"entities":{"source":"eurostat","source_api":"https://allemannsdata.com/wiki/api/v1/kilder/eurostat","derived_from":"#/data","description":"Normalized projection of data."}},"_links":{"self":"https://allemannsdata.com/wiki/api/v1/kilder/eurostat/get_table_data","source":"https://allemannsdata.com/wiki/api/v1/kilder/eurostat","wiki":"https://allemannsdata.com/wiki/kilder/eurostat/get_table_data/","feedback":"https://allemannsdata.com/wiki/api/v1/feedback"}}}],"operation_schema_url_template":"https://allemannsdata.com/wiki/api/v1/kilder/eurostat/{operation}/schema","related_sources":[],"_meta":{"retrieved_at":"2026-09-07T22:05:18Z","language":"en","content_languages":["en"],"sources":[{"id":"eurostat","name":"Eurostat","description":"Search Eurostat's ~6,600 EU datasets (Norway included) and fetch dimensions, codes and statistics flattened from JSON-stat 2.0.","documentation":"https://ec.europa.eu/eurostat/web/user-guides/data-browser/api-data-access","cache_ttl_seconds":300}]},"_links":{"self":"https://allemannsdata.com/wiki/api/v1/kilder/eurostat","names":"https://allemannsdata.com/wiki/api/v1/kilder/eurostat?view=names","compact":"https://allemannsdata.com/wiki/api/v1/kilder/eurostat?view=compact","full":"https://allemannsdata.com/wiki/api/v1/kilder/eurostat","wiki":"https://allemannsdata.com/wiki/kilder/eurostat/","feedback":"https://allemannsdata.com/wiki/api/v1/feedback"}}
