Osella

API v1

Дані про нерухомість Варшави: одна адреса, один запит

Ймовірні ціни з нотаріальних актів, найновіші угоди, школи з результатами іспитів, час доїзду від дверей до дверей, шум, повінь і місцевий план: дані звітів Osella у форматі JSON для вашої CRM, порталу чи моделі.

curl -G "https://osela.app/api/v1/price" \
  --data-urlencode "address=Hoża 50" \
  --data-urlencode "area_m2=52" \
  -H "X-API-Key: $HD_KEY"

Автентифікація й відповіді

Надсилайте ключ у заголовку X-API-Key кожного запиту. Ключі створюються й відкликаються у вашому обліковому записі; ми зберігаємо лише їхній хеш, тож загублений ключ замінюють новим, а не відновлюють.

  • Базова адреса https://osela.app/api/v1
  • Кожна відповідь { data, meta } data — це відповідь; meta містить дати даних, версію моделі й джерела, які треба вказати.
  • Заголовки X-Quota-Limit, X-Quota-Remaining, X-Quota-Period, X-Data-As-Of, X-Model-Version

Ціни — це статистичний аналіз ринку нотаріальних актів, а не оцінка майна (operat szacunkowy), яку може скласти лише ліцензований оцінювач.

Ліміти

API безкоштовне для кожного, хто ввійшов в Osella. Ліміти діють на обліковий запис, разом для всіх його ключів.

  • 50 успішних запитів на добу. Доба рахується за варшавським часом: запити відновлюються опівночі (Europe/Warsaw).
  • Щонайбільше один запит на секунду.
  • Ключі створюються на сторінці вашого облікового запису, щонайбільше 2 одночасно. Відкликаний ключ одразу перестає працювати.
  • Рахується лише відповідь із даними (статус 2xx). Відхилені й невдалі запити (401, 403, 404, 422, 429, помилки) не рахуються, як і /usage та /sources; для /usage теж діє один запит на секунду.
  • Понад ліміт API відповідає 429 із заголовком Retry-After: кількість секунд до півночі у Варшаві, коли запити на сьогодні вичерпано, або 1, коли запит надійшов зарано.
  • Кожна успішна відповідь на запит із ключем має заголовки X-Quota-Limit (50), X-Quota-Remaining (скільки запитів залишилося на сьогодні) і X-Quota-Period (day). GET /v1/usage дає те саме й час, коли починається нова доба.
  • Місця лише у Варшаві: адреса поза варшавським реєстром адрес або точка поза містом дає відповідь 404.

Помилки

401Ключ не надісланоSend your API key in the X-API-Key header
401Ключ не наш або його відкликаноUnknown or revoked API key
401Ключ не належить жодному обліковому записуThis key belongs to no account; make a new key in your account page
401Старий ключ, створений до лімітів на обліковий записThis key was made before the API's per-account limits and no longer works; make a new key in your account page
403Обліковий запис, якому належить ключ, заблокованоThis key's account is blocked, so its API keys do not work
404Немає такої адреси у Варшаві (відповідь підказує схожі)No such address in Warsaw's address register
404lat і lon вказують точку поза ВаршавоюThat point is outside Warsaw
422Бракує параметра чи значення поза межами, або в цій точці немає житла
429Запити на сьогодні вичерпано: Retry-After дає секунди до півночі у Варшаві, X-Quota-Remaining дорівнює 0This account's 50 API calls for today are used up; they come back at midnight Europe/Warsaw
429Менш ніж за секунду після останнього запиту облікового запису: Retry-After дорівнює 1This account makes at most one API call a second
{
  "detail": {
    "message": "No such address in Warsaw's address register",
    "suggestions": [
      "Hoża 88",
      "Hoża 86",
      "Hoża 76/78"
    ]
  }
}

Джерела й зазначення авторства

