{"openapi":"3.1.0","info":{"title":"Netherlands Statistics API","version":"1.0.0","description":"Official Dutch statistics from Statistics Netherlands (Centraal Bureau voor de Statistiek, CBS) as a clean, keyless JSON API. Get the latest Dutch consumer price index and inflation — index level (base 2015 = 100), month-on-month and year-on-year change — pull any table in the vast CBS StatLine OpenData catalogue as observations (prices, population, labour, trade, energy, housing and thousands more) without hand-writing OData queries, look up a table's metadata (title, period range, frequency), and search the catalogue by title. A thin gateway over the CBS StatLine OData v3 API: you supply a table identifier (e.g. 83131NED) with optional filter / select / paging, we return tidy JSON rows. Period codes are normalised (YYYYMMnn = month, YYYYKWnn = quarter, YYYYJJ00 = year). Ideal for inflation trackers, Dutch macro research and economic dashboards.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/netherlands-stats-api","description":"oanor gateway"}],"tags":[{"name":"Inflation"},{"name":"Data"},{"name":"Catalog"},{"name":"Meta"}],"components":{"securitySchemes":{"oanorKey":{"type":"apiKey","in":"header","name":"x-oanor-key","description":"Get your key at https://www.oanor.com/developer/keys"}}},"security":[{"oanorKey":[]}],"paths":{"/v1/cpi":{"get":{"operationId":"get_v1_cpi","tags":["Inflation"],"summary":"Latest Dutch CPI and inflation","description":"","parameters":[{"name":"periods","in":"query","required":false,"description":"Number of recent months (1-60)","schema":{"type":"string"},"example":"12"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"base":"2015 = 100","table":"83131NED","latest":{"period":"2025MM12","cpi_index":135.27,"period_iso":"2025-12","cpi_derived":132.49,"change_annual_pct":2.8,"change_monthly_pct":0},"series":[{"period":"2025MM12","cpi_index":135.27,"period_iso":"2025-12","cpi_derived":132.49,"change_annual_pct":2.8,"change_monthly_pct":0},{"period":"2025MM11","cpi_index":135.26,"period_iso":"2025-11","cpi_derived":132.48,"change_annual_pct":2.9,"change_monthly_pct":-0.8},{"period":"2025MM10","cpi_index":136.38,"period_iso":"2025-10","cpi_derived":133.58,"change_annual_pct":3.1,"change_monthly_pct":0.3},{"period":"2025MM09","cpi_index":135.92,"period_iso":"2025-09","cpi_derived":133.13,"change_annual_pct":3.3,"change_monthly_pct":-0.1},{"period":"2025MM08","cpi_index":135.99,"period_iso":"2025-08","cpi_derived":133.21,"change_annual_pct":2.8,"change_monthly_pct":0.2},{"period":"2025MM07","cpi_index":135.69,"period_iso":"2025-07","cpi_derived":132.91,"change_annual_pct":2.9,"change_monthly_pct":1.3},{"period":"2025MM06","cpi_index":133.96,"period_iso":"2025-06","cpi_derived":131.22,"change_annual_pct":3.1,"change_monthly_pct":0},{"period":"2025MM05","cpi_index":134,"period_iso":"2025-05","cpi_derived":131.26,"change_annual_pct":3.3,"change_monthly_pct":-0.5},{"period":"2025MM04","cpi_index":134.72,"period_iso":"2025-04","cpi_derived":131.96,"change_annual_pct":4.1,"change_monthly_pct":1},{"period":"2025MM03","cpi_index":133.33,"period_iso":"2025-03","cpi_derived":130.6,"change_annual_pct":3.7,"change_monthly_pct":0.4},{"period":"2025MM02","cpi_index":132.8,"period_iso":"2025-02","cpi_derived":130.08,"change_annual_pct":3.8,"change_monthly_pct":1.1},{"period":"2025MM01","cpi_index":131.35,"period_iso":"2025-01","cpi_derived":128.66,"change_annual_pct":3.3,"change_monthly_pct":-0.2}],"source":"Statistics Netherlands (CBS)","measure":"Consumer price index"},"meta":{"timestamp":"2026-06-15T11:14:37.152Z","request_id":"1128c641-0041-4522-90fb-20fc0e6de396"},"status":"ok","message":"CPI retrieved successfully","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/dataset":{"get":{"operationId":"get_v1_dataset","tags":["Data"],"summary":"Observations from any CBS StatLine table","description":"","parameters":[{"name":"table","in":"query","required":true,"description":"CBS table identifier","schema":{"type":"string"},"example":"83131NED"},{"name":"top","in":"query","required":false,"description":"Max rows (1-1000)","schema":{"type":"string"},"example":"10"},{"name":"filter","in":"query","required":false,"description":"OData $filter expression","schema":{"type":"string"},"example":"substringof('2025',Perioden)"},{"name":"select","in":"query","required":false,"description":"OData $select fields","schema":{"type":"string"},"example":"Perioden,CPI_1"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"rows":[{"CPI_1":131.35,"Perioden":"2025MM01"},{"CPI_1":132.8,"Perioden":"2025MM02"},{"CPI_1":133.33,"Perioden":"2025MM03"},{"CPI_1":134.72,"Perioden":"2025MM04"},{"CPI_1":134,"Perioden":"2025MM05"},{"CPI_1":133.96,"Perioden":"2025MM06"},{"CPI_1":135.69,"Perioden":"2025MM07"},{"CPI_1":135.99,"Perioden":"2025MM08"},{"CPI_1":135.92,"Perioden":"2025MM09"},{"CPI_1":136.38,"Perioden":"2025MM10"}],"count":10,"table":"83131NED"},"meta":{"timestamp":"2026-06-15T11:14:37.240Z","request_id":"c615b161-88cb-4b36-832b-2116c738206a"},"status":"ok","message":"Dataset retrieved successfully","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/catalog":{"get":{"operationId":"get_v1_catalog","tags":["Catalog"],"summary":"Search the StatLine catalogue by title","description":"","parameters":[{"name":"q","in":"query","required":false,"description":"Title search term","schema":{"type":"string"},"example":"prijs"},{"name":"top","in":"query","required":false,"description":"Max results (1-100)","schema":{"type":"string"},"example":"20"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"count":20,"query":"prijs","tables":[{"title":"Productie gebouwen, prijsindex 2015=100","period":"1e kwartaal 2015 - 1e kwartaal 2026","updated":"2026-04-30T02:00:00","frequency":"Perkwartaal","identifier":"83547NED"},{"title":"Grond-, weg- en waterbouw (GWW); inputprijsindex 2020=100","period":"januari 2020 - april 2026","updated":"2026-05-29T02:00:00","frequency":"Perdriemaanden","identifier":"86049NED"},{"title":"Grond-, weg- en waterbouw (GWW); inputprijsindex 2000 = 100, vanaf 1979","period":"februari 1979 - april 2026","updated":"2026-05-29T02:00:00","frequency":"Perdriemaanden","identifier":"81139ned"},{"title":"Nieuwbouwwoningen; inputprijsindex bouwkosten 2021=100","period":"januari 2018 - april 2026","updated":"2026-05-29T02:00:00","frequency":"Permaand","identifier":"85728NED"},{"title":"Nieuwbouwwoningen; inputprijsindex bouwkosten 2000=100, vanaf 1990","period":"januari 1990 - April 2026","updated":"2026-05-29T02:00:00","frequency":"Permaand","identifier":"80444ned"},{"title":"Nieuwbouwwoningen; outputprijsindex bouwkosten 2021=100","period":"2018 1e kwartaal - 2025 4e kwartaal","updated":"2026-03-30T02:00:00","frequency":"Perkwartaal","identifier":"85772NED"},{"title":"Nieuwbouwwoningen; outputprijsindex bouwkosten 2000 = 100, vanaf 1914","period":"1914 - 2025 4e kwartaal","updated":"2026-03-30T02:00:00","frequency":"Perkwartaal","identifier":"80334ned"},{"title":"Bestaande koopwoningen; verkoopprijzen prijsindex 2020=100","period":"januari 1995 - april 2026","updated":"2026-05-22T06:30:00","frequency":"Permaand","identifier":"85773NED"},{"title":"Bestaande koopwoningen; verkoopprijzen; woningtype; prijsindex 2020=100","period":"1995 kwartaal 1 - 2026 kwartaal 1","updated":"2026-04-22T02:00:00","frequency":"Perkwartaal","identifier":"85791NED"},{"title":"Bestaande koopwoningen; verkoopprijzen, prijsindex 2020=100, regio","period":"1e kwartaal 1995 - 1e kwartaal 2026","updated":"2026-04-22T02:00:00","frequency":"Perkwartaal","identifier":"85792NED"},{"title":"Bestaande koopwoningen; verkoopprijzen prijsindex 2020=100, regio (COROP)","period":"1995 1e kwartaal - 2026 1e kwartaal","updated":"2026-04-22T02:00:00","frequency":"Perkwartaal","identifier":"85819NED"},{"title":"Koopwoningen; nieuwe en bestaande, prijsindex 2020=100","period":"2010 kwartaal 1 - 2025 kwartaal 4","updated":"2026-04-07T02:00:00","frequency":"Perkwartaal","identifier":"85822NED"},{"title":"Caribisch Nederland, Bonaire; verkochte woningen prijsindex 2011=100","period":"2011-2024","updated":"2025-09-12T06:30:00","frequency":"Perjaar","identifier":"83396NED"},{"title":"Caribisch Nederland; consumentenprijsindex (CPI) 2017=100","period":"1e kwartaal 2010 - 1e kwartaal 2026","updated":"2026-05-20T15:30:00","frequency":"Perkwartaal","identifier":"84046NED"},{"title":"Operationele autolease; prijsindex 2021=100","period":"3e kwartaal 2001 – 1e kwartaal 2026, jaargemiddelden 2002 - 2025","updated":"2026-05-19T02:00:00","frequency":"Perkwartaal","identifier":"85784NED"},{"title":"Consumentenprijzen; prijsindex 2015=100, 1996-2025","period":"1996 januari - 2025 december","updated":"2026-03-10T02:00:00","frequency":"Stopgezet","identifier":"83131NED"},{"title":"Consumentenprijzen; Europees geharmoniseerde prijsindex 2015=100, 1996-2025","period":"1996 januari - 2025 december","updated":"2026-03-10T02:00:00","frequency":"Stopgezet","identifier":"83133NED"},{"title":"Jaarmutatie consumentenprijsindex; vanaf 1963","period":"1963 januari - 2026 mei","updated":"2026-06-09T06:30:00","frequency":"Permaand","identifier":"70936ned"},{"title":"Consumentenprijzen; prijsindex 1900=100","period":"1900 - 2025","updated":"2026-02-12T06:30:00","frequency":"Perjaar","identifier":"71905ned"},{"title":"Nieuwbouwwoningen; inputprijsindex bouwkosten 2015=100 2012-2023","period":"januari 2012 - december 2023","updated":"2024-03-11T02:00:00","frequency":"Stopgezet","identifier":"83887NED"}]},"meta":{"timestamp":"2026-06-15T11:14:37.333Z","request_id":"dbeac236-67a2-4177-afd3-f0a1780aab1c"},"status":"ok","message":"Catalog retrieved successfully","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/tableinfo":{"get":{"operationId":"get_v1_tableinfo","tags":["Catalog"],"summary":"Table metadata (title, period, frequency)","description":"","parameters":[{"name":"table","in":"query","required":true,"description":"CBS table identifier","schema":{"type":"string"},"example":"83131NED"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"table":"83131NED","title":"Consumentenprijzen; prijsindex 2015=100, 1996-2025","period":"–","source":"CBS.","summary":"Consumentenprijsindex alle huishoudens naar consumentenbestedingen\nPrijsindex, maand en jaar ontwikkeling en wegingscoëfficiënt","updated":"2026-02-12T06:30:00","frequency":"Stopgezet","short_title":"CPI; prijsindex 2015=100"},"meta":{"timestamp":"2026-06-15T11:14:37.404Z","request_id":"8fb35147-86ce-473e-8d02-853e80baa382"},"status":"ok","message":"Table info retrieved successfully","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/meta":{"get":{"operationId":"get_v1_meta","tags":["Meta"],"summary":"Service metadata","description":"","parameters":[],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"Dataset/tableinfo take a CBS table identifier, e.g. 83131NED (consumer prices). Period codes: YYYYMMnn = month, YYYYKWnn = quarter, YYYYJJ00 = year.","source":"Statistics Netherlands (Centraal Bureau voor de Statistiek, CBS)","upstream":"https://opendata.cbs.nl/ODataApi/odata","cpi_table":"83131NED","endpoints":["/v1/cpi","/v1/dataset","/v1/tableinfo","/v1/catalog","/v1/meta"],"description":"Keyless gateway over the CBS StatLine OpenData (OData v3) API. /v1/cpi gives the latest Dutch consumer price index and inflation; /v1/dataset pulls any StatLine table's observations; /v1/tableinfo and /v1/catalog discover the catalogue.","documentation":"https://netherlands-stats-api.oanor.dev"},"meta":{"timestamp":"2026-06-15T11:14:37.465Z","request_id":"eb7a8175-7d4f-43a0-8d64-0b49e57bd896"},"status":"ok","message":"Meta","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}}},"x-oanor-pricing":[{"slug":"free","name":"Free","price_cents_month":0,"monthly_call_quota":2800,"rps_limit":3,"hard_limit":true},{"slug":"basic","name":"Basic","price_cents_month":1090,"monthly_call_quota":53000,"rps_limit":10,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":3040,"monthly_call_quota":196000,"rps_limit":25,"hard_limit":true},{"slug":"mega","name":"Mega","price_cents_month":6650,"monthly_call_quota":805000,"rps_limit":60,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/netherlands-stats-api"}