{"openapi":"3.1.0","info":{"title":"Poland Statistics API","version":"1.0.0","description":"Official Polish statistics from Statistics Poland (Główny Urząd Statystyczny, GUS) via its Local Data Bank (BDL) as a clean, keyless JSON API. Get the latest Polish consumer price index and inflation — the annual index where the previous year = 100, so a value above 100 is the inflation rate — fetch any BDL variable's national time-series by its id, search the bank's 170,000+ variables by name, and browse the subject tree (prices, labour, population, national accounts, industry, trade and far more). A thin gateway over the GUS BDL REST API: you supply a variable id and how many recent years you want, we return tidy year/value observations. Ideal for inflation trackers, Polish and Central-European macro research and economic dashboards.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/poland-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 Polish CPI and inflation","description":"","parameters":[{"name":"periods","in":"query","required":false,"description":"Number of recent years (1-60)","schema":{"type":"string"},"example":"12"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"Annual index where the previous year = 100; a value above 100 indicates inflation.","unit":"POLAND","latest":{"year":"2025","value":103.6},"series":[{"year":"2025","value":103.6},{"year":"2024","value":103.6},{"year":"2023","value":111.4},{"year":"2022","value":114.4},{"year":"2021","value":105.1},{"year":"2020","value":103.4},{"year":"2019","value":102.3},{"year":"2018","value":101.6},{"year":"2017","value":102},{"year":"2016","value":99.4},{"year":"2015","value":99.1},{"year":"2014","value":100}],"source":"Statistics Poland (GUS) — Local Data Bank (BDL)","measure":"Consumer price index (previous year = 100)","variable_id":217230},"meta":{"timestamp":"2026-06-15T11:14:31.913Z","request_id":"f0517620-3c8d-495a-89d6-185eb9982074"},"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/variable":{"get":{"operationId":"get_v1_variable","tags":["Data"],"summary":"National time-series for any BDL variable","description":"","parameters":[{"name":"variable","in":"query","required":true,"description":"BDL variable id","schema":{"type":"string"},"example":"217230"},{"name":"periods","in":"query","required":false,"description":"Recent years (1-240)","schema":{"type":"string"},"example":"12"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"unit":"POLAND","count":12,"series":[{"year":"2025","value":103.6},{"year":"2024","value":103.6},{"year":"2023","value":111.4},{"year":"2022","value":114.4},{"year":"2021","value":105.1},{"year":"2020","value":103.4},{"year":"2019","value":102.3},{"year":"2018","value":101.6},{"year":"2017","value":102},{"year":"2016","value":99.4},{"year":"2015","value":99.1},{"year":"2014","value":100}],"variable_id":217230,"measure_unit_id":1},"meta":{"timestamp":"2026-06-15T11:14:31.989Z","request_id":"589efdb4-1fdf-4f34-b980-be32ae03d394"},"status":"ok","message":"Variable 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/search":{"get":{"operationId":"get_v1_search","tags":["Catalog"],"summary":"Search BDL variables by name","description":"","parameters":[{"name":"q","in":"query","required":true,"description":"Search term","schema":{"type":"string"},"example":"unemployment"},{"name":"limit","in":"query","required":false,"description":"Max results (1-100)","schema":{"type":"string"},"example":"25"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"count":25,"query":"unemployment","total":172563,"variables":[{"id":6,"name":"total","level":6,"subject_id":"P1312","measure_unit_id":26},{"id":7,"name":"males","level":6,"subject_id":"P1312","measure_unit_id":26},{"id":8,"name":"females","level":6,"subject_id":"P1312","measure_unit_id":26},{"id":34032,"name":"total — total","level":6,"subject_id":"P1313","measure_unit_id":26},{"id":9,"name":"total — under 25 years","level":6,"subject_id":"P1313","measure_unit_id":26},{"id":10,"name":"total — 25-29","level":6,"subject_id":"P1313","measure_unit_id":26},{"id":11,"name":"total — 30-39","level":6,"subject_id":"P1313","measure_unit_id":26},{"id":12,"name":"total — 40-59","level":6,"subject_id":"P1313","measure_unit_id":26},{"id":259865,"name":"total — 40-49","level":6,"subject_id":"P1313","measure_unit_id":26},{"id":259862,"name":"total — 50-59","level":6,"subject_id":"P1313","measure_unit_id":26},{"id":13,"name":"total — 60 and more","level":6,"subject_id":"P1313","measure_unit_id":26},{"id":34033,"name":"males — total","level":6,"subject_id":"P1313","measure_unit_id":26},{"id":20016,"name":"males — under 25 years","level":6,"subject_id":"P1313","measure_unit_id":26},{"id":20017,"name":"males — 25-29","level":6,"subject_id":"P1313","measure_unit_id":26},{"id":20018,"name":"males — 30-39","level":6,"subject_id":"P1313","measure_unit_id":26},{"id":20019,"name":"males — 40-59","level":6,"subject_id":"P1313","measure_unit_id":26},{"id":259866,"name":"males — 40-49","level":6,"subject_id":"P1313","measure_unit_id":26},{"id":259863,"name":"males — 50-59","level":6,"subject_id":"P1313","measure_unit_id":26},{"id":20020,"name":"males — 60 and more","level":6,"subject_id":"P1313","measure_unit_id":26},{"id":34034,"name":"females — total","level":6,"subject_id":"P1313","measure_unit_id":26},{"id":9181,"name":"females — under 25 years","level":6,"subject_id":"P1313","measure_unit_id":26},{"id":9182,"name":"females — 25-29","level":6,"subject_id":"P1313","measure_unit_id":26},{"id":9183,"name":"females — 30-39","level":6,"subject_id":"P1313","measure_unit_id":26},{"id":9184,"name":"females — 40-59","level":6,"subject_id":"P1313","measure_unit_id":26},{"id":259867,"name":"females — 40-49","level":6,"subject_id":"P1313","measure_unit_id":26}]},"meta":{"timestamp":"2026-06-15T11:14:32.077Z","request_id":"f0861ef6-35bf-46a3-9dc1-ede92f0f249f"},"status":"ok","message":"Search completed 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/subjects":{"get":{"operationId":"get_v1_subjects","tags":["Catalog"],"summary":"Browse the BDL subject tree","description":"","parameters":[{"name":"parent","in":"query","required":false,"description":"Parent subject id (omit for root)","schema":{"type":"string"},"example":"K15"},{"name":"limit","in":"query","required":false,"description":"Max results (1-200)","schema":{"type":"string"},"example":"50"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"count":5,"total":5,"parent":"K15","subjects":[{"id":"G186","name":"PRICES IN AGRICULTURE","children":["P1458","P1459","P1460","P2967","P2968","P3155","P3156","P3183","P3415"],"has_variables":false},{"id":"G188","name":"AVERAGE RETAIL PRICES OF GOODS AND CONSUMER SERVICES","children":["P1466","P1467","P1468","P1469","P1470","P1471","P1472","P1473","P2917"],"has_variables":false},{"id":"G189","name":"AVERAGE RETAIL PRICES OF NON-CONSUMER GOODS","children":["P1474"],"has_variables":false},{"id":"G187","name":"AVERAGE PRODUCER'S PRICES ON DOMESTIC MARKET","children":["P1461","P1462","P1463","P1464","P1465"],"has_variables":false},{"id":"G405","name":"PRICE INDICES","children":["P2496","P2955"],"has_variables":false}]},"meta":{"timestamp":"2026-06-15T11:14:32.161Z","request_id":"fca692fc-cf8f-49c3-915c-76123fc42e07"},"status":"ok","message":"Subjects 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":"variable takes a BDL variable id (e.g. 217230); subjects parent takes a subject id (e.g. K15 = Prices).","source":"Statistics Poland (Główny Urząd Statystyczny, GUS) — Local Data Bank (BDL)","upstream":"https://bdl.stat.gov.pl/api/v1","endpoints":["/v1/cpi","/v1/variable","/v1/search","/v1/subjects","/v1/meta"],"description":"Keyless gateway over GUS's BDL REST API. /v1/cpi gives the latest Polish consumer price index (previous year = 100); /v1/variable fetches any BDL variable's national series; /v1/search finds variables by name; /v1/subjects browses the subject tree.","cpi_variable":217230,"documentation":"https://poland-stats-api.oanor.dev"},"meta":{"timestamp":"2026-06-15T11:14:32.249Z","request_id":"59f32ddd-2b21-4b39-9ac9-8aacc3dc347d"},"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":2900,"rps_limit":3,"hard_limit":true},{"slug":"basic","name":"Basic","price_cents_month":1210,"monthly_call_quota":52000,"rps_limit":10,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":3090,"monthly_call_quota":201000,"rps_limit":25,"hard_limit":true},{"slug":"mega","name":"Mega","price_cents_month":6840,"monthly_call_quota":832000,"rps_limit":60,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/poland-stats-api"}