Návod na použitie API

Základ

Každá požiadavka musí mať hlavičku X-API-Key: <tvoj_kľúč>. Bez platného kľúča vráti API 401. O kľúč požiadaj administrátora.

Základná URL: https://profiapi.sk · Všetky endpointy sú GET a vracajú JSON. Sumy sú v eurách, dátumy vo formáte RRRR-MM-DD.

Každý kľúč má pridelené oprávnenia (scopes) — smie volať len endpointy, ktoré má povolené, inak API vráti 403.

Dáta pochádzajú výhradne z oficiálnych štátnych registrov (RPO, RÚZ, Finančná správa, RPVS, MS SR, Sociálna poisťovňa, VšZP, ITMS, ÚVO, GP SR, dotácie ministerstiev, PPA) a aktualizujú sa každú noc.

Endpointy

EndpointScopePopis
/api/v1/search?q=…search Vyhľadávanie pre autocomplete — IČO (aj čiastočné) alebo názov. Pri každej firme aj celá adresa, platitel_dph a dph_stav. Voliteľne ?pridaj=rizika,financie (semafor a obrat).
/api/v1/company/{ico}company Základné údaje: názov, adresa, DIČ, IČ DPH a stav DPH, právna forma.
/api/v1/company/{ico}/detaildetail Základ + web, e-mail, telefón, sumár (z webu firmy).
/api/v1/company/{ico}/financiefinancie Finančné ukazovatele po rokoch zo závierok. Voliteľne ?od=2021&do=2025.
/api/v1/company/{ico}/zavierkyzavierky Účtovné závierky po rokoch s výkazmi a odkazmi na PDF. Voliteľne ?od=&do=.
/api/v1/company/{ico}/danedane DPH detail, index daňovej spoľahlivosti, bankové účty, daň z príjmov od FS, daňový dlh.
/api/v1/company/{ico}/stavstav Konkurz, likvidácia, reštrukturalizácia, zánik, právny nástupca + história.
/api/v1/company/{ico}/osobyosoby Štatutári, spoločníci s vkladmi, ďalšie osoby (dozorná rada, prokurista…), základné imanie, koneční užívatelia výhod (RPVS).
/api/v1/company/{ico}/rizikarizika Rizikové signály: dlhy SP/VšZP/FS, insolvencia, diskvalifikovaní štatutári, odsúdenia, pokuta RPVS, nezrovnalosti v eurofondoch.
/api/v1/company/{ico}/verejne-zdrojeverejne_zdroje Eurofondy 2014–20 a 2021–27, Plán obnovy, dotácie, PPA, vyhraté verejné zákazky. Voliteľne ?limit=50.
/api/v1/company/{ico}/kompletkomplet Základ + viac sekcií naraz. ?sekcie=financie,dane,rizika (bez parametra všetky povolené). Vráti len sekcie, na ktoré má kľúč scope.

Parametre search: q (povinné), limit (default 8, max 20), vsetky=1 (zahrnie aj zaniknuté firmy — default len aktívne), pridaj (voliteľne rizika, financie — pozri nižšie).

Ako /search reaguje

Vstup qSprávanietyp v odpovedi
samé číslice, < 8 (napr. 313)zoznam firiem podľa IČO prefixuzoznam
samé číslice, 8 (napr. 31333532)rovno jedna firma s plným detailomfirma
obsahuje písmená (napr. tatra)zoznam firiem podľa názvu (od 3 znakov) — bez ohľadu na diakritiku, veľké/malé písmená a poradie slovzoznam

Pri hľadaní podľa názvu musí byť v názve každé zadané slovo (aspoň 3 znaky), v ľubovoľnom poradí. Napr. majercik michal autodoprava nájde MAJERČÍK MICHAL - AUTODOPRAVA, s.r.o. a slovenska posta nájde Slovenská pošta, a.s. Stačia aj začiatky slov (majerc autodopr). Aktívne firmy a názvy začínajúce zadaným textom sú vyššie.