Показуючи дані, зазначайте джерела з meta.attribution. Дані з OpenStreetMap надаємо лише як оцінки й хвилини, ніколи як обʼєкти карти.

  • Rejestr Cen Nieruchomości, m.st. Warszawa deeds, price estimate, comparables
  • PRG address points, GUGiK address resolution
  • © OpenStreetMap contributors (ODbL 1.0) walking network and amenities, served as scores and minutes only
  • ZTM Warszawa, Koleje Mazowieckie and WKD GTFS, via mkuran.pl public transport times
  • CKE exam results, RSPO school register schools
  • m.st. Warszawa: strategic noise map 2022, school catchments, local zoning plans (MPZP) noise, schools, zoning
  • ISOK flood hazard maps (Wody Polskie) flood risk
  • Urząd m.st. Warszawy, city map portal (mapa.um.warszawa.pl): building permits, heritage register, paid parking and Clean Transport zones planning
  • Rejestr Żłobków i Klubów Dziecięcych, MRPiPS (CC0 1.0) nurseries
  • Komenda Stołeczna Policji, crime by district of Warsaw safety
  • GUS Bank Danych Lokalnych (CC BY 4.0) residents per district (safety rates)
  • Źródło danych: GIOŚ – EKOINFONET; modelling IOŚ-PIB (annual air-quality assessment), processed air

Місця

GET/v1/geocode

Знайти офіційні адреси (і вулиці) Варшави за текстом

ПараметрТипОпис
qобовʼязковийstringВведений текст: вулиця, з номером чи без
limitintegerтипово 8Скільки результатів (1–20)
curl -G "https://osela.app/api/v1/geocode" \
  --data-urlencode "q=Hoża 50" \
  -H "X-API-Key: $HD_KEY"
Приклад відповіді
{
  "data": [
    {
      "kind": "address",
      "label": "Hoża 50",
      "official": "Hoża 50",
      "district": "Śródmieście",
      "postcode": "00-682",
      "lat": 52.2263,
      "lon": 21.0129,
      "addr_key": "ulica hoża|50",
      "street_official": "ulica Hoża",
      "number": "50",
      "match": "exact"
    }
  ],
  "meta": {
    "…": "as in every response: api_version, data_as_of, model_version, attribution, took_ms"
  }
}

Ціни й акти

GET/v1/price

Ймовірна ціна продажу з діапазонами, порівнянними угодами й актами з будинку

ПараметрТипОпис
addressstringАдреса у Варшаві, звірена з державним реєстром адрес (PRG)
latnumberШирота замість адреси (разом з lon)
lonnumberДовгота замість адреси (разом з lat)
area_m2numberтипово 50Площа в м²
roomsintegerКількість кімнат
floorintegerПоверх за польською нумерацією (0 — партер, −1 — напівпідвал)
marketsecondary | primaryтипово secondarysecondary (вторинний ринок) або primary (первинний)
asking_pricenumberЦіна з оголошення в zł, для порівняння з актами

Вкажіть адресу або lat і lon. Адреса поза реєстром повертає 404 з найближчими варіантами.

curl -G "https://osela.app/api/v1/price" \
  --data-urlencode "address=Hoża 50" \
  --data-urlencode "area_m2=52" \
  --data-urlencode "rooms=2" \
  -H "X-API-Key: $HD_KEY"
Приклад відповіді
{
  "data": {
    "place": {
      "lat": 52.2263,
      "lon": 21.0129,
      "label": "Hoża 50",
      "addr_key": "ulica hoża|50"
    },
    "price": {
      "ppm2": 35135,
      "ppm2_low": 28110,
      "ppm2_high": 39594,
      "ppm2_low50": 31578,
      "ppm2_high50": 37175,
      "total": 1827000,
      "total_low": 1462000,
      "total_high": 2059000,
      "total_low50": 1642000,
      "total_high50": 1933000,
      "market": "secondary",
      "confidence": "low",
      "typical_error": 0.085,
      "as_of": "2026-04-30",
      "floor_assumed": [
        1,
        "… 6 more"
      ],
      "floor_basis": "building",
      "resale_only_building": false,
      "building": {
        "address": "Hoża 50",
        "match": "exact",
        "n_sales": 31,
        "n_recent": 5,
        "median_ppm2_now": 36487,
        "n_recent_other_market": 0,
        "median_ppm2_now_other_market": null,
        "first_year": 2016,
        "first_primary_year": 2016,
        "max_floor_seen": 7,
        "deeds": [
          {
            "date": "2025-12-31",
            "area": 74.7,
            "rooms": 3,
            "floor": 5,
            "market": "secondary",
            "price": 1720000,
            "ppm2": 23025,
            "ppm2_now": 23176,
            "excluded": "bulk",
            "contradicts_building": false
          },
          "… 30 more"
        ],
        "dist_m": 2
      },
      "model_version": "2026-10-12",
      "comps": [
        {
          "date": "2025-08-28",
          "address": "Hoża 50",
          "area": 72.1,
          "rooms": 3,
          "floor": 4,
          "market": "secondary",
          "price": 2600000,
          "ppm2": 36081,
          "ppm2_now": 36487,
          "dist_m": 2,
          "same_building": true,
          "buyer_company": false,
          "seller_company": false,
          "prev": null,
          "new_building": true,
          "lat": 52.2263,
          "lon": 21.0129,
          "developer_deed": false
        },
        "… 7 more"
      ]
    },
    "asking": null
  },
  "meta": {
    "api_version": "1.0",
    "data_as_of": {
      "deeds": "2026-04-30",
      "schools": "CKE 2024–2026",
      "noise": "2022"
    },
    "model_version": "2026-10-12",
    "attribution": [
      {
        "source": "Rejestr Cen Nieruchomości, m.st. Warszawa",
        "used_for": "deeds, price estimate, comparables",
        "url": "https://architektura.um.warszawa.pl/udostepniane-dane-rcn1"
      },
      {
        "source": "PRG address points, GUGiK",
        "used_for": "address resolution"
      },
      "… 5 more"
    ],
    "took_ms": 24
  }
}
GET/v1/deals

