Polskie dane adresowe w jednym REST API
Miasta, miejscowości, ulice, kody pocztowe i walidacja adresów — prosto z rejestrów GUS TERYT, ULIC i PRG. Jedno zapytanie HTTP, odpowiedź w JSON, gotowe do podpięcia w formularzach i mapach.
Co znajduje się w API
Wszystkie endpointy zwracają JSON, obsługują CORS i są objęte wspólną dokumentacją OpenAPI.
Autouzupełnianie miast
Dopasowywanie z tolerancją literówek (bigram Dice), koordynaty WGS84, tryby autocomplete / resolve / hybrid.
/v1/cities?q=warsz&limit=5
Wszystkie miejscowości
Każda samodzielna miejscowość z SIMC — wsie, kolonie, osady — z filtrem rodzaju (RM) i trybem geograficznym.
/v1/localities?q=kolonia&lat=52.2&lon=21.0
Hierarchia administracyjna
Województwa → powiaty → gminy (TERC) — idealne do kaskadowych selectów adresowych.
/v1/regions/14/counties
Ulice w miejscowości
Szukaj ulicy w obrębie miejscowości (SYM) w rejestrze ULIC — ponad 310 tys. pozycji.
/v1/streets?city=0983988&q=marsza
Kody pocztowe
Kod pocztowy → miejscowość (PNA, z koordynatami) albo odwrotnie: lista kodów dla miejscowości.
/v1/postal-codes?q=00-002
Walidacja adresów
Weryfikacja numeru domu pod kątem rejestru PRG — symbol miejscowości + numer (opcjonalnie ulica).
/v1/geocode?sym=0988796&number=16
Odwrócone geokodowanie
Najbliższe miejscowości dla współrzędnych, z odległością w kilometrach — dla map i GPS.
/v1/reverse-geocode?lat=52.23&lon=21.01
Cache i ETag w standardzie
Udane odpowiedzi GET są cache'owane (Cache-Control: 1 dzień) i wersjonowane ETagiem — 304 oszczędza transfer.
ETag + If-None-Match
Quick start
Bez kluczy i rejestracji — pierwsze zapytanie w 10 sekund.
curl "https://www.teryt24.pl/v1/cities?q=warsz&limit=5"
curl "https://www.teryt24.pl/v1/geocode?sym=0988796&streetName=Świętokrzyska&number=16"
curl "https://www.teryt24.pl/v1/reverse-geocode?lat=52.2297&lon=21.0122&limit=3"
Pełna lista parametrów i schematy odpowiedzi w dokumentacji
oraz maszynowcu openapi.json. Limity: 60 zapytań/min na IP,
po przekroczeniu HTTP 429 z nagłówkiem Retry-After.