馃摤 PNA (Postal Codes) API Documentation
[EN] High-performance API for searching Polish Postal Codes (PNA), validating addresses, and autocomplete suggestions. Optimized for precise house number matching (ranges, odd/even logic). [PL] Wysokowydajne API do wyszukiwania kod贸w pocztowych (PNA), weryfikacji adres贸w i autouzupe艂niania. Zoptymalizowane pod k膮tem precyzyjnego dopasowania numer贸w dom贸w (zakresy, parzysto艣膰).
PL Je艣li jeste艣 zainteresowany(a) u偶yciem API, skontaktuj si臋 prosz臋 przez formularz kontaktowy: https://wroclawprogramowanie/contact-form/
EN If you鈥檙e interested in using the API, please contact us via the contact form: https://wroclawprogramowanie/contact-form/
馃攼 Authentication / Uwierzytelnianie
[EN] All requests require an API Key (Header) or Bearer Token. [PL] Wszystkie zapytania wymagaj膮 klucza API (Nag艂贸wek) lub tokena Bearer.
| Method | Header Name | Example |
|---|---|---|
| API Key | X-Rapid-Secret | X-Rapid-Secret: abc12345 |
| Bearer | Authorization | Authorization: Bearer <jwt_token> |
馃殌 Endpoints / Punkty Ko艅cowe
1. Search Postal Code (GET) / Szukaj Kodu (GET)
[EN] Find PNA based on address details. Supports house numbers. [PL] Znajd藕 PNA na podstawie adresu. Obs艂uguje numery dom贸w.
Endpoint: GET /pna/search
Parameters:
city(required): City name (e.g., “Wroc艂aw”)street(optional): Street name (e.g., “Kwiska”)number(optional): House number (e.g., “31”, “2a”)
Example / Przyk艂ad:
bashcurl -X GET "https://pnaapi.wroclawprogramowanie.pl/pna/search?city=Wroc艂aw&street=Kwiska&number=3" \
-H "Authorization: Bearer <token>"
Response / Odpowied藕:
json[
{
"postal_code": "54-210",
"city": "Wroc艂aw",
"street": "Kwiska",
"district": "Wroc艂aw-Fabryczna",
"ranges": [
{ "from": "1", "to": "11a", "parity": "ODD" }
]
}
]
2. Search Postal Code (POST) / Szukaj Kodu (POST)
[EN] Advanced search using JSON body. Recommended for complex queries. [PL] Zaawansowane wyszukiwanie przy u偶yciu JSON. Zalecane dla z艂o偶onych zapyta艅.
Endpoint: POST /pna/search
Body:
json{
"city": "Bia艂ystok",
"street": "Miko艂aja Kopernika",
"number": "2a",
"province": "podlaskie"
}
Example / Przyk艂ad:
bashcurl -X POST "https://pnaapi.wroclawprogramowanie.pl/pna/search" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <token>" \
-d '{"city": "Bia艂ystok", "street": "Miko艂aja Kopernika", "number": "2a"}'
3. Get Addresses by Code (GET) / Adresy dla Kodu (GET)
[EN] Retrieve all streets assigned to a specific Postal Code. [PL] Pobierz wszystkie ulice przypisane do danego kodu pocztowego.
Endpoint: GET /pna/code/{postalCode}
Example / Przyk艂ad:
bashcurl -X GET "https://pnaapi.wroclawprogramowanie.pl/pna/code/54-210" \
-H "Authorization: Bearer <token>"
4. Get Addresses by Code (POST) / Adresy dla Kodu (POST)
[EN] Retrieve addresses for a Postal Code sent in JSON body. [PL] Pobierz adresy dla kodu przes艂anego w ciele JSON.
Endpoint: POST /pna/code
Body:
json{
"postal_code": "54-210"
}
Example / Przyk艂ad:
bashcurl -X POST "https://pnaapi.wroclawprogramowanie.pl/pna/code" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <token>" \
-d '{"postal_code": "54-210"}'
5. Reverse Geocoding
[EN] Finds nearest Postal Codes for given coordinates. [PL] Znajduje najbli偶sze kody pocztowe dla zadanych wsp贸艂rz臋dnych.
Endpoint: GET /pna/reverse
Parameters:
Lat(required): Latitude between -90 and 90Lon(required): Longitude between -180 and 180RadiusKm(optional): Radius between 0.1 and 50 km (default 5)
Endpoint: POST /pna/reverse
Body:
json{
"lat": 51.12161528781476,
"lon": 16.98550601056978,
"radius_km": 0.1
}
Example / Przyk艂ad:
curl -X 'POST' \
'https://pnaapi.wroclawprogramowanie.pl/pna/reverse' \
-H 'accept: application/json' \
-H 'Authorization: Bearer <token>' \
-H 'Content-Type: application/json' \
-d '{
"lat": 51.12161528781476,
"lon": 16.98550601056978,
"radius_km": 0.1
}'
6. Autocomplete Streets / Podpowiedzi Ulic
[EN] Get real-time street suggestions. [PL] Pobierz podpowiedzi nazw ulic w czasie rzeczywistym.
Endpoint: GET /pna/autocomplete/streets
Parameters:
query(min 2 chars): Partial street name / Fragment nazwycity(optional): Filter by city / Filtruj po mie艣cie
Example / Przyk艂ad:
bashcurl -X GET "https://api.example.com/pna/autocomplete/streets?query=Legn&city=Wroc艂aw" \
-H "Authorization: Bearer <token>"
Response / Odpowied藕:
json
["Legnicka", "Legnicka Ma艂a"]
7. Autocomplete Cities / Podpowiedzi Miast
[EN] Get real-time city suggestions. [PL] Pobierz podpowiedzi nazw miast w czasie rzeczywistym.
Endpoint: GET /pna/autocomplete/cities
Example / Przyk艂ad:
bashcurl -X GET "https://pnaapi.wroclawprogramowanie.pl/pna/autocomplete/cities?query=Wroc" \
-H "Authorization: Bearer <token>"
馃 AI Integration / Integracja z AI
[EN] This API is AI-Ready. Use the following endpoints for LLM context: [PL] To API jest gotowe na AI. U偶yj poni偶szych endpoint贸w dla kontekstu LLM:
GET /pna/ai-guide- Semantic instructions / Instrukcje semantyczneGET /.well-known/ai-plugin.json- OpenAI Plugin Manifest / Manifest Pluginu OpenAI