Найновіші акти в діапазоні площі поблизу, від найновіших

ПараметрТипОпис
addressstringАдреса у Варшаві, звірена з державним реєстром адрес (PRG)
latnumberШирота замість адреси (разом з lon)
lonnumberДовгота замість адреси (разом з lat)
min_areanumberтипово 40Найменша площа, м²
max_areanumberтипово 50Найбільша площа, м²
marketsecondary | primary | allтипово secondaryЯкий ринок
radiusintegerтипово 1000Радіус у метрах (200–3000)
limitintegerтипово 10Скільки актів (1–50)
eraall | new | oldтипово allБудинки: усі, нові (продавав забудовник з 2016) або старші

Вкажіть адресу або lat і lon. Адреса поза реєстром повертає 404 з найближчими варіантами.

curl -G "https://osela.app/api/v1/deals" \
  --data-urlencode "address=Hoża 50" \
  -H "X-API-Key: $HD_KEY"
Приклад відповіді
{
  "data": {
    "place": {
      "lat": 52.2263,
      "lon": 21.0129,
      "label": "Hoża 50",
      "addr_key": "ulica hoża|50"
    },
    "deals": [
      {
        "date": "2026-04-20",
        "address": "Wilcza 26",
        "area": 52.4,
        "rooms": 3,
        "floor": 5,
        "market": "secondary",
        "price": 992000,
        "ppm2": 18931,
        "ppm2_now": 18931,
        "dist_m": 314,
        "same_building": false,
        "buyer_company": false,
        "seller_company": false,
        "prev": null,
        "new_building": false,
        "lat": 52.2254,
        "lon": 21.0173
      },
      {
        "date": "2026-03-31",
        "address": "Hoża 5/7",
        "area": 54,
        "rooms": 3,
        "floor": 8,
        "market": "secondary",
        "price": 1250000,
        "ppm2": 23148,
        "ppm2_now": 23202,
        "dist_m": 554,
        "same_building": false,
        "buyer_company": false,
        "seller_company": false,
        "prev": null,
        "new_building": false,
        "lat": 52.2275,
        "lon": 21.0208
      },
      "… 1 more"
    ],
    "summary": {
      "n": 3,
      "n_12m": 59,
      "from": "2026-03-24",
      "to": "2026-04-20",
      "median_ppm2": 18931,
      "median_ppm2_now": 18931,
      "median_price": 992000,
      "median_area": 52.5
    },
    "excluded": [
      {
        "date": "2026-07-31",
        "address": "Al. Ujazdowskie 22",
        "area": 47.1,
        "floor": 4,
        "market": "secondary",
        "price": 1660000,
        "ppm2": 35206,
        "dist_m": 751,
        "reason": "bulk"
      },
      {
        "date": "2026-07-31",
        "address": "Al. Ujazdowskie 22",
        "area": 47.1,
        "floor": 4,
        "market": "secondary",
        "price": 1672700,
        "ppm2": 35476,
        "dist_m": 751,
        "reason": "bulk"
      },
      "… 19 more"
    ],
    "excluded_n": 21,
    "as_of": "2026-04-30",
    "newest": "2026-08-04",
    "era": "all"
  },
  "meta": {
    "…": "as in every response: api_version, data_as_of, model_version, attribution, took_ms"
  }
}

Повний звіт

GET/v1/report

