Poland Local Statistics – GUS BDL API (Gmina, Powiat, TERYT) avatar

Poland Local Statistics – GUS BDL API (Gmina, Powiat, TERYT)

Pricing

$0.50 / 1,000 statistics row returneds

Go to Apify Store
Poland Local Statistics – GUS BDL API (Gmina, Powiat, TERYT)

Poland Local Statistics – GUS BDL API (Gmina, Powiat, TERYT)

Official GUS Bank Danych Lokalnych (BDL) API as flat rows for gmina, powiat and voivodeship: population, REGON, unemployment, budgets, housing. Includes TERYT codes. No scraping.

Pricing

$0.50 / 1,000 statistics row returneds

Rating

0.0

(0)

Developer

Almmity

Almmity

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

9 days ago

Last modified

Categories

Share

GUS BDL API Scraper – Bank Danych Lokalnych, TERYT, Polish Local Statistics

Official Statistics Poland (GUS) data for every gmina, powiat and województwo as one flat table: population, REGON firms, wages, unemployment, housing, municipal budgets and tens of thousands of other Bank Danych Lokalnych (BDL) variables. Includes official TERYT codes for GIS/CRM joins. Export to Excel, CSV, JSON, Google Sheets, Power BI or your own app via the Apify API.

PL: Oficjalne dane GUS / Bank Danych Lokalnych dla gmin, powiatów i województw w jednej tabeli, z kodami TERYT. Bez ręcznego szukania ID jednostek i bez stronicowania API. Wpisz słowo (np. „bezrobocia”, „REGON”, „mieszkania oddane”), wybierz poziom i lata – pobierz Excel lub CSV.

Source: public GUS BDL REST API (bdl.stat.gov.pl/api/v1). No scraping, no login.

Who is this for

  • Real-estate / retail location analysts – population, dwellings, wages by gmina or powiat for site selection.
  • Franchise & expansion teams – REGON firm density and unemployment maps before opening a new city.
  • Grant / EU-funds consultants – regional indicators for applications (pairs with Poland EU Funding Calls (Nabory)).
  • Local journalists, students, market researchers – reproducible GUS extracts without clicking through bdl.stat.gov.pl.

Why use it

  • Official source only – GUS BDL API, not HTML scraping.
  • Flat rows – one row = unit × indicator × year, with readable names, measure unit, BDL unit ID and TERYT.
  • Find variables by word – type Polish search terms; matched variable IDs are logged.
  • Any level down to gmina, optionally limited to one voivodeship or powiat (parentUnitId).
  • Handles GUS rate limits (waits/retries on HTTP 429). Optional free BDL clientId for very large pulls.

Input examples by buyer type

Location analyst – population of every voivodeship, 2023–2024:

{"presets": ["population"], "unitLevel": "2", "years": ["2023", "2024"]}

Franchise expansion – firms per 10k residents in every gmina of Mazowieckie, 2024:

{"searchTerms": ["REGON na 10 tys"], "maxVariablesPerSearch": 1, "unitLevel": "6", "parentUnitId": "071400000000", "years": ["2024"]}

Grant consultant – unemployment + budget revenue + dwellings for every powiat, 2023–2024:

{"presets": ["unemployment_rate", "budget_own_revenue_pc", "dwellings_per_1000"], "unitLevel": "5", "years": ["2023", "2024"], "maxItems": 5000}

Ready-made presets: population, firms_per_10k, wage_vs_national (relative PL=100; BDL has no absolute PLN average wage at powiat/gmina), unemployment_rate (December registered rate), dwellings_per_1000, budget_own_revenue_pc (gmina budgets), powiat_budget_own_revenue_pc (powiat budgets, 314 land powiats with real values, 2002–2025; the 66 cities with powiat rights return 0 here because GUS books their revenue in the city/gmina budget, so use budget_own_revenue_pc for them; 2024 median for land powiats: 714.80 zł).

Output example

{"variableId": 72305, "variableFullName": "Ludność wg grup wieku i płci: ogółem – ogółem", "measureUnit": "osoba",
"unitId": "071412865028", "unitName": "Bemowo - dzielnica", "teryt": "1465028", "unitLevel": 6, "unitLevelName": "gmina",
"year": 2024, "value": 128895, "attrId": 1}

Fields: variableId, variableName, variableFullName, subjectId, subjectName, measureUnit, unitId, unitName, teryt (official TERYT: 2 digits voivodeship, 4 powiat, 7 gmina incl. type digit – join with GUS TERYT, PRG/GIS maps; empty for NUTS 0/1/3/4), unitLevel, unitLevelName, parentUnitId, year, value, attrId, apiUrl.

Example dataset (demo run)

Cheap public demo on build 0.1.10 (2026-10-16): presets: ["population"], unitLevel: "2", years: ["2024"] → 16 voivodeship rows with TERYT.

Unit levels

0 Poland, 1 macroregion, 2 voivodeship (województwo), 3 region, 4 subregion (podregion), 5 powiat, 6 gmina. Variables not published at the chosen level are skipped with a log warning. Level 6 returns about 4,200 units (urban/rural parts of mixed gminas and Warsaw districts listed separately).

Pricing

Pay per result: you pay only for rows returned. Use maxItems and years to control cost.

Tips

  • Leave years empty for the whole time series (often 1995–2025).
  • Common voivodeship IDs: 071400000000 Mazowieckie, 011200000000 Małopolskie, 012400000000 Śląskie. Run once at level 2 to see all 16.
  • Data licence: GUS publishes BDL for free reuse; cite "Źródło: GUS, Bank Danych Lokalnych".

Keywords: GUS BDL, Bank Danych Lokalnych, GUS API, BDL API, TERYT, dane GUS gminy, statystyka powiatów, Polish local statistics, ludność gmin, bezrobocie powiaty, REGON, dochody własne gmin.