Platiteľ DPH — pole dph.stav

Hodnotaplatitel_dphic_dphVýznam
platiteltrueánoplatiteľ DPH (§4, §4b, §5)
registrovany_nie_platitelfalseánoregistrovaný len pre obchod v EÚ (§7, §7a) — má IČ DPH, ale nie je platiteľ
vymazanyfalsenullregistrácia DPH bola zrušená (vymazany_dna, vymazane_ic_dph)
neplatitelfalsenullnie je registrovaný pre DPH

Zdroj: aktuálne zoznamy Finančnej správy. hrozi_zrusenie_registracie = FS zverejnila dôvody na zrušenie registrácie. predchadzajuci_vymaz = firma bola v minulosti vymazaná a znova sa zaregistrovala.

Finančné údaje — /financie

Jeden riadok na rok (platná závierka). Ukazovatele za bežné obdobie v €: trzby, vynosy (všetky výnosy), naklady, osobne_naklady, zisk_pred_zdanenim, zisk (po zdanení), aktiva, pasiva, vlastne_imanie, zavazky.

dan_z_prijmov_vypocet = zisk_pred_zdanenim − zisk (daň podľa výkazu — splatná aj odložená, preto môže byť aj záporná). dan_z_prijmov_fs = daň vyrubená Finančnou správou, ak ju za daný rok máme (história sa zbiera od 29. 9. 2026).

Históriu máme od roku 2013. Pri každom roku je stav_udajov:

stav_udajovVýznam
cislačísla sú k dispozícii
neverejnevýkaz je neverejný (napr. mikro účtovná jednotka) — čísla nezverejňuje nikto
len_pdfzávierka je len v PDF (typicky IFRS veľkých firiem) — PDF nájdeš cez /zavierky
ina_sablonašablóna, ktorú zatiaľ neprepočítavame (banky, poisťovne)
bez_vykazuzávierka nemá výkaz (len oznámenie, výročná správa…)

kontrola_ok = aktíva sa rovnajú pasívam a zisk vo výsledovke sedí so súvahou. druh: POD podnikatelia, MUJ mikro, NUJ/NO neziskové, ROPO rozpočtové organizácie a obce.

Príklady — curl

# napovedanie podľa názvu
curl -H "X-API-Key: TVOJ_KLUC" "https://{{ request.headers.get("host", "profiapi.sk") }}/api/v1/search?q=tatra&limit=8"

# presná firma po IČO (vrátane stavu DPH)
curl -H "X-API-Key: TVOJ_KLUC" "https://{{ request.headers.get("host", "profiapi.sk") }}/api/v1/company/31333532"

# financie za roky 2021–2025
curl -H "X-API-Key: TVOJ_KLUC" "https://{{ request.headers.get("host", "profiapi.sk") }}/api/v1/company/00000710/financie?od=2021&do=2025"

# závierky s PDF od roku 2024
curl -H "X-API-Key: TVOJ_KLUC" "https://{{ request.headers.get("host", "profiapi.sk") }}/api/v1/company/31333532/zavierky?od=2024"

# viac sekcií naraz
curl -H "X-API-Key: TVOJ_KLUC" "https://{{ request.headers.get("host", "profiapi.sk") }}/api/v1/company/31333532/komplet?sekcie=financie,dane,rizika"

Príklad odpovede — /company/31333532