Усе для адреси одним запитом: ціна, ринок, район, школи, доїзд, ризики

ПараметрТипОпис
addressstringАдреса у Варшаві, звірена з державним реєстром адрес (PRG)
latnumberШирота замість адреси (разом з lon)
lonnumberДовгота замість адреси (разом з lat)
area_m2numberтипово 50Площа в м²
roomsintegerКількість кімнат
floorintegerПоверх за польською нумерацією (0 — партер, −1 — напівпідвал)
marketsecondary | primaryтипово secondarysecondary (вторинний ринок) або primary (первинний)
asking_pricenumberЦіна з оголошення в zł, для порівняння з актами
langpl | en | ukтипово plМова згенерованих текстів
includestringтипово price,asking,market,neighbourhood,schools,commute,environmentРозділи через кому; додайте deals для найновіших актів 40–50 м²

Вкажіть адресу або lat і lon. Адреса поза реєстром повертає 404 з найближчими варіантами.

curl -G "https://osela.app/api/v1/report" \
  --data-urlencode "address=Hoża 50" \
  --data-urlencode "area_m2=52" \
  --data-urlencode "rooms=2" \
  -H "X-API-Key: $HD_KEY"
Приклад відповіді
{
  "data": {
    "place": {
      "label": "Hoża 50",
      "lat": 52.2263,
      "lon": 21.0129,
      "district": "Śródmieście",
      "addr_key": "ulica hoża|50",
      "approximate": false
    },
    "price": "{ … the same as GET /price → data.price }",
    "schools": "{ … the same as GET /schools → data.schools }"
  },
  "meta": {
    "…": "as in every response"
  }
}

Район

GET/v1/schools

Районна школа, найближчі початкові й старші школи з результатами іспитів і ясла в пішій доступності (місця, плата, години)

ПараметрТипОпис
addressstringАдреса у Варшаві, звірена з державним реєстром адрес (PRG)
latnumberШирота замість адреси (разом з lon)
lonnumberДовгота замість адреси (разом з lat)
langpl | en | ukтипово plМова згенерованих текстів

Вкажіть адресу або lat і lon. Адреса поза реєстром повертає 404 з найближчими варіантами.

curl -G "https://osela.app/api/v1/schools" \
  --data-urlencode "address=Hoża 50" \
  -H "X-API-Key: $HD_KEY"
Приклад відповіді
{
  "data": {
    "place": {
      "label": "Hoża 50",
      "lat": 52.226293145243204,
      "lon": 21.012934110534104,
      "district": "Śródmieście",
      "addr_key": "ulica hoża|50",
      "approximate": false
    },
    "schools": {
      "years": [
        2024,
        "… 2 more"
      ],
      "catchment": {
        "rspo": 35188,
        "name": "SP nr 203 im. Antoniny i Jana Żabińskich",
        "kind": "primary",
        "public": true,
        "address": "ul. ks. Ignacego Skorupki 8",
        "lat": 52.22592,
        "lon": 21.01667,
        "exam": "e8",
        "year": 2026,
        "years": [
          2024,
          "… 2 more"
        ],
        "pct": 20,
        "takers": 36,
        "subjects": [
          {
            "key": "pl",
            "level": "all",
            "n": 36,
            "mean": 69.9,
            "pass_rate": null,
            "pct": 30,
            "warsaw": 74,
            "poland": 64.8,
            "history": [
              [
                2024,
                "… 2 more"
              ],
              "… 2 more"
            ]
          },
          "… 2 more"
        ],
        "walk_min": 4.5
      },
      "catchment_area": {
        "type": "Polygon",
        "coordinates": [
          [
            [
              21.013103,
              "… 1 more"
            ],
            "… 18 more"
          ]
        ]
      },
      "primary": [
        {
          "rspo": 35188,
          "name": "SP nr 203 im. Antoniny i Jana Żabińskich",
          "kind": "primary",
          "public": true,
          "address": "ul. ks. Ignacego Skorupki 8",
          "lat": 52.22592,
          "lon": 21.01667,
          "exam": "e8",
          "year": 2026,
          "years": [
            2024,
            "… 2 more"
          ],
          "pct": 20,
          "takers": 36,
          "subjects": [
            {
              "key": "pl",
              "level": "all",
              "n": 36,
              "mean": 69.9,
              "pass_rate": null,
              "pct": 30,
              "warsaw": 74,
              "poland": 64.8,
              "history": [
                [
                  2024,
                  "… 2 more"
                ],
                "… 2 more"
              ]
            },
            "… 2 more"
          ],
          "walk_min": 4.5,
          "catchment": true
        },
        "… 9 more"
      ],
      "secondary": [
        {
          "rspo": 39099,
          "name": "XXXIII LO Dwujęzyczne im. Mikołaja Kopernika",
          "kind": "high_school",
          "public": true,
          "address": "ul. Józefa Bema 76",
          "lat": 52.23078,
          "lon": 20.95983,
          "exam": "matura",
          "year": 2026,
          "years": [
            2024,
            "… 2 more"
          ],
          "pct": 99,
          "takers": 153,
          "pass_rate": 100,
          "subjects": [
            {
              "key": "pl",
              "level": "basic",
              "n": 153,
              "mean": 84.4,
              "pass_rate": 100,
              "pct": 97,
              "warsaw": 66.3,
              "poland": 63.5,
              "history": [
                [
                  2024,
                  "… 2 more"
                ],
                "… 2 more"
              ]
            },
            "… 12 more"
          ],
          "walk_min": null,
          "transit_min": 33
        },
        "… 9 more"
      ],
      "secondary_total": 153,
      "nurseries": {
        "nearest_city": {
          "name": "Żłobek nr 20",
          "walk_min": 5.5
        },
        "n_15": 3,
        "city_15": 3,
        "places_15": 207,
        "private_fee_median": null,
        "items": [
          {
            "name": "Żłobek nr 20",
            "kind": "nursery",
            "city": true,
            "address": "ul. Wilcza 27a",
            "places": 101,
            "fee": 1500,
            "food_day": 15.87,
            "food_month": null,
            "hours": [
              5,
              "… 2 more"
            ],
            "walk_min": 5.5,
            "lat": 52.2246433,
            "lon": 21.0170555
          },
          "… 3 more"
        ],
        "source": "MRPiPS Rejestr Żłobków, downloaded 2026-10-13"
      }
    }
  },
  "meta": {
    "…": "as in every response: api_version, data_as_of, model_version, attribution, took_ms"
  }
}
GET/v1/commute

