API Dokumentácia
FirmAPI poskytuje REST API pre slovenské firemné dáta a rozšírené obohatenia vrátane daňových údajov, bankových účtov, kontaktov, finančných ukazovateľov, účtovných závierok, insolvencie, verejných zákaziek a notifikácií cez webhook alebo email.
Autentifikácia
Všetky API požiadavky vyžadujú autentifikáciu pomocou API kľúča. API kľúče si môžete vytvoriť vo svojom dashboarde.
Pridajte API kľúč do hlavičky Authorization:
Authorization: Bearer YOUR_API_KEY
Alebo použite hlavičku X-API-Key:
X-API-Key: YOUR_API_KEY
Základná URL
https://api.firmapi.sk/v1
Zdroje dát
FirmAPI agreguje základné registre a doplnkové enrichment zdroje do jednej odpovede:
| Zdroj | Dáta | Frekvencia aktualizácie |
|---|---|---|
| RPO (Register právnických osôb) | Názov, IČO, sídlo, právna forma, stav | Denne |
| ORSR (Obchodný register) | Spoločníci, štatutárne orgány, predmety podnikania, základné imanie | Na vyžiadanie / mesačne |
| Daňové a finančné zdroje | DIČ, IČ DPH, platca DPH, základné finančné ukazovatele, účtovné závierky | Priebežne podľa dostupnosti zdroja |
| EU VIES | Overenie platnosti IČ DPH | Na vyžiadanie (cache 7 dní) |
| Verejné registre a vestníky | Dlžnícke zoznamy, obchodný vestník, insolvencia, verejné zmluvy a obstarávania | Priebežne podľa dostupnosti zdroja |
Neaktuálne dáta a obnova na pozadí
FirmAPI vracia posledné dostupné dáta okamžite a snaží sa udržiavať dáta načítané zo zdrojov mladšie ako 10 dní. Ak sú ORSR dáta alebo doplnkové dáta staršie, automaticky spúšťa obnovu na pozadí.
Ak sú ORSR detaily staršie ako 30 dní alebo dáta načítané z doplnkových zdrojov staršie ako 10 dní, odpoveď bude obsahovať príznaky neaktuálnosti:
-
meta.stale: true— dáta sú neaktuálne -
meta.retry_at— ISO 8601 časová značka, kedy znova požiadať o aktuálne dáta -
meta.stale_reason— napr.orsr_data_outdated,enrichment_data_outdatedaleboorsr_and_enrichment_data_stale
Rovnakú požiadavku zopakujte po čase retry_at. Obnova na pozadí sa zvyčajne dokončí do 10 – 15 sekúnd.
{
"data": { ... },
"meta": {
"rpo_updated_at": "2026-02-05T06:00:00Z",
"orsr_synced_at": "2025-12-01T14:30:00Z",
"source": "database",
"stale": true,
"retry_at": "2026-02-05T12:00:15Z",
"stale_reason": "orsr_data_outdated"
}
}
Endpointy
/company/ico/{ico}
Získať údaje o firme podľa IČO (identifikačné číslo organizácie).
Parametre
| ico | string | 8-miestne identifikačné číslo organizácie |
Query parametre
| scope | string | Čiarkou oddelený zoznam obohatení, ktoré sa majú zahrnúť. Vynechajte pre základné údaje (najrýchlejšie). |
Dostupné scopy
Štandardne endpointy pre firmy vracajú len základné údaje (názov, adresa, stav). Použite parameter scope na zahrnutie doplnkových obohatení. Každý scope vyžaduje príslušnú funkciu vo vašom pláne.
tax, bank_accounts, contacts, financials, debtor_status, financial_statements, insolvency, commercial_bulletin, public_contracts, procurement
Príklad požiadavky
curl -X GET "https://api.firmapi.sk/v1/company/ico/51636549" \
-H "Authorization: Bearer YOUR_API_KEY"
curl -X GET "https://api.firmapi.sk/v1/company/ico/51636549?scope=tax,financials,debtor_status" \
-H "Authorization: Bearer YOUR_API_KEY"
curl -X GET "https://api.firmapi.sk/v1/company/ico/51636549?scope=all" \
-H "Authorization: Bearer YOUR_API_KEY"
Príklad odpovede
{
"data": {
"ico": "51636549",
"name": "Version Two s. r. o.",
"legal_form": "Spoločnosť s ručením obmedzeným",
"legal_form_code": "112",
"address": {
"street": "Hlavná 1",
"city": "Bratislava",
"postal_code": "81101",
"country": "Slovensko"
},
"established_date": "2018-05-15",
"terminated_date": null,
"source_register": "Obchodný register",
"status": "active",
"orsr_id": "427482",
"registration_date": "2018-05-15",
"business_activities": "Počítačové služby...",
"registered_capital": "5 000 EUR",
"shareholders": [
{"name": "John Doe", "address": "Bratislava", "share_amount": "5000 EUR", "share_percentage": "100%"}
],
"statutory_body": [
{"name": "John Doe", "role": "konateľ", "address": "Bratislava"}
]
},
"meta": {
"rpo_updated_at": "2026-02-05T06:00:00Z",
"orsr_synced_at": "2026-01-20T14:30:00Z",
"source": "database"
}
}
/search/autocomplete
Vyhľadávanie firiem podľa názvu alebo IČO s automatickým dopĺňaním. Vracia formát kompatibilný so Select2.
Query parametre
| q | string | Vyhľadávací dopyt (min 2 znaky) |
| limit | integer | Max. výsledkov (predvolené: 10, max: 20) |
Príklad odpovede
{
"results": [
{"id": "51636549", "text": "Version Two s. r. o.", "ico": "51636549", "city": "Bratislava"},
{"id": "12345678", "text": "Version s.r.o.", "ico": "12345678", "city": "Košice"}
],
"pagination": {"more": false}
}
/company/id/{orsr_id}
Získať údaje o firme podľa interného ID z obchodného registra.
Príklad požiadavky
curl -X GET "https://api.firmapi.sk/v1/company/id/427482" \
-H "Authorization: Bearer YOUR_API_KEY"
/company/{id}
Získať údaje o firme podľa interného databázového ID.
Príklad požiadavky
curl -X GET "https://api.firmapi.sk/v1/company/12345" \
-H "Authorization: Bearer YOUR_API_KEY"
/search/name
Vyhľadávanie firiem podľa názvu so stránkovaním.
Query parametre
| q | string | Názov firmy (min 3 znaky) |
| exact | integer | Presná zhoda (0 alebo 1, predvolené: 0) |
| limit | integer | Max. výsledkov (predvolené: 10, max: 100) |
| offset | integer | Offset stránkovania (predvolené: 0) |
/search/ico
Vyhľadávanie firiem podľa čiastočného IČO.
Query parametre
| q | string | Čiastočné IČO |
| limit | integer | Max. výsledkov (predvolené: 10, max: 100) |
/search/advanced
Vyhľadávanie podľa viacerých polí s rôznymi filtrami.
Query parametre
| name | string | Názov firmy |
| city | string | Mesto |
| legal_form | string | Právna forma |
/batch/ico
Vyžaduje plán Starter+
Hromadné vyhľadanie viacerých firiem podľa IČO. Vyžaduje plán Starter alebo vyšší.
Telo požiadavky
{
"icos": ["51636549", "12345678", "87654321"]
}
Príklad odpovede
{
"data": {
"51636549": {"found": true, "data": {...}},
"12345678": {"found": true, "data": {...}},
"87654321": {"found": false, "data": null}
},
"meta": {
"total": 3,
"found": 2,
"not_found": 1
}
}
/batch/names
Vyžaduje plán Starter+
Hromadné vyhľadanie viacerých firiem podľa názvu. Vyžaduje plán Starter alebo vyšší.
Telo požiadavky
{
"names": ["Version Two s. r. o.", "Example Company"]
}
/account/usage
Získať štatistiky využitia za aktuálne obdobie.
/account/quota
Získať zostávajúcu kvótu za aktuálne fakturačné obdobie.
/account/history
Získať históriu využitia za zadané obdobie.
Query parametre
| days | integer | Počet dní na zobrazenie (predvolené: 30, max: 365) |
/notifications
Zoznam vašich aktívnych a historických notifikačných subscription záznamov.
/notifications
Vytvoriť alebo aktualizovať odber zmien pre konkrétne IČO. Môžete nastaviť webhook URL, email alebo oboje.
Telo požiadavky
{
"ico": "51636549",
"webhook_url": "https://example.com/firmapi/webhook",
"notification_email": "ops@example.com",
"events": ["updated"]
}
/notifications/{ico}
Odstrániť subscription pre konkrétne IČO.
/notifications/{subscriptionId}/deliveries
Zobraziť posledné doručenia pre konkrétnu subscription vrátane kanála, stavu a počtu pokusov.
/notifications/history/{ico}
Získať históriu zistených zmien pre konkrétne IČO.
/notifications/test
Overiť konfiguráciu cieľa pre webhook alebo email bez vytvárania trvalej subscription.
Formát odpovede a dátový model
Firemné endpointy vracajú JSON objekt s poľami data a meta. Objekt data obsahuje všetky dostupné firemné údaje rozdelené do nasledujúcich kategórií.
Základné informácie
Základné firemné dáta z RPO: ico, name, legal_form, legal_form_code, address (street, city, postal_code, country), status (active, terminated, deleted), established_date, terminated_date, source_register.
Daňové informácie
Sekcia tax obsahuje daňové identifikátory a stav DPH: dic, ic_dph, is_vat_payer, vies_valid, vies_verified_at.
Detaily z ORSR
Podrobné dáta z obchodného registra (len pre firmy zapísané v ORSR): orsr_id, shareholders (name, address, share_amount, share_percentage, is_company, ico), statutory_body (name, role, address, acting_method), business_activities, registered_capital, registration_date.
Kontakty, účty a financie
Voliteľné enrichment sekcie podľa plánu: bank_accounts (IBAN, banka, publikovaný účet), contacts (emaily, telefóny, weby podľa typu), financials (rok, tržby, zisk, aktíva, počet zamestnancov).
Rizikové a compliance dáta
Rozšírené enrichment dáta môžu obsahovať debtor_status, financial_statements (latest, available_years), insolvency, commercial_bulletin, public_contracts_summary a procurement_summary.
Meta polia
Metadáta odpovede: rpo_updated_at, orsr_synced_at, enriched_at, source (database, cache alebo live), cached, stale, retry_at a stale_reason.
Notifikácie: webhooky a email
FirmAPI podporuje notifikácie pri zmenách firemných dát cez webhook URL aj email. Pre jedno IČO môžete nastaviť jednu alebo obe destinácie a spravovať ich cez API aj dashboard.
Nastavenie
Nastavenie notifikácií vykonáte v dashboarde alebo cez endpoint POST /notifications. Pri webhookoch každá subscription dostane unikátny HMAC tajný kľúč na overenie podpisu.
Typy udalostí
-
company.updated— Vyvolaná pri zmene existujúcich firemných dát (napr. zmena adresy, noví spoločníci, zmena stavu) -
Doručenie prebieha cez nakonfigurovaný
webhook_url,notification_emailalebo oboje.
Štruktúra payloadu
Webhook payload obsahuje typ udalosti, časovú značku, zmenené pole s pôvodnou a novou hodnotou a stručné firemné údaje. Email notifikácie používajú rovnaký význam udalosti, ale doručujú sa ako čitateľné upozornenie bez HMAC hlavičiek.
{
"event": "company.updated",
"timestamp": "2026-02-05T12:00:00Z",
"data": {
"ico": "51636549",
"change_type": "updated",
"field": "address",
"old_value": "Hlavná 1, 81101 Bratislava",
"new_value": "Mlynské nivy 5, 82109 Bratislava",
"detected_at": "2026-02-05T06:15:00Z",
"company": {
"name": "Version Two s. r. o.",
"legal_form": "Spoločnosť s ručením obmedzeným",
"city": "Bratislava",
"status": "active"
},
"tax_info": {
"dic": "2120776680",
"ic_dph": "SK2120776680",
"is_vat_payer": true
}
}
}
Hlavičky
-
X-Webhook-Signature— HMAC-SHA256 podpis tela požiadavky pomocou vášho webhook tajného kľúča -
X-Webhook-Event— Typ udalosti (napr.company.updated) -
X-Webhook-Delivery-Id— Unikátny identifikátor doručenia pre idempotentnosť
Overenie podpisu
Každá webhook požiadavka je podpísaná pomocou HMAC-SHA256. Overte podpis, aby ste sa uistili, že požiadavka je autentická a nebola pozmenená.
// PHP verification example
$signature = $request->header('X-Webhook-Signature');
$payload = $request->getContent();
$expected = hash_hmac('sha256', $payload, $webhookSecret);
if (hash_equals($expected, $signature)) {
// Signature is valid
}
Správanie pri opakovaní
Ak webhook endpoint vráti iný ako 2xx stavový kód, FirmAPI zopakuje doručenie s exponenciálnym odstupom. História doručení je dostupná cez <code>GET /notifications/{subscriptionId}/deliveries</code>. Email notifikácie sa evidujú v rovnakom delivery logu s kanálom <code>email</code>.
Limity požiadaviek
Limity požiadaviek závisia od vášho predplatného. Nasledujúce hlavičky sú súčasťou každej odpovede:
-
X-RateLimit-Limit-Minute— Povolené požiadavky za minútu -
X-RateLimit-Remaining-Minute— Zostávajúce požiadavky v tejto minúte -
X-RateLimit-Limit-Daily— Povolené požiadavky za deň -
X-RateLimit-Remaining-Daily— Zostávajúce požiadavky dnes
Chyby
Všetky chyby vracajú JSON objekt s poľami error a message.
| Stavový kód | Chyba | Popis |
|---|---|---|
| 401 | unauthorized | Neplatný alebo chýbajúci API kľúč |
| 403 | forbidden | Funkcia nie je dostupná vo vašom pláne |
| 404 | not_found | Firma nebola nájdená |
| 422 | validation_error | Neplatné parametre požiadavky |
| 429 | rate_limit_exceeded | Príliš veľa požiadaviek |
| 503 | service_unavailable | Služba je dočasne nedostupná |