Denumire, adresă pe câmpuri, număr de registru, TVA, stare fiscală — pentru oricare din cele 3.927.268 de firme, în câteva milisecunde. Fără „revino mai târziu", fără să depinzi de serverul ANAF.
Nu un text de adresă pe care să-l tai tu în bucăți. Fiecare câmp vine la locul lui, cu diacriticele corecte, așa cum îl vrei într-un formular sau într-un ERP.
RO-prefix când e plătitor de TVAverificat_la — știi mereu cât de proaspete sunt dateleO cerere HTTP, un răspuns JSON. Cheia se trimite în antet. Nicio bibliotecă de instalat, niciun SDK de ținut la zi.
# pe server, cu cheia secretă curl https://api-cui.ro/v1/firma/14399840 \ -H "X-Api-Key: ck_..."
// în browser, cu o cheie PUBLICĂ legată de domeniul tău const r = await fetch('https://api-cui.ro/v1/firma/' + cui, { headers: { 'X-Api-Key': 'pk_...' } }); const f = await r.json(); form.denumire.value = f.denumire; form.strada.value = f.adresa_sediu.strada; form.oras.value = f.adresa_sediu.localitate; form.judet.value = f.adresa_sediu.judet; form.tva.checked = f.tva.platitor;
$ctx = stream_context_create(['http' => [ 'header' => "X-Api-Key: ck_...\r\n"]]); $f = json_decode(file_get_contents( "https://api-cui.ro/v1/firma/$cui", false, $ctx), true); echo $f['denumire'], ' — ', $f['adresa_sediu']['text'];
import requests f = requests.get(f"https://api-cui.ro/v1/firma/{cui}", headers={"X-Api-Key": "ck_..."}).json() print(f["denumire"], f["tva"]["platitor"])
// răspunsul (scurtat) { "cui": 14399840, "cui_ro": "RO14399840", "denumire": "DANTE INTERNATIONAL SA", "nr_reg_com": "J2002000372404", "cod_caen": "4754", "stare": { "activa": true, "inactiv_fiscal": false, … }, "tva": { "platitor": true, "de_la": "2002-02-01", "la_incasare": false, "split": false }, "adresa_sediu": { "judet": "MUNICIPIUL BUCUREȘTI", "judet_auto": "B", "localitate": "Sector 6 Mun. București", "strada": "Șos. Virtuții", "numar": "148", "detalii": "spatiul E47", "cod_postal": "60787", "text": "Șos. Virtuții nr. 148, spatiul E47, …" }, "adresa_fiscala": { … }, "verificat_la": "2026-09-19T03:12:40Z", "meta": { "ms": 1.4 } }
Vrei precompletare în checkout sau în formularul de ofertă, fără să treci prin serverul tău? O cheie secretă pusă în JavaScript ar fi a oricui deschide „View source”.
De aceea avem chei publice (pk_…): funcționează doar din domeniile pe care le-ai aprobat în panou, cu limita lor de ritm. Dacă cineva ți-o copiază, nu-i folosește la nimic.
Cheile secrete (ck_…) rămân pentru server: ERP, facturare, CRM, importuri.
/v1/firma/{cui} cu cheia publică.Îl folosim și noi, ca sursă. Diferența e ce punem între el și aplicația ta.
| ANAF direct | alte API-uri comerciale | api-cui.ro | |
|---|---|---|---|
| Timp de răspuns | 100–1.000 ms, variabil | 200–350 ms | 1–5 ms pe server |
| Firme necunoscute | — | „202 — revino mai târziu” | toate cele 3,9 M sunt deja la noi |
| Adresa | text + câmpuri, cu sedile (ş, ţ) | un singur text | pe câmpuri, diacritice corecte, sediu + fiscal |
| Din browser | nu (fără CORS) | doar cu cheia expusă | da, chei publice pe domeniu |
| Limită | 1 cerere / secundă, cade des | după plan | după plan, fără căderi ANAF |
| Bilanțuri, administratori, contacte | nu | bilanțuri | da, în planul extins |
| Căutare după nume | nu | da, lentă | da, autocomplete sub 2 ms |
Prețurile sunt pe lună, cu TVA inclus. Factura o primești automat, prin e-Factura. Poți schimba sau opri planul oricând.
Ai nevoie de mai mult de 100.000 de cereri pe lună, de un SLA scris sau de export în masă? Scrie-ne — facem un plan pe măsură.
100 de cereri pe lună, toate câmpurile, fără card. Când crești, treci la un plan mai mare din panou.
Creează contul →