Час доїзду громадським транспортом від дверей до дверей до головних місць Варшави

ПараметрТипОпис
addressstringАдреса у Варшаві, звірена з державним реєстром адрес (PRG)
latnumberШирота замість адреси (разом з lon)
lonnumberДовгота замість адреси (разом з lat)
langpl | en | ukтипово plМова згенерованих текстів

Вкажіть адресу або lat і lon. Адреса поза реєстром повертає 404 з найближчими варіантами.

curl -G "https://osela.app/api/v1/commute" \
  --data-urlencode "address=Hoża 50" \
  -H "X-API-Key: $HD_KEY"
Приклад відповіді
{
  "data": {
    "place": {
      "label": "Hoża 50",
      "lat": 52.2263,
      "lon": 21.0129,
      "district": "Śródmieście",
      "addr_key": "ulica hoża|50",
      "approximate": false
    },
    "commute": [
      {
        "key": "centrum",
        "label": "Centrum",
        "hint": "Dworzec Centralny",
        "minutes": 11
      },
      {
        "key": "wola",
        "label": "Rondo Daszyńskiego",
        "hint": "biurowce na Woli",
        "minutes": 25
      },
      "… 3 more"
    ]
  },
  "meta": {
    "…": "as in every response: api_version, data_as_of, model_version, attribution, took_ms"
  }
}
GET/v1/neighbourhood

Оцінка району за категоріями й типом домогосподарства, з чинниками

ПараметрТипОпис
addressstringАдреса у Варшаві, звірена з державним реєстром адрес (PRG)
latnumberШирота замість адреси (разом з lon)
lonnumberДовгота замість адреси (разом з lat)
langpl | en | ukтипово plМова згенерованих текстів

Вкажіть адресу або lat і lon. Адреса поза реєстром повертає 404 з найближчими варіантами.

curl -G "https://osela.app/api/v1/neighbourhood" \
  --data-urlencode "address=Hoża 50" \
  -H "X-API-Key: $HD_KEY"
