Napojte preverenie pozemkov priamo na svoj realitný softvér, CRM alebo web. Cez REST API nájdete parcelu v katastri, overíte, čo report pokryje, objednáte ho a stiahnete hotové PDF so semaforom rizík.
Parcelník API je REST rozhranie nad JSON s prenosom výhradne cez HTTPS. Robí to isté ako objednávka v portáli: rovnaké balíky, ceny, kontroly pokrytia a pravidlá fakturácie. Je určené realitným kanceláriám, developerom, bankám a ďalším firmám, ktoré preverujú pozemky opakovane.
Základná adresa
https://api.parcelnik.sk/api/v1/integration
Formát
JSON v UTF-8, časy v ISO 8601 (UTC), ceny v eurocentoch
Verzia
v1 (v ceste /api/v1), aktualizované 10. 10. 2026
Prostredie
Produkčné. Samostatný sandbox zatiaľ nemáme; na test odporúčame Rýchly prehľad (9 €) alebo nám napíšte o testovací účet s fakturáciou.
Hodnoty v príkladoch (kódy obcí, identifikátory parciel a objednávok) sú ilustračné. Skutočné identifikátory vždy získajte z predchádzajúceho volania.
API kľúč. V portáli otvorte Integrácie, zadajte názov kľúča (napr. „CRM produkcia“) a platnosť 30, 90 alebo 365 dní. Kľúč začína pk_ a zobrazí sa iba raz.
Každá požiadavka posiela kľúč v hlavičke Authorization: Bearer pk_…. Kľúč koná za váš účet: vidí len vaše objednávky a objednáva na váš účet.
Na účet môžete mať najviac 10 aktívnych kľúčov; každý môžete kedykoľvek odvolať.
Ukladáme len odtlačok kľúča (SHA-256), nie kľúč samotný. Stratený kľúč neobnovíme, vytvorte nový.
API kľúč nefunguje v portáli a prihlásenie do portálu nefunguje v API. Účty administrátorov API používať nesmú (403).
Deaktiváciou účtu sa odvolajú všetky jeho kľúče aj pripojení AI asistenti.
Odpoveď 401 Unauthorized
HTTP/1.1 401 Unauthorized
WWW-Authenticate: Bearer realm="parcelnik", error="invalid_token"
{ "statusCode": 401, "message": "Neplatný alebo chýbajúci API kľúč.", "error": "Unauthorized" }
Postup objednávky
Parcelu vyberáte rovnako ako v katastri: obec → katastrálne územie → číslo parcely.
GET /municipalities?q=nájdite obec a jej kód
GET /municipalities/{code}/cadastral-areasvyberte katastrálne územie
GET /cadastral-areas/{id}/parcels?number=nájdite parcelu (parcelId)
GET /parcels/{id}/coveragezistite medzery v pokrytí
POST /ordersobjednajte a potvrďte medzery
GET /orders/{id}sledujte stav, kým nie je COMPLETE
GET /orders/{id}/reportstiahnite PDF
Rýchly prehľad je zvyčajne hotový do niekoľkých minút. Základné preverenie do 2 pracovných dní (dopĺňame list vlastníctva a overenie územného plánu), Kompletný audit do 30 pracovných dní.
Fakturácia a platby
Typ účtu
Čo sa stane po POST /orders
S fakturáciou (firemná zmluva)
Objednávka sa spracuje hneď (PROCESSING) a vyúčtujeme ju faktúrou.
S platbou vopred
Objednávka čaká v stave AWAITING_PAYMENT s paymentRequired: true. Zákazník v portáli (paymentUrl) potvrdí obchodné podmienky a zaplatí cez Tatra banku. Nezaplatená objednávka sa po 48 h zruší.
API nikdy neplatí ani neudeľuje súhlasy za zákazníka. Cenu vždy určuje server podľa cenníka v /offer; v požiadavke sa cena neposiela. Promo kódy sa uplatňujú len v portáli.
Referencia endpointov
Všetky cesty sú relatívne k https://api.parcelnik.sk/api/v1/integration a vyžadujú hlavičku Authorization. Neznáme polia v tele požiadavky server odmietne (400).
Vráti objednateľné balíky s cenou a dodacou lehotou a zoznam účelov, ktoré môžete poslať pri objednávke. Ceny sú konečné (nie sme platiteľom DPH) a vždy ich určuje server.
Pred objednávkou povie, ktoré časti reportu sa pre parcelu nedajú pripraviť (trvalé medzery, status „gap“). Nikdy neprezradí zistenia, len či časť v reporte bude. Každú medzeru musíte pri objednávke potvrdiť v acknowledgedCoverageGaps.
Objedná report pre jednu parcelu. Účty s fakturáciou sa spracujú hneď. Účty s platbou vopred dostanú objednávku v stave AWAITING_PAYMENT: zákazník ju potvrdí a zaplatí v portáli (paymentUrl), API nikdy neplatí ani nesúhlasí s podmienkami za zákazníka.
Limit: 20 požiadaviek za minútu
Parameter
Kde
Typ
Popis
bundleIdpovinný
body
instant-overview | basic-check | full-audit
Balík z /offer.
parcelIdpovinný
body
string, ≤ 64
Parcela z vyhľadania parcely.
cadastralAreaIdpovinný
body
string, ≤ 64
Katastrálne územie, do ktorého parcela patrí. Server to overí.
labelpovinný
body
string, 5–300
Ako sa objednávka zobrazí v portáli a v reporte, napr. adresa alebo „parc. č. 1234/5, k. ú. Bernolákovo“. Nevkladajte osobné údaje.
purpose
body
string
Zamýšľaný účel z /offer.purposes; report podľa neho zhrnie odporúčania.
acknowledgedCoverageGaps
body
string[]
Identifikátory všetkých položiek so statusom „gap“ z /coverage. Bez nich server objednávku odmietne.
[
{
"id": "6f1c2a9e-4d1b-4b8e-9a0c-2f3e5d7a8b10",
"bundle": "Základné preverenie",
"parcel": "parc. č. 1234/5, k. ú. Bernolákovo",
"status": "AWAITING_ATTACHMENT",
"statusText": "pripravuje sa (dopĺňame list vlastníctva)",
"createdAt": "2026-10-10T08:15:02.114Z",
"portalUrl": "https://parcelnik.sk/app/orders"
}
]
GET/orders/{id}
Detail objednávky
Stav jednej objednávky vášho účtu. Keď je hotová (COMPLETE), obsahuje aj semafor rizík (signals). Objednávka iného účtu vráti 404, rovnako ako neexistujúca.
{
"id": "6f1c2a9e-4d1b-4b8e-9a0c-2f3e5d7a8b10",
"bundle": "Rýchly prehľad",
"parcel": "parc. č. 1234/5, k. ú. Bernolákovo",
"status": "COMPLETE",
"statusText": "hotová",
"createdAt": "2026-10-10T08:15:02.114Z",
"portalUrl": "https://parcelnik.sk/app/orders",
"signals": [
{
"area": "Záplavy",
"level": "ok",
"levelText": "v poriadku",
"text": "Parcela nezasahuje do mapovaných záplavových území."
},
{
"area": "Ochranné pásma",
"level": "warn",
"levelText": "pozor",
"text": "Parcela môže zasahovať do ochranného pásma cesty, železnice alebo vedenia."
}
]
}
400 Identifikátor nie je UUID.
404 Objednávka neexistuje alebo nepatrí vášmu účtu.
GET/orders/{id}/report
Stiahnutie reportu (PDF)
Stiahne doručený report vo formáte PDF. Pri Základnom preverení a Kompletnom audite je to spojený dokument s listom vlastníctva. Súbor ide vždy cez API, nikdy cez verejný odkaz.
404 Objednávka neexistuje, nepatrí vám alebo report ešte nie je pripravený.
Stavy objednávky
Pole status je stabilný kód pre váš program, statusText je text pre ľudí a môže sa meniť. Nové stavy môžeme v rámci v1 pridať; neznámy stav považujte za „pripravuje sa“.
status
statusText
Význam
AWAITING_PAYMENT
čaká na platbu v portáli
Zákazník potvrdí podmienky a zaplatí v portáli. Nezaplatená objednávka sa po 48 h zruší.
AWAITING_CONFIRMATION
čaká na potvrdenie zákazníkom
Len pri objednávkach od AI asistenta (MCP) na účte s fakturáciou.
PROCESSING
pripravuje sa
Zbierame údaje zo zdrojov a skladáme report.
AUTO_RETRY
pripravuje sa
Niektorý zdroj neodpovedal; automaticky ho skúšame znova po 5, 10 a 15 minútach.
NEEDS_REVIEW
pripravuje sa
Kontroluje ju operátor (napr. zdroj, ktorý dlhodobo neodpovedá).
AWAITING_ATTACHMENT
pripravuje sa
Dopĺňame list vlastníctva a overenie územného plánu (Základné preverenie, audit).
COMPLETE
hotová
Report je možné stiahnuť. Pri audite je to najprv 1. časť; celý audit nahradí PDF neskôr.
FAILED
nepodarilo sa ju pripraviť
Report sa nepodarilo pripraviť; ozveme sa vám.
CANCELLED
zrušená
Nezaplatená alebo zákazníkom odmietnutá objednávka.
Semafor rizík v hotovej objednávke má úrovne ok, warn, risk a unknown. Úroveň unknown znamená, že zdroj neodpovedal; nie je to dobrý výsledok.
Chyby
Chyby majú HTTP kód a telo s poľom message. Obchodné chyby sú v slovenčine; pri chybách validácie vstupu je to zoznam technických hlásení v angličtine.
Odpoveď 400 Bad Request
{
"statusCode": 400,
"message": [
"label must be longer than or equal to 5 characters"
],
"error": "Bad Request"
}
Kód
Názov
Kedy
400
Bad Request
Neplatné vstupy. Pole message obsahuje dôvod (pri validácii zoznam).
401
Unauthorized
Chýba hlavička Authorization alebo je kľúč neplatný, odvolaný či expirovaný.
403
Forbidden
Kľúč patrí účtu, ktorý API používať nesmie (napr. administrátor).
404
Not Found
Zdroj neexistuje alebo nepatrí vášmu účtu (tieto prípady nerozlišujeme).
409
Conflict
Operácia nie je v aktuálnom stave objednávky možná.
429
Too Many Requests
Prekročený limit. Počkajte a opakujte s exponenciálnym odstupom.
500
Internal Server Error
Chyba na našej strane. Opakujte neskôr; ak trvá, napíšte nám.
503
Service Unavailable
Dočasne nedostupná služba (napr. platobná brána).
Limity
60 požiadaviek za minútu na integračné API, z jednej adresy.
30 za minútu na kontrolu pokrytia, 20 za minútu na vytváranie objednávok.
Najviac 30 objednávok za hodinu na jeden účet (spolu cez API aj AI asistentov).
Po prekročení dostanete 429 Too Many Requests. Opakujte s exponenciálnym odstupom (napr. 2, 4, 8 s). Stav objednávky sa pýtajte najviac raz za minútu; webhooky zatiaľ neposkytujeme. Potrebujete vyšší limit? Napíšte nám.
Bezpečnosť
Kľúč používajte len na serveri. Nikdy ho nedávajte do JavaScriptu v prehliadači, mobilnej aplikácie ani do repozitára; ukladajte ho v správcovi tajomstiev.
Pre každý systém vytvorte vlastný kľúč s obmedzenou platnosťou a pravidelne ich meňte.
Pri podozrení na únik kľúč ihneď odvolajte v Integráciách.
Do label nevkladajte mená ani iné osobné údaje klientov; stačí parcela alebo adresa.
Reporty s listom vlastníctva obsahujú osobné údaje vlastníkov. Ukladajte ich zabezpečene a len po nevyhnutnú dobu.
Príklady
Celý postup od vyhľadania obce po stiahnutie PDF:
cURL
# 1. Obec
curl -s "https://api.parcelnik.sk/api/v1/integration/municipalities?q=Bernolakovo" \
-H "Authorization: Bearer $PARCELNIK_API_KEY"
# 2. Katastrálne územia obce
curl -s "https://api.parcelnik.sk/api/v1/integration/municipalities/SK0102508241/cadastral-areas" \
-H "Authorization: Bearer $PARCELNIK_API_KEY"
# 3. Parcela podľa čísla
curl -s "https://api.parcelnik.sk/api/v1/integration/cadastral-areas/CU.3149/parcels?number=1234/5" \
-H "Authorization: Bearer $PARCELNIK_API_KEY"
# 4. Pokrytie a objednávka
curl -s "https://api.parcelnik.sk/api/v1/integration/parcels/CP.205486/coverage" \
-H "Authorization: Bearer $PARCELNIK_API_KEY"
curl -s -X POST "https://api.parcelnik.sk/api/v1/integration/orders" \
-H "Authorization: Bearer $PARCELNIK_API_KEY" \
-H "Content-Type: application/json" \
-d '{"bundleId":"instant-overview","parcelId":"CP.205486","cadastralAreaId":"CU.3149","label":"parc. č. 1234/5, k. ú. Bernolákovo","acknowledgedCoverageGaps":["zoning"]}'
# 5. Stav a PDF
curl -s "https://api.parcelnik.sk/api/v1/integration/orders/<ID>" -H "Authorization: Bearer $PARCELNIK_API_KEY"
curl -s -o report.pdf "https://api.parcelnik.sk/api/v1/integration/orders/<ID>/report" \
-H "Authorization: Bearer $PARCELNIK_API_KEY"
AI asistenti (MCP)
Tie isté operácie sú dostupné aj ako nástroje pre ChatGPT a Claude cez MCP server https://api.parcelnik.sk/mcp s prihlásením OAuth 2.1. Objednávku od asistenta musí zákazník vždy potvrdiť v portáli. Návod na pripojenie je v portáli v časti Integrácie.
Zmeny API
V rámci v1 pridávame len spätne kompatibilné zmeny (nové polia, endpointy, stavy). Ignorujte polia, ktoré nepoznáte. Nekompatibilnú zmenu vydáme ako novú verziu a vopred ju oznámime e-mailom držiteľom kľúčov.
10. 10. 2026 – verejná dokumentácia a špecifikácia OpenAPI.