SK + CZ Company Lookup API 600 req/min free
REST API nad slovenským RPO + českým ARES. 3,268,818 firiem (2,100,314 SK + 1,168,462 CZ), IČO lookup 8 ms, autocomplete 12 ms, advanced-search 180 ms. Stable v1 JSON + OpenAPI 3.1 spec, CSV exporty, Bearer auth. Free tier bez kreditky.
Vyskúšaj teraz — zadaj IČO
No auth required pre /public/check/:ico.json. Response za ~20 ms.
Coverage + čerstvosť
Code samples
# IČO lookup — no auth required (public endpoint) curl https://entyrix.com/api/v1/public/check/35757442.json # Full company detail (auth required — sign up for free key) curl -H "Authorization: Bearer $API_KEY" \ https://entyrix.com/api/v1/companies/35757442 # Autocomplete — Meilisearch typo-tolerant, 12ms curl -H "Authorization: Bearer $API_KEY" \ "https://entyrix.com/api/v1/companies/autocomplete?q=eset&limit=5" # Bulk lookup — 100 IČO per request curl -X POST -H "Authorization: Bearer $API_KEY" \ -H "Content-Type: application/json" \ -d '{"icos": ["35757442", "31322832", "00000019"]}' \ https://entyrix.com/api/v1/companies/bulk # Advanced search — CSV export (38 stĺpcov) curl -H "Authorization: Bearer $API_KEY" \ "https://entyrix.com/api/v1/companies/advanced-search.csv?country=SK&min_credit_score=80&limit=1000" \ -o top_sk_suppliers.csv
import httpx API = "https://entyrix.com/api/v1" KEY = "your-api-key" H = { "Authorization": f"Bearer {KEY}" } # 1. IČO lookup (no auth) r = httpx.get(f"{API}/public/check/35757442.json") company = r.json()["data"] print(company["name"], company["compliance"]["tier"]) # 2. Full detail with financials + enrichment r = httpx.get(f"{API}/companies/35757442", headers=H) c = r.json()["data"] print(c["name"], c["latest_turnover_cents"] / 100) # 3. Bulk lookup 100 IČO naraz r = httpx.post(f"{API}/companies/bulk", headers=H, json={ "icos": ["35757442", "31322832", "00000019"] }) for c in r.json()["data"]: print(c["ico"], c["name"], c.get("credit_grade")) # 4. Advanced search — pre-qualified suppliers r = httpx.get(f"{API}/companies/advanced-search", headers=H, params={ "country": "SK", "min_credit_score": "80", "nace_prefix": "62", # IT services "limit": "50", }) for c in r.json()["data"]["items"]: print(c["name"], c["credit_grade"])
const API = "https://entyrix.com/api/v1"; const KEY = process.env.OPENDATA_API_KEY!; const H = { "Authorization": `Bearer ${KEY}` }; // 1. IČO lookup — no auth const r1 = await fetch(`${API}/public/check/35757442.json`); const { data: company } = await r1.json(); console.log(company.name, company.compliance.tier); // 2. Autocomplete (Meilisearch, typo-tolerant) const r2 = await fetch( `${API}/companies/autocomplete?q=eset&limit=5`, { headers: H } ); const { data: suggestions } = await r2.json(); // 3. Bulk lookup (100 per req, ~10ms each) const r3 = await fetch(`${API}/companies/bulk`, { method: "POST", headers: { ...H, "Content-Type": "application/json" }, body: JSON.stringify({ icos: ["35757442", "31322832"] }), }); const { data } = await r3.json(); // 4. Monitoring subscription — webhook on any change await fetch(`${API}/monitoring/subscriptions`, { method: "POST", headers: { ...H, "Content-Type": "application/json" }, body: JSON.stringify({ ico: "35757442", webhook_url: "https://yourapp.com/opendata-webhook", }), });
<?php // Guzzle HTTP client (composer require guzzlehttp/guzzle) $api = 'https://entyrix.com/api/v1'; $key = getenv('OPENDATA_API_KEY'); $client = new \GuzzleHttp\Client([ 'base_uri' => $api, 'headers' => ['Authorization' => "Bearer $key"], ]); // 1. Public lookup $r = $client->get("public/check/35757442.json"); $c = json_decode($r->getBody(), true)['data']; echo $c['name']; // 2. Invoice validation — bank account + VAT + sanctions $iban = 'SK3112000000198742637541'; $r = $client->get("bank-accounts/lookup", ['query' => ['iban' => $iban]]); $match = json_decode($r->getBody(), true)['data']; if (!$match) die("IBAN nie je registrovaný platiteľ DPH — možný fraud"); // 3. Advanced-search CSV export (top SK suppliers v retail) $r = $client->get("companies/advanced-search.csv", [ 'query' => [ 'country' => 'SK', 'nace_prefix' => '47', // retail 'min_turnover_cents' => '100000000', 'limit' => '500', ], ]); file_put_contents('retail.csv', $r->getBody());
Hlavné endpointy
GET /companies/autocomplete?q=
Meilisearch typo-tolerant — "sloventka" → "Slovnaft". Debounce z frontend input-u. 12 ms
GET /companies/lookup?ico=
Exact IČO B-tree lookup, vracia základný profile + compliance flags + credit grade. 8 ms
GET /companies/:ico
Plný detail — profile + financials (posledné 5 rokov) + enrichment (website, tech, DNS). 45 ms
GET /companies/:ico/full
Aggregate endpoint — 14 sekcií naraz (contracts, UBO, sanctions, credit, NIS2, ...) namiesto 14 requestov. 120 ms
GET /companies/search?q=
pg_trgm fuzzy search fallback. Pre produkčný search použi autocomplete. 30 ms
GET /companies/advanced-search
30+ filters (NACE, country, NUTS, credit, turnover, NIS2, has_website, has_sanctions, ...) + pagination. 180 ms
GET /companies/advanced-search.csv
CSV export, 38 stĺpcov (financials + compliance + enrichment). Až 10k riadkov / request. stream
POST /companies/bulk
Batch lookup — 100 IČO / request (JSON array), vracia parallel response. 10 ms / each
GET /companies/by-lei?lei=
GLEIF Legal Entity Identifier lookup — 20-char LEI kód → IČO + detail. 9 ms
GET /bank-accounts/lookup?iban=
FS IBAN register (312k účtov, 212k firiem) — invoice-fraud prevention. 15 ms
POST /monitoring/subscriptions
Watch firmu — webhook on jakomkoľvek change (addresa, štatutár, konkurz, finančný výkaz). daily diff
GET /vat/validate?country=&vatin=
EU VIES VAT validator (27 štátov) s 24h cache. ~500 ms
Porovnanie s RPO / ARES / Finstat
| Entyrix (my) | RPO DataHub | ARES API | Finstat | |
|---|---|---|---|---|
| IČO lookup speed | 8 ms | ~14 s | 300-900 ms | 400 ms |
| Rate-limit (free) | 600 req/min | 60 req/min | 60 req/min | žiaden free tier |
| SK + CZ v jednej API | ✓ | iba SK | iba CZ | SK primárne |
| Financial statements | RUZ + bigint cents | — | — | platené |
| Sankcie screening | OFAC+EU+UN+UK | — | — | limited |
| UBO (RPVS) | 52k partners, 136k UBO | — | — | čiastočne |
| Verejné zmluvy (CRZ) | 5.5M kontraktov | — | — | — |
| EU fondy (ITMS + CORDIS) | 21k + 3k projektov | — | — | — |
| OpenAPI 3.1 spec | ✓ + Swagger | — | XML schema | docs-only |
| CSV export | 38 stĺpcov, 10k/req | — | — | cez UI |
| Monitoring webhooks | daily diff | — | — | email only |
| Pricing | free → paid TBA | free | free | €40-200/mes |
Typické use cases
💳 Invoice validation
Pred výplatou: IBAN → firma (FS bank-accounts) + VAT validator (VIES) + sankcie (OpenSanctions) + bankrupt (OV). 3 API calls, 50 ms total. Blokuj payment ak sanction hit.
📋 CRM enrichment
IČO z form submit → GET /companies/:ico/full → auto-fill address, NACE, turnover range, employee range do CRM recordu. Re-enrichment týždenne cez bulk.
🔎 Auto-complete firiem
Frontend search input → /companies/autocomplete (12 ms, typo-tolerant). UX lepší ako ARES (žiadne typo tolerance, 300 ms).
📊 Marketing lists
advanced-search.csv — cieľaj SK firmy >€1M tržby v retail, majúce website + email. TAM calculator pre B2B sales.
🧾 AR credit check
Pre-invoice: grade + tax_debt + in_bankruptcy. D-F klienti iba cash-on-delivery. Zníži DSO + bad debt.
🔔 Change monitoring
Monitoring webhook — subscribe critical vendors → dostaneš webhook keď sa zmení konkurz flag, štatutár, bank account. Proactive risk alert.
FAQ
Ako dostanem API kľúč a koľko to stojí?
/api/v1/public/* endpointy (stats, rankings, data-feeds, check/:ico, transparency feeds). Paid tier pre authenticated endpointy (lookup/:ico, search, advanced-search, bulk, detail+subresources, CSV export, monitoring webhooks) — pricing finalizujeme, launch Q2 2026, early-adopter contact: [email protected]. Dotaz s use-case → dostanete dev API kľúč s 600 req/min na testovanie. Pre enterprise SLA (10k req/min + dedicated support + SLA 99.9%) po dohode.Prečo nejsť priamo na RPO / ARES / Finstat?
/companies/:ico/full.Ako často sa dáta aktualizujú?
Aké formáty JSON vraciate? Sú stabilné?
{ data, meta: { request_id, duration_ms, cached } } wrapper. Šéma per endpoint v OpenAPI 3.1 spec + Swagger UI. Field names v camelCase (consistent). Money fields vždy bigint cents (never float — int4 preliezal pri firmách >€21M). Dátumy ISO 8601 (YYYY-MM-DD). Verzia v1 stable — breaking changes pôjdu cez /v2 prefix, v1 bude deprecated min. 12 mesiacov dopredu.Rate-limit + error handling?
429 Too Many Requests s Retry-After header po prekročení 600 req/min (per API kľúč alebo IP pre public endpointy). X-RateLimit-Limit / X-RateLimit-Remaining / X-RateLimit-Reset headers na každom response. 503 Service Unavailable počas Monday 5-7 AM batch (plánujeme znížiť na 0 cez L2 snapshot pattern, WIP). 404 pre missing ICO (nie prázdne data). Exponential backoff recommended.Môžem bulk-lookupovať 10k+ firiem?
POST /api/v1/companies/bulk — 100 IČO / request (array body), ~10 ms/each (1 s na batch 100). Pre 10k kontact list: 100 paralelných requestov s Promise.all dobehne za ~15 s. Pre ešte väčšie exports (100k+) použi GET /api/v1/companies/advanced-search.csv so 38 stĺpcami (až 10k riadkov / request, paginácia cez ?cursor=). Ak bulk je >1M firiem, máme custom export (CSV snapshot, 5 GB, kontakt).SLA? Uptime?
Ďalšie kroky
- Swagger UI + OpenAPI 3.1 spec — try-it-out všetkých endpointov
- Quickstart — copy-paste integrácia za 5 min
- KYC/KYB API — compliance use-case
- Company credit score — A-F rating use-case
- Data feeds — hromadné CSV/JSON exporty (9 transparency feedov)
- Kontakt: [email protected] (free dev API kľúč do 24 h)