{
  "ico": "31333532",
  "dic": "2020317068",
  "ic_dph": "SK2020317068",
  "platitel_dph": true,
  "dph": {
    "stav": "platitel",
    "platitel": true,
    "ic_dph": "SK2020317068",
    "druh_registracie": "§4",
    "registrovany_od": "2000-10-11",
    "platitel_od": "2000-10-11",
    "vymazany_dna": null,
    "vymazane_ic_dph": null,
    "predchadzajuci_vymaz": null,
    "hrozi_zrusenie_registracie": false,
    "rok_porusenia": null
  },
  "nazov": "ESET, spol. s r.o.",
  "pravna_forma": "Spoločnosť s ručením obmedzeným",
  "adresa": {
    "ulica_cislo": "Einsteinova 24",
    "psc": "85101",
    "obec": "Bratislava",
    "formatovana": "Einsteinova 24, 85101 Bratislava"
  },
  "hlavna_cinnost": "Ostatné služby týkajúce sa informačných technológií a počítačov",
  "datum_vzniku": "1992-09-17",
  "datum_zaniku": null,
  "aktivna": true
}

Príklad odpovede — /company/00000710/financie?od=2025&do=2025

{
  "ico": "00000710",
  "pocet": 1,
  "roky": [{
    "rok": 2025, "stav_udajov": "cisla", "druh": "POD", "typ": "Riadna",
    "obdobie_od": "2025-01", "obdobie_do": "2025-12", "datum_podania": "2026-03-24",
    "trzby": 1157107.0, "vynosy": 2147471.0, "naklady": 1387127.0, "osobne_naklady": 242302.0,
    "zisk_pred_zdanenim": 760344.0, "zisk": 631039.0,
    "aktiva": 3038233.0, "pasiva": 3038233.0, "vlastne_imanie": 2853683.0, "zavazky": 184550.0,
    "dan_z_prijmov_vypocet": 129305.0,
    "dan_z_prijmov_fs": null,
    "kontrola_ok": true
  }]
}

Príklad odpovede — /search?q=tatra banka

{
  "typ": "zoznam",
  "firma": null,
  "vysledky": [
    {
      "ico": "00686930",
      "nazov": "Tatra banka, a.s.",
      "sidlo": "Bratislava 1",
      "adresa": {
        "ulica_cislo": "Hodžovo námestie 3",
        "psc": "81106",
        "obec": "Bratislava 1",
        "formatovana": "Hodžovo námestie 3, 81106 Bratislava 1"
      },
      "pravna_forma": "Akciová spoločnosť",
      "aktivna": true,
      "dph_stav": "platitel",
      "platitel_dph": true
    }
  ]
}

typ = zoznam alebo firma (pri 8-miestnom IČO; potom je v firma celá odpoveď ako z /company). Pri každej firme je adresa (rovnaký objekt ako v /company: ulica_cislo, psc, obec, formatovana), sidlo (len obec, ponechané kvôli spätnej kompatibilite), dph_stav (hodnoty ako dph.stav) a platitel_dph.

Rozšírené hľadanie — /search?q=…&pridaj=rizika,financie

Pre návrhy so semaforom a obratom jedným dopytom, bez volania /komplet pre každú firmu. Funguje pri hľadaní podľa názvu, čiastočného aj celého IČO. Rozšírenie pridá približne 10–20 ms.

Hodnota pridajPotrebný scopeČo pribudne ku každej firme
rizikarizikarizika: pravny_stav (text alebo null), index_spolahlivosti, dlh_socialna_poistovna, dlh_vszp, danovy_dlh ({suma, parovanie} alebo null), dph_hrozi_zrusenie, signaly a pocet_signalov
financiefinanciefinancie: rok, trzby, vlastne_imanie za posledný rok, za ktorý má firma čísla (null, ak žiadne nemá)

signaly sú rovnaké kódy a počítajú sa rovnako ako v /company/{ico}/rizika — semafor vyjde v návrhoch aj v detaile rovnako. Pri financiách vždy kontroluj rok: veľké firmy s IFRS majú posledné čísla aj o niekoľko rokov staršie (novšie závierky sú len v PDF).

Ak kľúč nemá potrebný scope, daná časť sa vo výsledkoch nevráti a jej názov bude v poli nepovolene. Neznáma hodnota v pridaj vráti 400.

