Pašto kodų ir adresų API v1.1

Paskirtis

API v1.1 skirta Lietuvos pašto kodų ir adresų paieškai su patobulintu rezultatų rikiavimu ir didesne sparta.

Postit.lt JS integracija

Naujausia versija: Postit.lt JS 1.1.4

Paruošta automatinė adresų paieška, rezultatų sąrašas ir formos laukų užpildymas be „jQuery“ ar kito JavaScript karkaso. Postit.lt JS naudoja tik Postit.lt API v1.1.

Atverti integracijos pavyzdį Postit.lt JS integracijos vadovas Atsisiųsti postit.min.js

Atsisiuntę biblioteką, įkelkite postit.min.js failą į projekto statinių failų katalogą ir įkelkite biblioteką taip:

<script
    src="/static/postit/1.1.4/postit.min.js"
    integrity="sha384-yatA/SYw9XpqIeSXRNXhfvGTHO+tAa0LFuI3ArO4tjQrQTni9LYCgtRT+BnBlHNn"
    crossorigin="anonymous"></script>

Failą galite laikyti bet kuriame viešai pasiekiamame projekto statinių failų kataloge – svarbu atitinkamai pakeisti src kelią. Paprasčiausia bibliotekos <script> elementą ir po jo einantį inicializavimo kodą įrašyti po formos HTML, prieš uždarant </body>. Jei biblioteką jungiate <head> dalyje, naudokite defer ir inicializavimo kodą vykdykite tik tada, kai puslapio DOM jau paruoštas.

Kiti API v1.1 pavyzdžiai:

Perėjimas iš API v1 į v1.1

API v1 išlieka prieinama esamoms integracijoms, tačiau naujoms integracijoms rekomenduojama API v1.1. Prieš pakeisdami esamos integracijos API adresą, patikrinkite atsakymus ir rezultatų rikiavimą.

SritisAPI v1API v1.1
API adresashttps://api.postit.lt/https://api.postit.lt/v1.1/
Pavyzdžiaipaieška mygtuku, automatinė paieškaPostit.lt JS pavyzdys ir du papildomi pavyzdžiai pateikti aukščiau
RikiavimasNaudokite esamoje integracijoje nustatytą rikiavimą.order sąlygos taikomos iš kairės į dešinę; desc pirmiausia pateikia rezultatus, kurių prioriteto reikšmė didesnė.

Dokumentacija

API adresas: https://api.postit.lt/v1.1/

Užklausai būtinas API raktas, kuriam suteikta teisė naudoti API v1.1. Gaukite nemokamą API raktą. Jei turite klausimų, susisiekite nurodytais kontaktais.

API v1.1 OpenAPI dokumentacija (anglų k.) · OpenAPI 3.1 JSON specifikacija

Užklausos parametrai

Užklausos vykdomos tik GET metodu, o atsakymas pateikiamas JSON formatu.

ParametrasBūtinasAprašymas
keyTaipAPI raktas, kuriam suteikta teisė naudoti API v1.1.
termTaip*Pagrindinė paieškos frazė. Ji turi būti nuo 3 iki 1000 simbolių. Paieškos frazės pradžioje ir pabaigoje esantys tarpai pašalinami. Jei kartu pateikiamas address, naudojamas term.
addressTaip*Alternatyvi paieškos frazė, naudojama tik tada, kai nepateiktas term. Jai taikomos tokios pačios ilgio taisyklės.
limitNeRezultatų skaičius nuo 1 iki 20. Numatytoji reikšmė – 10.
pageNeRezultatų puslapis nuo 1 iki 50. Numatytoji reikšmė – 1. Kiekvienas puslapis yra atskira API užklausa.
wide_numberNePagal numatytąjį nustatymą ieškoma tik tiksliai įvesto namo numerio. Nustačius šiam parametrui reikšmę 1, taikoma platesnė numerio paieška. Pavyzdžiui, ieškant namo numerio 1, rezultatuose gali būti pateikti numeriai 1, 11, 1A, 1AK/B ir pan.
Galimos reikšmės: 0 arba 1. Numatytoji reikšmė – 0.
groupNeRezultatų grupavimas. Galimos reikšmės: city, address, street.
order Ne Taškais atskirtos laukas-kryptis sąlygos. Sąlygos taikomos iš kairės į dešinę, todėl pirmoji turi didžiausią prioritetą, o paskesnės naudojamos vienodoms ankstesnių sąlygų reikšmėms surikiuoti. Netinkamos sąlygos ignoruojamos. Jei parametras nenurodytas, naudojamas automatinis rikiavimas; bent viena tinkama sąlyga pakeičia numatytąjį rikiavimą. Visi laukai, reikšmės ir prioritetų pavyzdžiai pateikti žemiau.

