REST API + SDK — bezpłatny sandbox

API KRS — REST API do weryfikacji polskich firm

Jeden zunifikowany endpoint dla wszystkich polskich rejestrów państwowych: KRS, NIP (biała lista MF), REGON (GUS), CRBR, GPW, TED Europa. Pełna dokumentacja OpenAPI 3.1, SDK dla Node.js / Python / PHP, sandbox bezpłatnie. Idealny dla zespołów budujących systemy KYB, fintech, e-commerce, ERP, księgowość, compliance.

Co weryfikujemy

Dane prosto z państwowych rejestrów. Bez scrapingu, bez pośredników, z pełną ścieżką pochodzenia (provenance).

GET /v1/verify

Weryfikacja po nazwie, NIP, KRS lub REGON. Auto-disambiguacja, confidence score, cross-walidacja.

GET /v1/verify/nip

Walidacja NIP w białej liście MF. Status VAT, rachunki bankowe, audit_id dla STIR.

GET /v1/ubo

Pobranie rzeczywistych beneficjentów z CRBR. Rekursywne rozwiązanie hierarchii własności.

POST /v1/batch

Batch weryfikacja do 100 firm w jednym requeście. Async dla wolumenów >1000 (webhook na ready).

GET /v1/entity/{id}

Pełen profil firmy ze wszystkimi rejestrami. Cache 24h, force_refresh możliwy.

GET /v1/changes

Polling lub webhook na zmiany w obserwowanych firmach (zmiana zarządu, statusu, beneficjenta).

POST /v1/import/csv

Upload CSV z firmami, asynchroniczna walidacja, download wzbogaconego CSV-a.

GET /v1/companies/search

Wyszukiwanie pełnotekstowe po nazwie, branży, lokalizacji. Paginacja, filtry, sortowanie.

Dlaczego warto

Praktyczne zastosowania dla zespołów compliance, sprzedaży B2B, due diligence i procurement.

Jeden API zamiast pięciu

KRS, MF, GUS, CRBR, GPW — wszystkie w jednym REST endpoint zamiast pięciu różnych integracji z różnymi formatami i wymogami autoryzacji.

OpenAPI 3.1 + typed SDK

Pełna specyfikacja OpenAPI. Wygeneruj typescript / Python / PHP / Go / Ruby z jednej komendy. Type safety, IntelliSense, dokumentacja w IDE.

Sandbox bezpłatnie

50 wywołań/miesiąc na bezpłatnym tier. Realne dane (135 000+ firm), bez fake-mocków. Pełna funkcjonalność do prototypowania.

Webhook + polling

Real-time alerty na zmiany. Slack, email, custom HTTPS endpoint. Lub klasyczny polling dla prostszych integracji.

Rate limiting fair-use

1 000 / 10 000 / 100 000 req/min w zależności od planu. Burst possible. Brak ukrytych limitów na większości endpointów.

GDPR / SOC 2

Pełna zgodność z RODO. Infrastruktura na Supabase (SOC 2 Type II). DPA, polityka prywatności, retencja danych jasno udokumentowana.

Jak to działa

Trzy kroki od zapytania do zweryfikowanego rekordu firmy.

1

Zarejestruj się

Konto w 30 sekund, klucz API od razu w panelu. 50 bezpłatnych zapytań/miesiąc, bez karty kredytowej.

2

Zainstaluj SDK

npm install @salesdots/sdk lub pip install salesdots. Lub bezpośrednio REST przez curl/Postman.

3

Wywołaj endpoint

Jedno wywołanie i masz pełen profil firmy. Pełna dokumentacja, code samples, Postman collection w panelu.

Dla deweloperów — REST API

Wywołaj jednym requestem

// Node.js / TypeScript
import { SalesDots } from "@salesdots/sdk";

const client = new SalesDots({ apiKey: process.env.SALESDOTS_API_KEY });

// Weryfikacja po nazwie
const result = await client.verify({
  name: "PKN Orlen",
  country: "PL",
});

console.log(result.entity.krs);    // "0000028860"
console.log(result.entity.nip);    // "7740001454"
console.log(result.confidence);    // 99

// Pobranie UBO
const ubo = await client.ubo.get({ krs: "0000028860" });

// Webhook na zmiany
await client.subscriptions.create({
  entityIds: ["pkn-orlen", "kgh-polska-miedz"],
  events: ["status_change", "ubo_change", "leadership_change"],
  webhookUrl: "https://app.example.com/salesdots/hook",
});

Najczęściej zadawane pytania

W jakim języku zwraca API?

+

Domyślnie JSON. Wszystkie pola w angielskiej notacji (camelCase). Wartości tekstowe (np. nazwa firmy, adres) w oryginalnym języku — polskim dla polskich firm. Możesz wymusić odpowiedź XML parametrem format=xml.

Jakie są limity rate-limit?

+

Free: 50 req/mc, 5 req/min. Starter: 5 000 req/mc, 100 req/min. Professional: 10 000 req/mc, 500 req/min. Team: 15 000 req/mc, 1 000 req/min. Enterprise: nieograniczone, dedykowany SLA.

Co jeśli MF / KRS / GUS są niedostępne?

+

SalesDots EAM Gateway ma cache + circuit breaker. Jeśli źródło padło — zwracamy ostatnie znane dane z timestamp (i flagą `stale: true`). Dla pól krytycznych (status VAT) używamy fallback przez VIES jeśli MF jest down.

Jak długo dane są przechowywane w cache?

+

Konfigurowalne per pole. Domyślnie: dane KRS — 24h, status VAT — 1h, CRBR — 12h, GPW — 4h. Force-refresh przez parametr fresh=true (kosztuje 2x tokens).

Czy macie SDK dla PHP / Laravel?

+

Tak. SDK dostępne dla: Node.js / TypeScript, Python, PHP (composer), Go, Ruby. Dla innych języków — pełna spec OpenAPI 3.1, możesz wygenerować klienta automatycznie.

Jak płacę za API?

+

Subscription monthly lub yearly (20% zniżki). Dodatkowe paczki tokenów do dokupienia w panelu. Wszystkie płatności przez Stripe. Faktura VAT na życzenie (Enterprise — domyślnie).

Czy mogę przetestować przed zakupem?

+

Tak. Bezpłatny tier zawiera 50 zapytań/miesiąc na realnych danych, bez ograniczeń funkcjonalnych. Możesz w nim zbudować pełne PoC. Sandbox z dodatkowymi 1 000 zapytań — kontakt /contact.

Powiązane produkty i strony

Gotowy zweryfikować pierwszą firmę?

Wypróbuj SalesDots EntityLock™ na realnym przypadku użycia. Bezpłatne demo, bez karty kredytowej.