{
  "typ": "zoznam",
  "firma": null,
  "vysledky": [
    {
      "ico": "36405752",
      "nazov": "STAVEBNÁ, s. r. o.",
      "sidlo": "Čierne",
      "adresa": {
        "ulica_cislo": "5",
        "psc": "02313",
        "obec": "Čierne",
        "formatovana": "5, 02313 Čierne"
      },
      "pravna_forma": "Spoločnosť s ručením obmedzeným",
      "aktivna": true,
      "dph_stav": "platitel",
      "platitel_dph": true,
      "rizika": {
        "pravny_stav": null,
        "index_spolahlivosti": "vysoko spoľahlivý",
        "dlh_socialna_poistovna": null,
        "dlh_vszp": null,
        "danovy_dlh": null,
        "dph_hrozi_zrusenie": false,
        "signaly": [],
        "pocet_signalov": 0
      },
      "financie": {
        "rok": 2025,
        "trzby": 5153.0,
        "vlastne_imanie": 219236.0
      }
    },
    …
  ],
  "nepovolene": []
}

Príklad odpovede — /company/{ico}/detail

{
  "ico": "31333532",
  "nazov": "ESET, spol. s r.o.",
  "web": {
    "web_url": "https://www.eset.com/sk/",
    "email": [],
    "telefon": [],
    "web_adresa": "Zobraziť fakturačné údaje ESET, spol. s r.o. Einsteinova 24 851 01 Bratislava Slovenská re…",
    "sumar_kratky": "ESET, spol. s r.o. vyvíja a predáva softvérové riešenia pre informačnú bezpečnosť, vrátane…",
    "sumar_dlhy": "Firma ESET, sídliaca v Bratislave, sa zameriava na vývoj a distribúciu komplexných IT bezp…"
  },
  "…": "ostatné polia ako /company"
}

web je null, ak o webe firmy nemáme údaje. email a telefon sú zoznamy.

Príklad odpovede — /company/31333532/zavierky?od=2025&do=2025

{
  "ico": "31333532",
  "pocet": 2,
  "zavierky": [
    {
      "rok": 2025,
      "obdobie_od": "2025-01",
      "obdobie_do": "2025-12",
      "typ": "Riadna",
      "datum_podania": "2026-06-18",
      "zostavena_k": "2025-12-31",
      "stav_udajov": "len_pdf",
      "druh": null,
      "konsolidovana": true,
      "vykazy": [
        {
          "vykaz": "Správa audítora",
          "pristupnost": "Verejné",
          "prilohy": [
            {
              "nazov": "Správa audítora.PDF",
              "pocet_stran": null,
              "velkost_b": 22865273,
              "url": "https://www.registeruz.sk/cruz-public/domain/financialreport/attachment/12675486"
            }
          ]
        }
      ]
    }
  ]
}

Jedna položka = jedna závierka (za rok ich môže byť viac: riadna, mimoriadna, konsolidovana za skupinu). vykazy = výkazy v závierke (vykaz = názov šablóny, pristupnost = Verejné / Neverejné / Verejné prílohy), prilohy = PDF s priamym odkazom url do RÚZ, velkost_b v bajtoch. zostavena_k = dátum, ku ktorému je závierka zostavená. stav_udajov a druh ako pri /financie. Zmazané závierky sa nevracajú. (Zoznamy v príklade sú skrátené.)

Príklad odpovede — /company/31333532/dane

{
  "ico": "31333532",
  "dic": "2020317068",
  "dph": {
    "stav": "platitel",
    "platitel": true,
    "ic_dph": "SK2020317068",
    "druh_registracie": "§4",
    "registrovany_od": "2000-10-11",
    "platitel_od": "2000-10-11",
    "vymazany_dna": null,
    "vymazane_ic_dph": null,
    "predchadzajuci_vymaz": null,
    "hrozi_zrusenie_registracie": false,
    "rok_porusenia": null
  },
  "index_spolahlivosti": "vysoko spoľahlivý",
  "bankove_ucty": [
    "SK0411000000002946169113",
    "SK0702000000002707168359"
  ],
  "dan_z_prijmov": [
    {
      "obdobie_od": "2025-01-01",
      "obdobie_do": "2025-12-31",
      "vyrubena_dan": 16373244.17,
      "dodatocne_vyrubena_dan": 0.0,
      "danova_strata": 0.0
    }
  ],
  "danovy_dlh": null
}

