Diacritice care nu se potrivesc.
„ş” cu sedilă vs „ș” cu virgulă, „Bucureşti” vs „București”. Două șiruri diferite pentru aceeași localitate.
Autocomplete, verificare și coduri poștale, printr-un singur API. Construit pe datele Poșta Română, SIRUTA și OpenStreetMap — cu acoperire până în mediul rural, normalizare de diacritice și precizie până la codul poștal. Răspuns sub 150 ms.
Posty o normalizează, o corectează și îți spune cât de sigur e răspunsul. În timp real.
Tastează pentru a vedea sugestii
Nu pentru că developerii greșesc, ci pentru că datele sunt un câmp minat. Posty se ocupă de tot ce e mai jos, ca tu să nu o faci.
„ş” cu sedilă vs „ș” cu virgulă, „Bucureşti” vs „București”. Două șiruri diferite pentru aceeași localitate.
Str., Bd., Șos., Aleea, Calea, B-dul. Fiecare client le scrie altfel.
Sat, comună, județ — cu precizie până la codul poștal. Acolo unde alte API-uri se opresc la oraș.
„nr. 12-18”, „bl. 54/2D”. Imposibil de validat naiv.
Sugestii de adrese pe măsură ce userul scrie. Toleranță la greșeli de scriere și diacritice, sub 150 ms.
Trimite o adresă structurată sau freeform. Primești un verdict, corecții pe fiecare câmp, un scor de încredere și, unde există, coordonate.
Caută orice cod poștal din 6 cifre și primești localitatea, județul și strada, unde se aplică.
curl -X POST https://api.posty.ro/v1/addresses/verify \
-H "Authorization: Bearer psk_live_xxx" \
-H "Content-Type: application/json" \
-d '{ "freeform": "Str. Mihai Vitezu 12, cluj" }'{
"verdict": "corrected",
"confidence": 0.92,
"address": {
"street": "Strada Mihai Viteazu",
"house_number": "12",
"locality": "Cluj-Napoca",
"county": "Cluj",
"county_code": "CJ",
"postal_code": "400151"
},
"corrections": [
{
"field": "street_name",
"from": "Mihai Vitezu",
"to": "Mihai Viteazu",
"reason": "diacritic"
},
{
"field": "street_type",
"from": "Str.",
"to": "Strada",
"reason": "expansion"
},
{
"field": "locality",
"from": "cluj",
"to": "Cluj-Napoca",
"reason": "casing"
}
],
"geolocation": {
"lat": 46.7712,
"lng": 23.597,
"source": "osm"
},
"metadata": {
"source_versions": {
"baseline": "posta-romana-2013-10",
"osm": "2026-05"
}
}
}Ia o cheie, fă primul apel, gata. Tabs pentru curl, JavaScript, Go și Python.
import { Posty } from "@posty/sdk";
const posty = new Posty(process.env.POSTY_KEY);
const res = await posty.verify({
freeform: "Str. Mihai Vitezu 12, cluj"
});
console.log(res.verdict); // "corrected"
console.log(res.address.postal_code); // "400151"Mai puține livrări eșuate, mai puține retururi. Adresa e validă înainte să apeși „Plasează comanda”.
Curierii te iubesc.Adrese normalizate și geolocalizate, gata de rutare.
Dispecerii te iubesc.Date de adresă curate pentru facturi corecte din prima.
Contabilitatea te iubește.Verificare de adresă la onboarding, fără frecare.
Compliance te iubește.Adrese consistente la scară națională.
Statul te iubește (da, se poate).Sat, comună, județ — nu doar marile orașe. Structura administrativă a României, tratată nativ.
„ş” cu sedilă și „ș” cu virgulă, majuscule, prescurtări — totul ajunge la aceeași formă canonică.
Cod poștal, stradă și interval de numere reconciliate, nu doar localitatea.
Sub 150 ms la autocomplete, ca să nu blocheze checkout-ul.
Abonament lunar, fără costuri ascunse. Treci de la Free la plătit când ai nevoie, nu invers.
Cheie API gratuită, 1.000 de cereri pe lună, fără card.