Quickstart: Get your first company in 30 seconds

Entyrix je REST API nad verejnou databázou 3.27M slovenských a českých firiem. Tento tutorial ti ukáže ako integrovať KYC/KYB compliance check, credit score alebo B2B sales prospecting do tvojej aplikácie — za menej ako 30 sekúnd.

Prerequisites: API key — pošli email na [email protected] s krátkym use-case popisom. Free tier (100 calls/day) je dostupný pre dev/testing.

1Authentifikácia

Všetky authenticated endpoints akceptujú Bearer token v Authorization header-i:

Authorization: Bearer sk_...

Alternatívne cez query parameter ?api_key=sk_... (užitočné pri testovaní v browseri). Rate limit: 600 requestov/min per key.

2Základný lookup podľa IČO

Endpoint: GET /api/v1/companies/lookup?ico=:ico — vráti plný detail firmy vrátane adresy, právnej formy, NACE, štatutárov, finančných výkazov a compliance flags. Exact B-tree index lookup, latencia <5ms.

curl -H "Authorization: Bearer sk_..." \
     "https://entyrix.com/api/v1/companies/lookup?ico=31322832"
import requests
r = requests.get(
    "https://entyrix.com/api/v1/companies/lookup",
    params={"ico": "31322832"},
    headers={"Authorization": "Bearer sk_..."},
    timeout=10,
)
r.raise_for_status()
company = r.json()["data"]
print(company["name"], company["country"])
const r = await fetch(
  "https://entyrix.com/api/v1/companies/lookup?ico=31322832",
  { headers: { Authorization: "Bearer sk_..." } }
);
if (!r.ok) throw new Error(`${r.status}`);
const { data } = await r.json();
console.log(data.name, data.country);
<?php
$ch = curl_init("https://entyrix.com/api/v1/companies/lookup?ico=31322832");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ["Authorization: Bearer sk_..."]);
$res = json_decode(curl_exec($ch), true);
curl_close($ch);
echo $res["data"]["name"] . PHP_EOL;

3Batch lookup (do 100 IČOs)

Pre portfolio monitoring alebo bulk import. POST /api/v1/companies/bulk berie JSON body {"icos": [...]}, vracia array — 1 request namiesto N.

curl -X POST \
     -H "Authorization: Bearer sk_..." \
     -H "Content-Type: application/json" \
     -d '{"icos":["31322832","35763469","00151700"]}' \
     https://entyrix.com/api/v1/companies/bulk
r = requests.post(
    "https://entyrix.com/api/v1/companies/bulk",
    json={"icos": ["31322832", "35763469", "00151700"]},
    headers={
        "Authorization": "Bearer sk_...",
        "Content-Type": "application/json",
    },
)
for c in r.json()["data"]:
    print(c["ico"], c["name"])
const r = await fetch(
  "https://entyrix.com/api/v1/companies/bulk",
  {
    method: "POST",
    headers: {
      Authorization: "Bearer sk_...",
      "Content-Type": "application/json",
    },
    body: JSON.stringify({ icos: ["31322832","35763469","00151700"] }),
  }
);
const { data } = await r.json();
data.forEach(c => console.log(c.ico, c.name));
<?php
$ch = curl_init("https://entyrix.com/api/v1/companies/bulk");
curl_setopt_array($ch, [
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_POST => true,
  CURLOPT_HTTPHEADER => [
    "Authorization: Bearer sk_...",
    "Content-Type: application/json",
  ],
  CURLOPT_POSTFIELDS => json_encode(["icos" => ["31322832","35763469","00151700"]]),
]);
$res = json_decode(curl_exec($ch), true);
foreach ($res["data"] as $c) echo "{$c["ico"]}  {$c["name"]}\n";

4KYB compliance check

Endpoint: GET /api/v1/companies/:ico/compliance — unified kyb summary: tier (PROHIBITED / HIGH_RISK / ENHANCED_DD / STANDARD), flags (bankruptcy, sanctions, PEP, tax debt, shell address, ...), credit grade. Perfect pre onboarding workflows kde potrebuješ 1 call namiesto 14.

curl -H "Authorization: Bearer sk_..." \
     "https://entyrix.com/api/v1/companies/:ico/compliance" \
     | jq '.data.tier, .data.flags'
r = requests.get(
    f"https://entyrix.com/api/v1/companies/{ico}/compliance",
    headers={"Authorization": "Bearer sk_..."},
)
c = r.json()["data"]
if c["tier"] in ("HIGH_RISK", "PROHIBITED"):
    reject_order(ico, reason=c["flags"])
const r = await fetch(
  `https://entyrix.com/api/v1/companies/${ico}/compliance`,
  { headers: { Authorization: "Bearer sk_..." } }
);
const { data } = await r.json();
if (["HIGH_RISK","PROHIBITED"].includes(data.tier)) {
  rejectOrder(ico, data.flags);
}
<?php
$ch = curl_init("https://entyrix.com/api/v1/companies/$ico/compliance");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ["Authorization: Bearer sk_..."]);
$d = json_decode(curl_exec($ch), true)["data"];
if (in_array($d["tier"], ["HIGH_RISK","PROHIBITED"])) reject_order($ico, $d["flags"]);

5Advanced search (screener)

GET /api/v1/companies/advanced-search podporuje 30+ filters: country, NACE, region, size, VAT status, shell-address flag, turnover range, credit grade, NIS2 scope. Ideal pre B2B sales prospecting alebo compliance portfolio segmentation. Príklad: všetky SK IT firmy (NACE 6201) s VAT registráciou, zoradené podľa tržieb:

curl -G \
     -H "Authorization: Bearer sk_..." \
     --data-urlencode "country=sk" \
     --data-urlencode "nace_prefix=6201" \
     --data-urlencode "is_vat_payer=true" \
     --data-urlencode "order_by=turnover_desc" \
     --data-urlencode "limit=50" \
     https://entyrix.com/api/v1/companies/advanced-search

CSV export: to isté URL s príponou .csv (40 stĺpcov vrátane compliance flags).

Odpoveď + error handling

Všetky endpointy vracajú jednotnú obálku { data, meta: { request_id, duration_ms, cached } }. Chyby: { error: { code, message } }.

Status codes: 200 (success), 400 (invalid input), 401 (bad API key), 404 (not found), 429 (rate limited — 600/min), 500 (internal error). Použi request_id pre support requesty.

Ďalšie zdroje

Pricing pre launch: Entyrix pracuje na tiered API pricingu (Free / Starter / Pro / Business / Enterprise). Prihlás sa na waiting list pre early-adopter notifikáciu.