bankove_ucty = IBAN účty zverejnené platiteľom DPH. index_spolahlivosti = vysoko spoľahlivý / spoľahlivý / menej spoľahlivý. dan_z_prijmov = vyrubená daň, dodatočne vyrubená daň a daňová strata podľa FS po obdobiach (FS zverejňuje len posledné obdobie, staršie ukladáme od 29. 9. 2026). danovy_dlh = null alebo {suma, parovanie}. (Zoznam účtov v príklade skrátený.)

Príklad odpovede — /company/{ico}/stav (anonymizovaný príklad)

{
  "ico": "12345678",
  "stav": {
    "aktualne_stavy": "V likvidácii, V konkurze",
    "v_konkurze": true,
    "v_konkurze_od": "2026-01-01",
    "v_likvidacii": true,
    "v_likvidacii_od": "2022-01-01",
    "v_restrukturalizacii": false,
    "v_restrukturalizacii_od": null,
    "zrusena_alebo_zaniknuta": false,
    "datum_zaniku": null,
    "pravny_nastupca": null,
    "historia": [
      {
        "kod": "3",
        "stav": "V konkurze",
        "od": "2026-01-01",
        "do": null
      },
      {
        "kod": "2",
        "stav": "V likvidácii",
        "od": "2022-01-01",
        "do": null
      }
    ]
  }
}

aktualne_stavy = textový súhrn aktuálnych právnych stavov z RPO. historia = všetky právne stavy s platnosťou (kod 2 = likvidácia, 3 = konkurz, 4 = reštrukturalizácia, 10–19 = zrušená / zaniknutá). pravny_nastupca = {ico, nazov} alebo null. Ak firma nie je v RPO, stav je null.

Príklad odpovede — /company/31333532/osoby

{
  "ico": "31333532",
  "statutari": [
    {
      "funkcia": "Konateľ",
      "meno": "Ing. Miroslav Trnka",
      "je_firma": false,
      "ico": null,
      "od": "1992-09-17"
    },
    {
      "funkcia": "Konateľ",
      "meno": "Ing. Peter Paško",
      "je_firma": false,
      "ico": null,
      "od": "1992-09-17"
    }
  ],
  "spolocnici": [
    {
      "meno": "Ing. Maroš Grund",
      "typ": "Spoločník v.o.s. / s.r.o.",
      "je_firma": false,
      "ico": null,
      "od": "2021-01-30",
      "vklady": [
        {
          "suma": 16975.0,
          "mena": "EUR"
        }
      ]
    },
    {
      "meno": "RNDr. Anton Zajac",
      "typ": "Spoločník v.o.s. / s.r.o.",
      "je_firma": false,
      "ico": null,
      "od": "2022-02-16",
      "vklady": [
        {
          "suma": 12600.0,
          "mena": "EUR"
        }
      ]
    }
  ],
  "ine_osoby": [
    {
      "funkcia": "Člen dozorného orgánu",
      "meno": "Ing. Maroš Grund",
      "je_firma": false,
      "ico": null,
      "od": "2022-01-01"
    },
    {
      "funkcia": "Člen dozorného orgánu",
      "meno": "Ing. Matej Bošňák, - predseda",
      "je_firma": false,
      "ico": null,
      "od": "2022-01-01"
    }
  ],
  "zakladne_imanie": {
    "hodnota": null,
    "splatene": 140000.0,
    "mena": "EUR"
  },
  "rpvs": {
    "v_registri": true,
    "cislo_vlozky": 7677,
    "v_registri_od": "2017-02-01",
    "vymazany": false,
    "vymaz_datum": null
  },
  "konecni_uzivatelia_vyhod": [
    {
      "meno": "Ing. Richard Marko",
      "ico": null,
      "statna_prislusnost": "Slovenská republika",
      "verejny_cinitel": false,
      "od": "2024-07-04"
    },
    {
      "meno": "Ing. Peter Paško",
      "ico": null,
      "statna_prislusnost": "Slovenská republika",
      "verejny_cinitel": false,
      "od": "2024-07-04"
    }
  ]
}

