API Dokumentáció

Minden kéréshez szükséges az X-Api-Key fejléc. Az API base URL: https://api.kozterulet-api.hu/api/v1

Hitelesítés

Minden API kéréshez szükséges egy érvényes API kulcs, amelyet az X-Api-Key HTTP fejlécben kell elküldeni. Az API kulcsot a regisztráció után a felhasználói fiókban találod.

curl -X POST https://api.kozterulet-api.hu/api/v1/streets/search \
  -H "Content-Type: application/json" \
  -H "X-Api-Key: your_api_key_here" \
  -d '{ "city": "Budapest" }'

Megyék listázása

GET/counties

Visszaadja az összes magyar megye listáját, ábécé sorrendben. Nincs lapozás — mindig a teljes lista érkezik.

Válasz

[
  {
    "name": "Baranya"
  },
  {
    "name": "Borsod-Abaúj-Zemplén"
  },
  {
    "name": "Budapest"
  },
  {
    "name": "Pest"
  }
]

Városkeresés

POST/cities/search

Városok keresése egy adott megyén belül. Támogatja az előtag-alapú automatikus kiegészítést a város nevére. Lapozott eredmények.

Kérés paraméterek

MezőTípusKötelezőLeírás
countystringigenMegye neve
namePrefixstringnemVárosnév előtag (autocomplete)

Kérés

{
  "county": "Pest",
  "namePrefix": "Bud",
  "page": 0,
  "size": 20
}

Válasz

{
  "content": [
    {
      "name": "Budajenő",
      "county": "Pest"
    },
    {
      "name": "Budakalász",
      "county": "Pest"
    },
    {
      "name": "Budakeszi",
      "county": "Pest"
    },
    {
      "name": "Budaörs",
      "county": "Pest"
    }
  ],
  "totalElements": 4,
  "totalPages": 1,
  "size": 20,
  "number": 0
}

Irányítószám keresés

POST/postal-codes/search

Irányítószámok keresése megyén belül, opcionálisan város szerinti szűréssel. Lapozott eredmények.

Kérés paraméterek

MezőTípusKötelezőLeírás
countystringigenMegye neve
citystringnemVáros neve (opcionális szűrő)

Kérés

{
  "county": "Budapest",
  "city": "Budapest",
  "page": 0,
  "size": 10
}

Válasz

{
  "content": [
    {
      "code": "1007",
      "city": "Budapest",
      "county": "Budapest"
    },
    {
      "code": "1011",
      "city": "Budapest",
      "county": "Budapest"
    },
    {
      "code": "1012",
      "city": "Budapest",
      "county": "Budapest"
    }
  ],
  "totalElements": 163,
  "totalPages": 17,
  "size": 10,
  "number": 0
}

Utca validálás

POST/streets/validate

Ellenőrzi, hogy a megadott utca létezik-e. Boolean eredményt ad vissza HTTP 404 helyett.

Kérés paraméterek

MezőTípusKötelezőLeírás
citystringigenVáros neve
streetNamestringigenUtca neve
typestringigenKözterület típus
postalCodestringnemIrányítószám
settlementPartstringnemTelepülésrész / kerület

Kérés

{
  "city": "Budapest",
  "streetName": "Kossuth Lajos",
  "type": "utca"
}

Válasz

{
  "exists": true
}

Területi keresés (Polygon)

POST/streets/polygon-search

Térbeli keresés, amely visszaadja az adott poligonon belüli utcákat. A poligon [hosszúság, szélesség] koordináta-párok listája (WGS84 / EPSG:4326). Minimum 3 pont szükséges. A poligon automatikusan záródik, ha az első és utolsó pont eltér. A poligon maximális területe 50 km² — az ennél nagyobb területre vonatkozó kérések 400 Bad Request választ kapnak.

Kérés paraméterek

MezőTípusKötelezőLeírás
polygonarrayigenKoordináta-párok listája: [[lng, lat], ...]

Kérés