Приклад відповіді
{
  "data": {
    "place": {
      "label": "Hoża 50",
      "lat": 52.2263,
      "lon": 21.0129,
      "district": "Śródmieście",
      "addr_key": "ulica hoża|50",
      "approximate": false
    },
    "neighbourhood": {
      "categories": {
        "transit": {
          "score": 93.6,
          "factors": [
            {
              "key": "frequency",
              "label": "Częstotliwość kursów w pobliżu",
              "value": "51 linii w zasięgu 12 min, 302 odjazdów/h",
              "detail": null,
              "score": 99.8,
              "weight": 0.4
            },
            "… 2 more"
          ],
          "summary": "Metro M1 8 min pieszo, 11 min do Centrum",
          "label": "Komunikacja",
          "percentile": 93
        },
        "daily": {
          "score": 92.2,
          "factors": [
            {
              "key": "supermarket",
              "label": "Supermarket",
              "value": "Eurospar, 8 min",
              "detail": null,
              "score": 79.7,
              "weight": 0.3
            },
            "… 3 more"
          ],
          "summary": "supermarket 8 min, 83 sklepy spożywcze w zasięgu 10 min",
          "label": "Codzienne sprawy",
          "percentile": 86
        },
        "green": {
          "score": 41.2,
          "factors": [
            {
              "key": "park",
              "label": "Park lub ogród ≥ 1 ha",
              "value": "Park im. Marszałka Edwarda Rydza-Śmigłego, 13 min",
              "detail": "27,4 ha",
              "score": 46.5,
              "weight": 0.35
            },
            "… 3 more"
          ],
          "summary": "Park im. Marszałka Edwarda Rydza-Śmigłego 13 min, 3% zieleni w promieniu 1 km",
          "label": "Zieleń",
          "percentile": 16
        },
        "education": {
          "score": 70.2,
          "factors": [
            {
              "key": "primary",
              "label": "Publiczna szkoła podstawowa",
              "value": "SP nr 203 im. Antoniny i Jana Żabińskich, 4 min",
              "detail": null,
              "score": 94.2,
              "weight": 0.3
            },
            "… 4 more"
          ],
          "summary": "podstawówka 4 min, wyniki egzaminu lepsze niż w 20% szkół, szkoła rejonowa SP nr 203",
          "label": "Szkoły i dzieci",
          "percentile": 72
        },
        "health": {
          "score": 98,
          "factors": [
            {
              "key": "clinic",
              "label": "Przychodnia",
              "value": "Śródmiejskie Centrum Kliniczne, 2 min",
              "detail": null,
              "score": 98.5,
              "weight": 0.35
            },
            "… 3 more"
          ],
          "summary": "przychodnia 2 min, apteka 2 min",
          "label": "Zdrowie",
          "percentile": 98
        },
        "leisure": {
          "score": 87.1,
          "factors": [
            {
              "key": "food",
              "label": "Restauracje, kawiarnie i bary",
              "value": "229 w zasięgu 10 min pieszo",
              "detail": null,
              "score": 100,
              "weight": 0.4
            },
            "… 2 more"
          ],
          "summary": "229 lokali gastronomicznych w zasięgu 10 min",
          "label": "Gastronomia i czas wolny",
          "percentile": 87
        },
        "quiet": {
          "score": 48.1,
          "factors": [
            {
              "key": "noise",
              "label": "Typowy hałas wokół budynku",
              "value": "≈59 dB Lden",
              "detail": null,
              "score": 66.8,
              "weight": 0.7
            },
            "… 2 more"
          ],
          "summary": "zwykle ≈59 dB, do 73 dB od najgłośniejszej strony",
          "label": "Cisza",
          "percentile": 29
        }
      },
      "personas": {
        "balanced": {
          "score": 76.2,
          "parts": [
            {
              "category": "transit",
              "weight": 0.2,
              "score": 93.6,
              "contribution": 18.7
            },
            "… 6 more"
          ],
          "percentile": 77
        },
        "family": {
          "score": 71.1,
          "parts": [
            {
              "category": "education",
              "weight": 0.25,
              "score": 70.2,
              "contribution": 17.6
            },
            "… 6 more"
          ],
          "percentile": 68
        },
        "professional": {
          "score": 81.2,
          "parts": [
            {
              "category": "transit",
              "weight": 0.28,
              "score": 93.6,
              "contribution": 26.2
            },
            "… 6 more"
          ],
          "percentile": 86
        },
        "senior": {
          "score": 77.4,
          "parts": [
            {
              "category": "health",
              "weight": 0.25,
              "score": 98,
              "contribution": 24.5
            },
            "… 5 more"
          ],
          "percentile": 74
        }
      },
      "weights": {
        "balanced": {
          "transit": 0.2,
          "daily": 0.17,
          "green": 0.14,
          "education": 0.11,
          "health": 0.1,
          "leisure": 0.13,
          "quiet": 0.15
        },
        "family": {
          "transit": 0.12,
          "daily": 0.14,
          "green": 0.17,
          "education": 0.25,
          "health": 0.1,
          "leisure": 0.05,
          "quiet": 0.17
        },
        "professional": {
          "transit": 0.28,
          "daily": 0.17,
          "green": 0.1,
          "education": 0.03,
          "health": 0.07,
          "leisure": 0.24,
          "quiet": 0.11
        },
        "senior": {
          "transit": 0.13,
          "daily": 0.22,
          "green": 0.17,
          "education": 0,
          "health": 0.25,
          "leisure": 0.06,
          "quiet": 0.17
        }
      }
    }
  },
  "meta": {
    "…": "as in every response: api_version, data_as_of, model_version, attribution, took_ms"
  }
}
GET/v1/environment