statutari = aktuálni štatutári (funkcia, meno, od; ak je štatutárom firma, je_firma = true a ico). spolocnici = spoločníci / akcionár / komanditisti s vklady. ine_osoby = ďalšie osoby z RPO (dozorná rada, prokurista, zakladateľ, likvidátor, správca konkurznej podstaty…). zakladne_imanie = {hodnota, splatene, mena}. rpvs = zápis v registri partnerov verejného sektora; konecni_uzivatelia_vyhod = KUV (statna_prislusnost, verejny_cinitel). (Zoznamy v príklade skrátené.)

Príklad odpovede — /company/{ico}/rizika (anonymizovaný príklad)

{
  "ico": "12345678",
  "signaly": [
    "danovy_dlh",
    "menej_spolahlivy_danovnik",
    "odsudena_pravnicka_osoba"
  ],
  "pocet_signalov": 3,
  "dlh_socialna_poistovna": null,
  "dlh_vszp": null,
  "danovy_dlh": {
    "suma": 12500.0,
    "parovanie": "nazov_psc"
  },
  "index_spolahlivosti": "menej spoľahlivý",
  "dph_hrozi_zrusenie_registracie": null,
  "diskvalifikovani_statutari": [],
  "odsudenia": [
    {
      "sud": "Okresný súd …",
      "rozhodnutie": "Rozsudok",
      "datum": "2021-01-01",
      "spisova_znacka": "1T/00/2021",
      "pravoplatnost": "2021-01-01",
      "trestny_cin": "Prečin podľa § 278 odsek 2 trestného zákona číslo 300/2005 Z…",
      "trest": "peňažný trest: … EUR."
    }
  ],
  "rpvs_pokuta": false,
  "eurofondy_nezrovnalosti_na_vymahanie": null,
  "eurofondy_pohladavky_na_vratenie": null
}

Možné signaly: konkurz, likvidacia, restrukturalizacia, zrusena_alebo_zaniknuta, dlh_socialna_poistovna, dlh_vszp, danovy_dlh, dph_hrozi_zrusenie_registracie, menej_spolahlivy_danovnik, diskvalifikovany_statutar, odsudena_pravnicka_osoba, pokuta_rpvs, eurofondy_nezrovnalosti, eurofondy_pohladavky.

Sumy dlhov sú v € (null = nie je dlžníkom). Daňových dlžníkov FS zverejňuje bez IČO — parovanie hovorí, ako istá je zhoda (nazov_psc takmer istá, nazov menej istá). diskvalifikovani_statutari — len pri zhode mena aj obce (zakaz_od / zakaz_do, sud, spisova_znacka). odsudenia = odsúdenia firmy podľa GP SR (sud, rozhodnutie, datum, pravoplatnost, trestny_cin, trest). eurofondy_nezrovnalosti_na_vymahanie a eurofondy_pohladavky_na_vratenie v €.

Príklad odpovede — /company/{ico}/verejne-zdroje?limit=1