Taip* – būtina pateikti term arba address.

Rikiavimo laukai ir prioritetai

Rikiavimo sąlygų tvarka yra svarbi. Sąlygos vertinamos iš kairės į dešinę: pirmoji yra svarbiausia, o kiekviena paskesnė naudojama tik tada, kai ankstesnių sąlygų reikšmės sutampa. Sukeitus laukus vietomis, rezultatų eilė gali pasikeisti.

asc rikiuoja nuo mažesnės reikšmės į didesnę, o desc – nuo didesnės į mažesnę.

Visos galimos API v1.1 order parametro sąlygos
Laukas Galimos sąlygos Rikiuoja pagal
post_codepost_code-asc
post_code-desc
Pašto kodą.
eldershipeldership-asc
eldership-desc
Seniūnijos pavadinimą.
citycity-asc
city-desc
Miesto arba vietovės pavadinimą.
addressaddress-asc
address-desc
Visą adreso reikšmę.
streetstreet-asc
street-desc
Gatvės pavadinimą.
numbernumber-asc
number-desc
Namo numerį skaitine tvarka.
municipalitymunicipality-asc
municipality-desc
Savivaldybės pavadinimą.
city_sizecity_size-asc
city_size-desc
Miesto ar vietovės prioritetą bendrame Lietuvos vietovių sąraše. Pirmųjų 30 miestų tvarka nustatyta pagal Valstybės duomenų agentūros paskelbtus 2021 m. gyventojų surašymo duomenis. Likusios vietovės pradinėje lentelėje rikiuojamos pagal šaltinio adresų skaičių ir pavadinimą. Didesnė reikšmė reiškia aukštesnį prioritetą.
municipality_sizemunicipality_size-asc
municipality_size-desc
Postit.lt nustatytą savivaldybės prioritetą. Didesnė reikšmė reiškia aukštesnį prioritetą.

Prioritetų rikiavimo pavyzdžiai:

city_size automatiškai neprideda municipality_size, todėl šie du pavyzdžiai gali pateikti skirtingą rezultatų eilę. Abiem prioriteto laukams desc reiškia aukštesnį prioritetą pirmiau.

Paieška atpažįsta pašto kodą, adresą, gatvę, miestą ar vietovę, savivaldybę ir namo numerį. Didžiosios ir mažosios raidės paieškoje nesiskiria. Ieškoti galima ir lietuviškomis raidėmis, ir jų atitikmenimis be diakritinių ženklų, pvz., „Šiauliai“ arba „Siauliai“.

Grupuojant total nurodo visą rastų grupių skaičių prieš pritaikant limit. Negrupuojant jis nurodo visą rastų įrašų skaičių. Todėl total gali būti didesnis už grąžintų data elementų skaičių.

Kiti rezultatų puslapiai gaunami didinant page, nekeičiant paieškos ir rikiavimo parametrų. Pavyzdžiui, po page=1&limit=10 kita užklausa naudoja page=2&limit=10.

Grupuojant garantuojamas tik laukų, pagal kuriuos grupuojama, sutapimas. Pavyzdžiui, naudojant group=city, grąžintas pašto kodas nebūtinai tinka visam miestui.

city_size ir municipality_size galima naudoti kartu su group=city, group=street ir group=address. Prioriteto laukai keičia tik rezultatų eiliškumą – grupių sudėtis ir total skaičiavimas nesikeičia.

Užklausos pavyzdys

https://api.postit.lt/v1.1/?term=Savanorių+pr.+12,+Vilnius&limit=10&key=YOUR_API_KEY

Atsakymo laukai