Шум, річне забруднення повітря, ризик повені й аеропорт, місцевий план, дозволи на будівництво поруч, пам'ятки й міські зони та злочинність у районі

ПараметрТипОпис
addressstringАдреса у Варшаві, звірена з державним реєстром адрес (PRG)
latnumberШирота замість адреси (разом з lon)
lonnumberДовгота замість адреси (разом з lat)
langpl | en | ukтипово plМова згенерованих текстів

Вкажіть адресу або lat і lon. Адреса поза реєстром повертає 404 з найближчими варіантами.

curl -G "https://osela.app/api/v1/environment" \
  --data-urlencode "address=Hoża 50" \
  -H "X-API-Key: $HD_KEY"
Приклад відповіді
{
  "data": {
    "place": {
      "label": "Hoża 50",
      "lat": 52.226293145243204,
      "lon": 21.012934110534104,
      "district": "Śródmieście",
      "addr_key": "ulica hoża|50",
      "approximate": false
    },
    "environment": {
      "noise": {
        "bands": {
          "road": "70–75",
          "rail": "<40",
          "tram": "60–65",
          "air": "<40",
          "industry": "<40",
          "road_night": "60–65"
        },
        "codes": {
          "road": 7,
          "rail": 0,
          "tram": 5,
          "air": 0,
          "industry": 0,
          "road_night": 5
        },
        "lden_total": 72.9,
        "lden_typical": 58.7,
        "dominant": "ruch drogowy",
        "dominant_key": "road",
        "night_road": 5
      },
      "risks": [
        {
          "key": "noise",
          "level": "high",
          "label": "Bardzo głośna lokalizacja",
          "detail": "Strategiczna mapa hałasu 2022: ≈73 dB Lden przy najgłośniejszej elewacji, głównie ruch drogowy. WHO zaleca, by hałas drogowy nie przekraczał 53 dB. Sprawdź, na którą stronę wychodzą sypialnie: pokoje od podwórza są dużo cichsze."
        }
      ],
      "zoning": {
        "covered": true,
        "symbol": "8MW/U",
        "designation": "zabudowa wielorodzinna z usługami",
        "plan": "Śródmieście Płd w rej. ul. Poznańskiej",
        "max_height": "30",
        "intensity": "15"
      },
      "planning": {
        "permits": {
          "radius_m": 400,
          "months": 36,
          "n": 4,
          "by_kind": {
            "demolition": 1,
            "storeys": 2,
            "extension": 1
          },
          "items": [
            {
              "date": "2025-09-22",
              "kind": "demolition",
              "works": "rozbiórka istniejącego obiektu budowlanego",
              "name": "Rozbiórka łącznika między budynkami",
              "address": "ul. Nowogrodzka -",
              "dist_m": 271,
              "lat": 52.22765,
              "lon": 21.00964
            },
            "… 3 more"
          ],
          "source": "RWDZ, Urząd m.st. Warszawy"
        },
        "heritage": null,
        "zones": [
          {
            "kind": "sct",
            "url": "https://transport.um.warszawa.pl/sct",
            "as_of": null,
            "label": "Strefa Czystego Transportu",
            "detail": "Starsze auta spalinowe nie mogą wjeżdżać; zasady zaostrzają się etapami (transport.um.warszawa.pl/sct)."
          },
          "… 1 more"
        ]
      },
      "safety": {
        "district": "Śródmieście",
        "period": "2025-10..2026-09",
        "change_period": {
          "now": "2026-01..2026-09",
          "before": "2025-01..2025-09"
        },
        "downloaded": "2026-10-13",
        "rows": [
          {
            "key": "burglary",
            "n": 226,
            "rate": 2.383,
            "city_rate": 1.115,
            "change": {
              "now": 172,
              "before": 231,
              "pct": -0.255,
              "clear": false
            },
            "city_change": {
              "now": 1520,
              "before": 2166,
              "pct": -0.298,
              "clear": true
            }
          },
          "… 4 more"
        ]
      }
    }
  },
  "meta": {
    "…": "as in every response: api_version, data_as_of, model_version, attribution, took_ms"
  }
}