{
  "ico": "35763469",
  "suhrn_eurofondy": {
    "pocet_projektov_2014_2020": 0.0,
    "zazmluvnene_2014_2020": 0.0,
    "uhradene_platby_2014_2020": 0.0,
    "dodavky_do_projektov": 0.0,
    "pocet_projektov_2021_2027": 0.0,
    "zazmluvnene_2021_2027": 0.0,
    "plan_obnovy_zazmluvnene": 200671.0
  },
  "eurofondy_2014_2020": {
    "pocet": 0,
    "suma": null,
    "polozky": []
  },
  "eurofondy_2021_2027": {
    "pocet": 0,
    "suma": null,
    "polozky": []
  },
  "plan_obnovy": {
    "pocet": 1,
    "suma": 200671.0,
    "polozky": [
      {
        "projekt": "TUKE 5G Infrastructure for Smart Communities",
        "investicia": "K17_I04",
        "stav": null,
        "suma_poo": 200671.0,
        "suma_celkova": 240805.0,
        "cislo_zmluvy": "CEZ MIRRI SR: 2069/2024",
        "datum_zmluvy": "2024-12-12",
        "crz_url": "https://www.crz.gov.sk/zmluva/10169177/"
      }
    ]
  },
  "dotacie": {
    "pocet": 2972,
    "suma": 2239337.15,
    "polozky": [
      {
        "poskytovatel": "Ministerstvo hospodárstva SR",
        "vyzva": "Výzva 2.1 DKR",
        "projekt": "Energodotácie ",
        "stav": "Vyplatené",
        "datum_podania": null,
        "ziadana_suma": 69113.34,
        "schvalena_suma": 69113.34,
        "cislo_zmluvy_crz": ""
      }
    ]
  },
  "ppa_pomoc": {
    "pocet": 0,
    "suma": null,
    "polozky": []
  },
  "verejne_zakazky_vyhrane": {
    "pocet": 97,
    "suma": 1511125777.17,
    "polozky": [
      {
        "datum": "2026-09-02",
        "zakazka": "Nákup tovarov informačno-komunikačných technológií pre potreby N…",
        "obstaravatel": "Národná diaľničná spoločnosť, a.s.",
        "obstaravatel_ico": "35919001",
        "cast": "LOT-0001",
        "hodnota": 172757.46,
        "mena": "EUR",
        "zmluva": "4500273306",
        "datum_zmluvy": "2026-07-14"
      }
    ]
  }
}

suhrn_eurofondy = súhrnné čísla (počty projektov, zazmluvnené sumy, uhradené platby, dodavky_do_projektov = fakturácia firmy do cudzích projektov). Každý zoznam (eurofondy_2014_2020, eurofondy_2021_2027, plan_obnovy, dotacie, ppa_pomoc, verejne_zakazky_vyhrane) má pocet a suma za všetky záznamy a v polozky najnovších limit záznamov (default 50, max 500).

Pri zákazkách: zakazka = názov, obstaravatel / obstaravatel_ico, cast = časť (lot), hodnota ponuky, zmluva a datum_zmluvy. Pri dotáciách ziadana_suma, schvalena_suma, cislo_zmluvy_crz; pri Pláne obnovy suma_poo, suma_celkova, crz_url. Pozn.: časť názvov zákaziek má v zdrojových dátach ÚVO chybnú diakritiku.

Príklad odpovede — /company/31333532/komplet?sekcie=stav,rizika

{
  "ico": "31333532",
  "nazov": "ESET, spol. s r.o.",
  "platitel_dph": true,
  "stav": {
    "aktualne_stavy": null,
    "v_konkurze": false,
    "v_konkurze_od": null,
    "v_likvidacii": false,
    "v_likvidacii_od": null,
    "v_restrukturalizacii": false,
    "v_restrukturalizacii_od": null,
    "zrusena_alebo_zaniknuta": false,
    "datum_zaniku": null,
    "pravny_nastupca": null,
    "historia": []
  },
  "rizika": {
    "signaly": [],
    "pocet_signalov": 0,
    "dlh_socialna_poistovna": null,
    "dlh_vszp": null,
    "danovy_dlh": null,
    "index_spolahlivosti": "vysoko spoľahlivý",
    "dph_hrozi_zrusenie_registracie": null,
    "diskvalifikovani_statutari": [],
    "odsudenia": [],
    "rpvs_pokuta": false,
    "eurofondy_nezrovnalosti_na_vymahanie": null,
    "eurofondy_pohladavky_na_vratenie": null
  },
  "nepovolene_sekcie": [],
  "…": "ostatné polia ako /company"
}