Parametras Tipas Aprašymas
status Tekstas Užklausos būsena, pateikta tekstu.
Galimos reikšmės: success, error
success Loginis Užklausos būsena, pateikta logine reikšme.
Galimos reikšmės: true, false
message Tekstas Klaidos pranešimas.
Galimos reikšmės nurodytos toliau pateiktoje klaidų kodų lentelėje.
message_code Skaičius Klaidos pranešimo kodas.
Galimos reikšmės nurodytos toliau pateiktoje klaidų kodų lentelėje.
total Skaičius Bendras rastų rezultatų skaičius
data Masyvas Rezultatų masyvas
Masyvo data elementų laukai
post_code Tekstas Pašto kodas be LT- priešdėlio
address Tekstas Namo adresas, t. y. gatvės pavadinimas ir namo numeris.
street Tekstas Gatvės pavadinimas.
number Tekstas Pastato (namo) numeris ir, jei nurodytas, korpuso numeris.
Korpuso dalis žymima raide K, pvz., 15BKC.
only_number Tekstas Tik pastato numeris be korpuso dalies, pvz., 15B.
housing Tekstas Korpuso numeris, pvz., C.
city Tekstas Miestas ar vietovė.
eldership Tekstas Seniūnija – Lietuvos administracinis teritorinis vienetas.
municipality Tekstas Savivaldybė.
post Tekstas Aptarnaujantis paštas.

Atsakymo pavyzdys

{
    "status": "success",
    "success": true,
    "message": "",
    "message_code": 0,
    "total": 1,
    "data": [
        {
            "post_code": "03116",
            "address": "Savanorių pr. 12",
            "street": "Savanorių pr.",
            "number": "12",
            "only_number": "12",
            "housing": "",
            "city": "Vilnius",
            "eldership": "Naujamiesčio sen.",
            "municipality": "Vilniaus m. sav.",
            "post": "Vilniaus 9-asis paštas"
        }
    ]
}

Klaidų kodai

Pranešimo kodas Pranešimo tekstas
Su serveriu arba svetaine susijusios klaidos (HTTP būsenos kodai)
404 Pagal pateiktą užklausą nepavyko nieko rasti
Šis pranešimas pateikiamas, kai nurodytas neteisingas API adresas.
405 Užklausos metodas nepalaikomas
503 Dėl didelio apkrovimo paslauga laikinai neprieinama
Su API paslauga susijusios klaidos (API pranešimų kodai)
0 Nėra klaidos ir pranešimo.
1001 Paieškoje įrašykite daugiau nei 2 simbolius
1002 Viršytas pašto kodų dienos užklausų limitas. Dėl šio apribojimo kreiptis tinklapyje nurodytais kontaktais.
1003 Nurodytas raktas yra blogas arba negaliojantis
1004 Privaloma nurodyti pašto kodų API raktą. Dėl šio apribojimo kreiptis tinklapyje nurodytais kontaktais.

Nemokamas išbandymas

Gauti nemokamą API raktą. Jis leidžia atlikti iki 100 užklausų iš vieno IP adreso arba domeno per dieną.

Pasiekus dienos ribą, grąžinamas toks atsakymas:

{
    "status": "error",
    "success": false,
    "message": "Viršytas dienos užklausų limitas",
    "message_code": 1002,
    "total": 0,
    "data": []
}

Nemokamai naudojant pašto kodų duomenis per API, privaloma pateikti nuorodą ir nurodyti, kad duomenys gaunami iš Postit.lt:

<a href="https://postit.lt/" title="Pašto kodų paieška">Pašto kodų paieška</a>

Mokami planai

Jei reikia daugiau nei 100 užklausų, tai siūlome API planus:

Jei pasirenkamas vienas iš šių mokamų variantų, tai nuorodos talpinimas nėra būtinas.

Esant poreikiui galima įsigyti visą Lietuvos pašto kodų ir adresų duomenų bazę.

Susisiekti nurodytais kontaktais.

Pakeitimai

2026-08-17 Užklausoje pridėtas page parametras.

2026-08-16 city_size tapo savarankišku visos Lietuvos miesto ar vietovės prioritetu ir automatiškai nebeįtraukia municipality_size prioriteto. Pirmųjų 30 miestų tvarka nustatyta pagal Valstybės duomenų agentūros paskelbtus 2021 m. gyventojų surašymo duomenis, o likusios vietovės pradinėje lentelėje rikiuojamos pagal adresų skaičių ir pavadinimą.

2026-08-14 municipality_size ir city_size pradėjo naudoti atskiras administruojamas API v1.1 prioritetų lenteles. API užklausose kryptis desc reiškia aukštesnį prioritetą pirmiau.

2026-08-08 Nauja API v1.1 versija – pakeistas paieškos variklis, pašalinti nenaudojami laukai.