Обліковий запис і джерела

GET/v1/usage

Запити вашого облікового запису сьогодні, скільки залишилося й коли почнеться нова доба; сам не рахується як запит

curl -G "https://osela.app/api/v1/usage" \
  -H "X-API-Key: $HD_KEY"
Приклад відповіді
{
  "data": {
    "key": "My CRM",
    "calls_today": 1,
    "quota_day": 50,
    "remaining_today": 49,
    "resets_at": "2026-10-17T00:00:00+02:00",
    "rate_per_sec": 1
  },
  "meta": {
    "…": "as in every response: api_version, data_as_of, model_version, attribution, took_ms"
  }
}
GET/v1/sourcesбез ключа

Джерела даних, ліцензії й дати (без ключа)

curl -G "https://osela.app/api/v1/sources"
Приклад відповіді
{
  "data": {
    "sources": [
      {
        "source": "Rejestr Cen Nieruchomości, m.st. Warszawa",
        "used_for": "deeds, price estimate, comparables",
        "url": "https://architektura.um.warszawa.pl/udostepniane-dane-rcn1"
      },
      {
        "source": "PRG address points, GUGiK",
        "used_for": "address resolution"
      },
      {
        "source": "© OpenStreetMap contributors (ODbL 1.0)",
        "used_for": "walking network and amenities, served as scores and minutes only",
        "url": "https://www.openstreetmap.org/copyright"
      },
      {
        "source": "ZTM Warszawa, Koleje Mazowieckie and WKD GTFS, via mkuran.pl",
        "used_for": "public transport times",
        "url": "https://mkuran.pl/gtfs/"
      },
      {
        "source": "CKE exam results, RSPO school register",
        "used_for": "schools"
      },
      {
        "source": "m.st. Warszawa: strategic noise map 2022, school catchments, local zoning plans (MPZP)",
        "used_for": "noise, schools, zoning"
      },
      {
        "source": "ISOK flood hazard maps (Wody Polskie)",
        "used_for": "flood risk"
      },
      {
        "source": "Urząd m.st. Warszawy, city map portal (mapa.um.warszawa.pl): building permits, heritage register, paid parking and Clean Transport zones",
        "used_for": "planning",
        "url": "https://mapa.um.warszawa.pl/"
      },
      {
        "source": "Rejestr Żłobków i Klubów Dziecięcych, MRPiPS (CC0 1.0)",
        "used_for": "nurseries",
        "url": "https://rejestrzlobkow.mrpips.gov.pl/"
      },
      {
        "source": "Komenda Stołeczna Policji, crime by district of Warsaw",
        "used_for": "safety",
        "url": "https://ksp.bip.policja.gov.pl/ksp/statystyki/46374,Przestepczosc-w-ujeciu-administracyjnym-mst-Warszawy.html"
      },
      {
        "source": "GUS Bank Danych Lokalnych (CC BY 4.0)",
        "used_for": "residents per district (safety rates)",
        "url": "https://bdl.stat.gov.pl/"
      },
      {
        "source": "Źródło danych: GIOŚ – EKOINFONET; modelling IOŚ-PIB (annual air-quality assessment), processed",
        "used_for": "air",
        "url": "https://powietrze.gios.gov.pl/pjp/maps/modeling"
      }
    ],
    "notes": [
      "Prices are a market analysis of deeds, not a valuation (operat szacunkowy).",
      "OpenStreetMap-derived data is served as scores and minutes, never as features.",
      "Deeds are as published by the register; portfolio deals and outliers are excluded from estimates and lists."
    ]
  },
  "meta": {
    "…": "as in every response"
  }
}

Спробувати

Запити йдуть із цієї сторінки з вашим ключем; ключ залишається лише в цій вкладці. Отримати безкоштовний ключ

Спершу вставте ключ.
API даних про нерухомість Варшави | Osella