{"id":"imdi","name":"Integration statistics (IMDi)","description":"Settlement, introduction-programme and labour statistics for immigrants per municipality, from the undocumented endpoint behind IMDi's statistics pages.","documentation":"https://www.imdi.no/tall-og-statistikk/","operations":[{"name":"list_tables","description":"List IMDi's statistics tables. Signature: list_tables(query: string, optional, default None; limit: integer, items, optional, default 25; offset: integer, items, optional, default 0).","signature":"list_tables(query: string, optional, default None; limit: integer, items, optional, default 25; offset: integer, items, optional, default 0)","parameters":[{"name":"query","type":"string","schema":{"anyOf":[{"type":"string"},{"type":"null"}]},"required":false,"default":null,"description":"Case-insensitive substring of the table name or description (e.g. \"bosatt\"). Omit for all tables.","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/imdi/list_tables?query={query}&limit=25&offset=0","output_fields":["count","tables","tables[].name","tables[].description"],"output_fields_truncated":false,"canonical_field_aliases":{"name":["tables[].name"]},"description_language":"en","documentation":"List IMDi's statistics tables.\n\nThe API is the undocumented backend behind imdi.no \"Tall og statistikk\" and\nmay change without notice; for documented statistics covering much of the\nsame ground, use Statistics Norway (SSB).\n\nArgs:\n    query: Case-insensitive substring of the table name or description\n        (e.g. \"bosatt\"). Omit for all tables.\n\nReturns `count` and `tables`, each with `name` (use it with\nget_table_dimensions and query_table) and `description`.\n\nData: IMDi (Integrerings- og mangfoldsdirektoratet).\n\nSignature: list_tables(query: 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/imdi/list_tables/","wiki_get_url_template":"https://allemannsdata.com/wiki/kilder/imdi/list_tables/?query={query}&limit=25&offset=0","json_endpoint":"https://allemannsdata.com/wiki/api/v1/kilder/imdi/list_tables","response_schema":{"type":"object","properties":{"count":{"type":"integer"},"tables":{"type":"array","items":{"type":"object","properties":{"name":{"type":["string","null"]},"description":{"type":["string","null"]}},"additionalProperties":false}}},"additionalProperties":false,"required":["count","tables"]},"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/imdi/list_tables/schema","endpoint":"https://allemannsdata.com/wiki/api/v1/kilder/imdi/list_tables","get_url_template":"https://allemannsdata.com/wiki/api/v1/kilder/imdi/list_tables?query={query}&limit=25&offset=0","response_example":{"source":"imdi","operation":"list_tables","parameters":{"query":"example value"},"data":{"count":1,"tables":[{"name":"Example","description":"example value"}]},"entities":[],"_meta":{"retrieved_at":"2026-01-15T12:00:00Z","language":"en","content_languages":["en"],"sources":[{"id":"imdi","name":"Integration statistics (IMDi)","description":"Settlement, introduction-programme and labour statistics for immigrants per municipality, from the undocumented endpoint behind IMDi's statistics pages.","cache_ttl_seconds":86400,"documentation":"https://www.imdi.no/tall-og-statistikk/"}]},"_provenance":{"data":{"source":"imdi","source_api":"https://allemannsdata.com/wiki/api/v1/kilder/imdi"},"entities":{"source":"imdi","source_api":"https://allemannsdata.com/wiki/api/v1/kilder/imdi","derived_from":"#/data","description":"Normalized projection of data."}},"_links":{"self":"https://allemannsdata.com/wiki/api/v1/kilder/imdi/list_tables","source":"https://allemannsdata.com/wiki/api/v1/kilder/imdi","wiki":"https://allemannsdata.com/wiki/kilder/imdi/list_tables/","feedback":"https://allemannsdata.com/wiki/api/v1/feedback"}}},{"name":"get_table_dimensions","description":"The dimensions and code lists of one IMDi statistics table. Signature: get_table_dimensions(table: string, required; limit: integer, items, optional, default 25; offset: integer, items, optional, default 0).","signature":"get_table_dimensions(table: string, required; limit: integer, items, optional, default 25; offset: integer, items, optional, default 0)","parameters":[{"name":"table","type":"string","schema":{"type":"string"},"required":true,"default":null,"description":"A table name from list_tables, e.g. \"bosatt_befolkning\".","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/imdi/get_table_dimensions?table={table}&limit=25&offset=0","output_fields":["table","groups","groups[].dimensions"],"output_fields_truncated":false,"canonical_field_aliases":{},"description_language":"en","documentation":"The dimensions and code lists of one IMDi statistics table.\n\nA table is split into several header groups, each breaking the figures down\nalong a different geographic dimension (kommuneNr, bydelNr, fylkeNr, ...).\nUse the dimension names and codes here to build a query_table call.\n\nThe API is the undocumented backend behind imdi.no \"Tall og statistikk\" and\nmay change without notice; for documented statistics covering much of the\nsame ground, use Statistics Norway (SSB).\n\nArgs:\n    table: A table name from list_tables, e.g. \"bosatt_befolkning\".\n\nReturns `table` and `groups`, one entry per header group, each with\n`dimensions` mapping every dimension name to its `count` (number of codes)\nand `values` (the first 50 codes).\n\nData: IMDi (Integrerings- og mangfoldsdirektoratet).\n\nSignature: get_table_dimensions(table: string, required; limit: integer, items, optional, default 25; offset: integer, items, optional, default 0).","documentation_language":"en","wiki_get_endpoint":"https://allemannsdata.com/wiki/kilder/imdi/get_table_dimensions/","wiki_get_url_template":"https://allemannsdata.com/wiki/kilder/imdi/get_table_dimensions/?table={table}&limit=25&offset=0","json_endpoint":"https://allemannsdata.com/wiki/api/v1/kilder/imdi/get_table_dimensions","response_schema":{"type":"object","properties":{"table":{"type":"string"},"groups":{"type":"array","items":{"type":"object","properties":{"dimensions":{"type":"object","additionalProperties":{"type":"object","properties":{"count":{"type":"integer"},"values":{"type":"array","items":{"type":"string"}}},"additionalProperties":false,"required":["count","values"]}}},"additionalProperties":false,"required":["dimensions"]}}},"additionalProperties":false,"required":["table","groups"]},"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/imdi/get_table_dimensions/schema","endpoint":"https://allemannsdata.com/wiki/api/v1/kilder/imdi/get_table_dimensions","get_url_template":"https://allemannsdata.com/wiki/api/v1/kilder/imdi/get_table_dimensions?table={table}&limit=25&offset=0","response_example":{"source":"imdi","operation":"get_table_dimensions","parameters":{"table":"example value"},"data":{"table":"example value","groups":[{"dimensions":{"example_key":{"count":1,"values":["example value"]}}}]},"entities":[],"_meta":{"retrieved_at":"2026-01-15T12:00:00Z","language":"en","content_languages":["en"],"sources":[{"id":"imdi","name":"Integration statistics (IMDi)","description":"Settlement, introduction-programme and labour statistics for immigrants per municipality, from the undocumented endpoint behind IMDi's statistics pages.","cache_ttl_seconds":86400,"documentation":"https://www.imdi.no/tall-og-statistikk/"}]},"_provenance":{"data":{"source":"imdi","source_api":"https://allemannsdata.com/wiki/api/v1/kilder/imdi"},"entities":{"source":"imdi","source_api":"https://allemannsdata.com/wiki/api/v1/kilder/imdi","derived_from":"#/data","description":"Normalized projection of data."}},"_links":{"self":"https://allemannsdata.com/wiki/api/v1/kilder/imdi/get_table_dimensions","source":"https://allemannsdata.com/wiki/api/v1/kilder/imdi","wiki":"https://allemannsdata.com/wiki/kilder/imdi/get_table_dimensions/","feedback":"https://allemannsdata.com/wiki/api/v1/feedback"}}},{"name":"query_table","description":"Values from one IMDi statistics table. Signature: query_table(table: string, required; municipality: string, optional, default None; years: list of string (comma-separated), optional, default None; filters: string, optional, default None; limit: integer, items, optional, default 500; offset: integer, items, optional, default 0).","signature":"query_table(table: string, required; municipality: string, optional, default None; years: list of string (comma-separated), optional, default None; filters: string, optional, default None; limit: integer, items, optional, default 500; offset: integer, items, optional, default 0)","parameters":[{"name":"table","type":"string","schema":{"type":"string"},"required":true,"default":null,"description":"A table name from list_tables, e.g. \"bosatt_befolkning\".","unit":null,"display_type":"string"},{"name":"municipality","type":"string","schema":{"anyOf":[{"type":"string"},{"type":"null"}]},"required":false,"default":null,"description":"A 4-digit municipality number (e.g. \"4602\" for Kinn). Names are not accepted. Selects the header group that breaks the table down by kommuneNr; omit to use the first group.","unit":null,"display_type":"string"},{"name":"years","type":"array","schema":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"required":false,"default":null,"description":"Year codes to include, e.g. [\"2025\"]. Most tables use single years; a few use periods such as \"2021 til 2023\".","unit":null,"display_type":"list of string (comma-separated)"},{"name":"filters","type":"string","schema":{"anyOf":[{"type":"string"},{"type":"null"}]},"required":false,"default":null,"description":"Optional JSON object of extra conditions, dimension name to a list of codes, e.g. '{\"enhet\": [\"promille\"]}'. The dimension must exist in the chosen group. Explicit municipality/years win over the same dimension in filters.","unit":null,"display_type":"string"},{"name":"limit","type":"integer","schema":{"type":"integer"},"required":false,"default":500,"description":"Max rows to return, 1-5000 (default 500). Unit: items.","unit":"items","display_type":"integer"},{"name":"offset","type":"integer","schema":{"type":"integer"},"required":false,"default":0,"description":"Results to skip before the first one returned (default 0); with limit, pages through every match. Unit: items.","unit":"items","display_type":"integer"}],"json_get_url_template":"https://allemannsdata.com/wiki/api/v1/kilder/imdi/query_table?table={table}&municipality={municipality}&years={years}&filters={filters}&limit=500&offset=0","output_fields":["table","count","returned","rows","rows[].value"],"output_fields_truncated":false,"canonical_field_aliases":{},"description_language":"en","documentation":"Values from one IMDi statistics table.\n\nThe API is the undocumented backend behind imdi.no \"Tall og statistikk\" and\nmay change without notice; for documented statistics covering much of the\nsame ground, use Statistics Norway (SSB).\n\nArgs:\n    table: A table name from list_tables, e.g. \"bosatt_befolkning\".\n    municipality: A 4-digit municipality number (e.g. \"4602\" for Kinn).\n        Names are not accepted. Selects the header group that breaks the\n        table down by kommuneNr; omit to use the first group.\n    years: Year codes to include, e.g. [\"2025\"]. Most tables use single\n        years; a few use periods such as \"2021 til 2023\".\n    filters: Optional JSON object of extra conditions, dimension name to a\n        list of codes, e.g. '{\"enhet\": [\"promille\"]}'. The dimension must\n        exist in the chosen group. Explicit municipality/years win over the\n        same dimension in filters.\n    limit: Max rows to return, 1-5000 (default 500).\n    offset: Results to skip before the first one returned (default 0); with\n        limit, pages through every match.\n\nReturns `table`, `count` (rows fetched from the API), `returned` and `rows`.\nEach row has one key per included dimension (as text) plus `value` (the\nupstream tabellvariabel, as a float when it is numeric).\n\nData: IMDi (Integrerings- og mangfoldsdirektoratet).\n\nSignature: query_table(table: string, required; municipality: string, optional, default None; years: list of string (comma-separated), optional, default None; filters: string, optional, default None; limit: integer, items, optional, default 500; offset: integer, items, optional, default 0).","documentation_language":"en","wiki_get_endpoint":"https://allemannsdata.com/wiki/kilder/imdi/query_table/","wiki_get_url_template":"https://allemannsdata.com/wiki/kilder/imdi/query_table/?table={table}&municipality={municipality}&years={years}&filters={filters}&limit=500&offset=0","json_endpoint":"https://allemannsdata.com/wiki/api/v1/kilder/imdi/query_table","response_schema":{"type":"object","properties":{"table":{"type":"string"},"count":{"type":"integer"},"returned":{"type":"integer"},"rows":{"type":"array","items":{"type":"object","properties":{"value":{"type":["number","string","null"]}},"additionalProperties":{"type":["string","null"]}}}},"additionalProperties":false,"required":["table","count","returned","rows"]},"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/imdi/query_table/schema","endpoint":"https://allemannsdata.com/wiki/api/v1/kilder/imdi/query_table","get_url_template":"https://allemannsdata.com/wiki/api/v1/kilder/imdi/query_table?table={table}&municipality={municipality}&years={years}&filters={filters}&limit=500&offset=0","response_example":{"source":"imdi","operation":"query_table","parameters":{"table":"example value","municipality":"example value","years":["example value"],"filters":"example value","limit":500,"offset":0},"data":{"table":"example value","count":1,"returned":1,"rows":[{"value":1.0}]},"entities":[],"_meta":{"retrieved_at":"2026-01-15T12:00:00Z","language":"en","content_languages":["en"],"sources":[{"id":"imdi","name":"Integration statistics (IMDi)","description":"Settlement, introduction-programme and labour statistics for immigrants per municipality, from the undocumented endpoint behind IMDi's statistics pages.","cache_ttl_seconds":86400,"documentation":"https://www.imdi.no/tall-og-statistikk/"}]},"_provenance":{"data":{"source":"imdi","source_api":"https://allemannsdata.com/wiki/api/v1/kilder/imdi"},"entities":{"source":"imdi","source_api":"https://allemannsdata.com/wiki/api/v1/kilder/imdi","derived_from":"#/data","description":"Normalized projection of data."}},"_links":{"self":"https://allemannsdata.com/wiki/api/v1/kilder/imdi/query_table","source":"https://allemannsdata.com/wiki/api/v1/kilder/imdi","wiki":"https://allemannsdata.com/wiki/kilder/imdi/query_table/","feedback":"https://allemannsdata.com/wiki/api/v1/feedback"}}}],"operation_schema_url_template":"https://allemannsdata.com/wiki/api/v1/kilder/imdi/{operation}/schema","related_sources":[{"id":"ssb","name":"Statistics Norway","reason":"Documented population and migration statistics covering much of the same ground.","api":"https://allemannsdata.com/wiki/api/v1/kilder/ssb","wiki":"https://allemannsdata.com/wiki/kilder/ssb/"}],"_meta":{"retrieved_at":"2026-10-11T18:37:19Z","language":"en","content_languages":["en"],"sources":[{"id":"imdi","name":"Integration statistics (IMDi)","description":"Settlement, introduction-programme and labour statistics for immigrants per municipality, from the undocumented endpoint behind IMDi's statistics pages.","documentation":"https://www.imdi.no/tall-og-statistikk/","cache_ttl_seconds":86400}]},"_links":{"self":"https://allemannsdata.com/wiki/api/v1/kilder/imdi","names":"https://allemannsdata.com/wiki/api/v1/kilder/imdi?view=names","compact":"https://allemannsdata.com/wiki/api/v1/kilder/imdi?view=compact","full":"https://allemannsdata.com/wiki/api/v1/kilder/imdi","wiki":"https://allemannsdata.com/wiki/kilder/imdi/","feedback":"https://allemannsdata.com/wiki/api/v1/feedback"}}