Základné polia firmy ako pri /company + každá vyžiadaná sekcia pod svojím názvom (financie, dane, stav, osoby, rizika, verejne_zdroje, zavierky; sekcia detail je pod kľúčom web). Obsah sekcie je rovnaký ako zo samostatného endpointu. nepovolene_sekcie = vyžiadané sekcie, na ktoré kľúč nemá scope (nevrátia sa). Parametre od, do platia pre financie a závierky, limit (default 20) pre verejné zdroje.

Osobné údaje

API nevracia bydliská štatutárov, spoločníkov ani konečných užívateľov výhod a nevracia dátumy narodenia. Pri osobách je meno, funkcia a od kedy ju vykonávajú.

Napojenie na registračný formulár (JavaScript)

⚠️ Kľúč nedávaj priamo do frontendu na verejnom webe — každý si ho vie pozrieť. Volaj radšej cez vlastný malý backend/proxy, ktorý kľúč drží. Príklad nižšie je princíp (nahraď volanie na svoj proxy endpoint).

// jedno pole "firma" — používateľ píše IČO alebo názov
const pole = document.querySelector('#firma');
const zoznam = document.querySelector('#navrhy');
let timer;

pole.addEventListener('input', () => {
  clearTimeout(timer);
  const q = pole.value.trim();
  if (q.length < 3) { zoznam.innerHTML = ''; return; }
  timer = setTimeout(async () => {
    const r = await fetch('/proxy/search?q=' + encodeURIComponent(q));
    const data = await r.json();

    if (data.typ === 'firma' && data.firma) {
      vyplnFormular(data.firma);          // 8-miestne IČO -> rovno vyplní
      zoznam.innerHTML = '';
    } else {
      zoznam.innerHTML = data.vysledky.map(f =>
        `<li data-ico="${f.ico}">${f.nazov} — ${f.sidlo || ''}</li>`
      ).join('');
    }
  }, 200);  // debounce
});

// klik na návrh -> doťiahne plný detail podľa IČO
zoznam.addEventListener('click', async (e) => {
  const ico = e.target.closest('li')?.dataset.ico;
  if (!ico) return;
  const r = await fetch('/proxy/company/' + ico);
  vyplnFormular(await r.json());
  zoznam.innerHTML = '';
});

function vyplnFormular(f) {
  document.querySelector('#nazov').value = f.nazov;
  document.querySelector('#ico').value   = f.ico;
  document.querySelector('#dic').value   = f.dic || '';
  document.querySelector('#icdph').value = f.ic_dph || '';          // null ak nie je registrovaný
  document.querySelector('#platitel').checked = f.platitel_dph;       // true / false
  document.querySelector('#adresa').value = f.adresa?.formatovana || '';
}

Príklad proxy (PHP) — drží kľúč na serveri

<?php
// /proxy/search.php
$q = $_GET['q'] ?? '';
$ch = curl_init('https://{{ request.headers.get("host", "profiapi.sk") }}/api/v1/search?q=' . urlencode($q));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['X-API-Key: TVOJ_KLUC']);
header('Content-Type: application/json');
echo curl_exec($ch);

Chybové stavy

KódVýznam
400zlý vstup: IČO nie je číslo, názov kratší ako 3 znaky, neznáma sekcia v komplet
401chýbajúci alebo neplatný kľúč
403kľúč je zablokovaný, alebo nemá oprávnenie (scope) na tento endpoint
429prekročený limit požiadaviek za minútu (hlavička Retry-After)
404firma s daným IČO nie je v RPO ani v RÚZ