{
  "polygon": [
    [
      19.05,
      47.5
    ],
    [
      19.06,
      47.5
    ],
    [
      19.06,
      47.51
    ],
    [
      19.05,
      47.51
    ]
  ],
  "page": 0,
  "size": 20
}

Válasz

{
  "content": [
    {
      "country": "HU",
      "county": "Budapest",
      "city": "Budapest",
      "settlementPart": "V. kerület",
      "postalCode": "1054",
      "streetName": "Alkotmány",
      "streetType": "utca",
      "fullStreetName": "Alkotmány utca",
      "displayName": "1054 Budapest Alkotmány utca"
    }
  ],
  "totalElements": 63,
  "totalPages": 4,
  "size": 20,
  "number": 0
}

Utcák irányítószám alapján

POST/streets/by-postal-code

Visszaadja az adott irányítószámhoz tartozó összes utcát. Lapozott eredmények teljes utcaadatokkal.

Kérés paraméterek

MezőTípusKötelezőLeírás
postalCodestringigenIrányítószám

Kérés

{
  "postalCode": "1052",
  "page": 0,
  "size": 10
}

Válasz

{
  "content": [
    {
      "country": "HU",
      "county": "Budapest",
      "city": "Budapest",
      "settlementPart": "V. kerület",
      "postalCode": "1052",
      "streetName": "Aranykéz",
      "streetType": "utca",
      "fullStreetName": "Aranykéz utca",
      "displayName": "1052 Budapest Aranykéz utca"
    }
  ],
  "totalElements": 33,
  "totalPages": 4,
  "size": 10,
  "number": 0
}

Közterület típusok

GET/streets/types

Visszaadja az összes különböző közterület típust (utca, tér, körút, stb.), ábécé sorrendben. Nincs lapozás — mindig a teljes lista érkezik.

Válasz

[
  "dűlő",
  "fasor",
  "körút",
  "köz",
  "lépcső",
  "park",
  "sétány",
  "sor",
  "sugárút",
  "tér",
  "udvar",
  "utca",
  "út"
]

Válasz mezők

Az utcakeresés és polygon keresés eredményeiben az alábbi mezők szerepelnek:

MezőTípusLeírás
countrystringOrszágkód (mindig "HU")
countystringMegye neve
citystringVáros neve
settlementPartstringTelepülésrész / kerület
postalCodestringIrányítószám
streetNamestringUtca neve
streetTypestringKözterület típus
fullStreetNamestringTeljes utcanév (név + típus)
displayNamestringMegjelenítési név (irányítószám + város + utca)

Hibakezelés

Az API RFC 9457 (Problem Details) formátumban adja vissza a hibákat.

HTTP kódLeírás
400Érvénytelen kérés (hiányzó kötelező mezők, hibás formátum)
401Hiányzó API kulcs
403Érvénytelen vagy lejárt API kulcs
429Túllépte a kéréskorlátot (rate limit)
500Szerverhiba

400 — Hibás kérés

{
  "type": "about:blank",
  "title": "Bad Request",
  "status": 400,
  "detail": "city: must not be blank",
  "instance": "/api/v1/streets/search"
}

401 — Hiányzó kulcs

{
  "type": "about:blank",
  "title": "Missing API Key",
  "status": 401,
  "detail": "X-Api-Key header is required",
  "instance": "/api/v1/streets/search"
}

Kéréskorlát (Rate Limit)

Minden válasz tartalmaz egy X-Rate-Limit-Remaining fejlécet, amely jelzi a hátralévő kérések számát.

CsomagKérés/mpBurst
Free510
Starter2040
Growth100200

OpenAPI specifikáció

Az API teljes OpenAPI 3.1 specifikációja letölthető JSON formátumban. Használható kliens SDK generáláshoz, Postman importáláshoz, vagy bármilyen OpenAPI-kompatibilis eszközzel.

Adatforrások

Az API adatai részben az © OpenStreetMap közreműködőitől származnak, az Open Data Commons Open Database License (ODbL) 1.0 licenc alapján.