Sari la conținut

API REST · JSON

API firme România: date după CUI din ONRC, ANAF și bilanț

Scrii un CUI în formularul tău și primești instant denumirea, nr. de registru, adresa, CAEN-ul, statutul TVA și e-Factura de la ANAF și bilanțurile pe 10 ani. Date oficiale, pentru aplicații de facturare, CRM-uri, magazine B2B și verificări de parteneri.

  • 100 de cereri gratuite la prima cheie
  • cererile nu expiră
  • factură automată
GET/api/v1/firma/160796
{
  "cui": 160796,
  "denumire": "AUTOMOBILE-DACIA SA",
  "regCom": "J1991000081036",
  "euid": "ROONRC.J1991000081036",
  "forma": "SA",
  "stare": "funcțiune",
  "dataInmatriculare": "1991-02-13",
  "adresa": {
    "judet": "Argeș",
    "localitate": "Mioveni",
    "adresa": "Str. UZINEI, Loc. Mioveni, Oraș Mioveni, Argeș",
    "codPostal": null
  },
  "caenPrincipal": { "cod": "2910", "denumire": "Fabricarea autovehiculelor de transport rutier" },
  "caenAutorizate": [
    { "cod": "2910", "versiune": "3", "denumire": "Fabricarea autovehiculelor de transport rutier" },
    …
  ],
  "anaf": {
    "platitorTva": true,
    "dataTva": "1993-07-01",
    "tvaIncasare": false,
    "dataTvaIncasare": null,
    "splitTva": false,
    "inactiv": false,
    "dataInactivare": null,
    "dataReactivare": null,
    "dataRadiere": null,
    "eFactura": false,
    "stareInregistrare": "INREGISTRAT din data 30.11.1992",
    "organFiscal": "Direcţia Generală de Administrare a Marilor Contribuabili"
  },
  "anafActualizatLa": "2026-09-25T22:54:12.333Z"
}

Registrul comerțului

Denumire, CUI, nr. de registru, EUID, formă juridică, stare, data înmatriculării, adresa sediului, CAEN.

Statut fiscal ANAF

Plătitor de TVA (și de când), TVA la încasare, split TVA, inactiv, e-Factura, organ fiscal.

Bilanțuri 2016–2025

Cifră de afaceri, profit / pierdere, angajați, active, datorii, capitaluri, pe fiecare an.

Fără date personale de contact

API-ul întoarce doar date oficiale. Telefoanele și emailurile nu sunt expuse.

Comparație

API vs. verificarea manuală pe ANAF și ONRC

Datele sunt aceleași surse oficiale (registrul comerțului, ANAF, Ministerul Finanțelor). Diferența e că nu le mai cauți firmă cu firmă, pe portaluri diferite, ci le primești împreună, în aplicația ta.

Ce îți trebuieManual, pe portalurile oficialeAPI BazaDate.ro
Date din registrul comerțului (nr. ONRC, EUID, CAEN autorizate)căutare pe portal, firmă cu firmăda
Statut fiscal ANAF (TVA, TVA la încasare, split TVA, inactiv, e-Factura)pe site-ul ANAF, câte un CUIda
Bilanțuri pe toți anii 2016–2025câte un an pe paginăda
Căutare după nume, nu doar după CUIparțialda
Firmele noi din ultimele 1–30 de zile, pe județ și CAENnuda
Un singur răspuns JSON, direct în aplicația tanu (copiere manuală)da

Pornire în 2 minute

Autentificare și prima cerere

  1. Pas 01

    Creezi o cheie

    Din contul tău → API. Primești 100 de cereri gratuite la prima cheie.

  2. Pas 02

    O trimiți în antet

    Fie Authorization: Bearer <cheie>, fie x-api-key: <cheie>.

  3. Pas 03

    Citești JSON-ul

    Adresa de bază e https://bazadate.ro/api/v1. Soldul rămas vine în antetul X-Cereri-Ramase.

curl https://bazadate.ro/api/v1/firma/160796 \
  -H "Authorization: Bearer $BAZADATE_API_KEY"

Apelează API-ul de pe server. Nu pune cheia în codul din browser: oricine ar putea-o copia și folosi din soldul tău.

Referință

Endpoint-uri: firmă după CUI, bilanț, căutare, firme noi

Firma după CUI

1 cerere

GET/api/v1/firma/{cui}

Datele de identificare din registrul comerțului și statutul fiscal ANAF: TVA, TVA la încasare, split TVA, inactiv, e-Factura, organul fiscal. CUI-ul poate avea prefixul RO.

cui
CUI-ul firmei, cu sau fără RO. Validat cu cifra de control: un CUI greșit primește 400 și nu se taxează.
curl https://bazadate.ro/api/v1/firma/160796 \
  -H "Authorization: Bearer $BAZADATE_API_KEY"

Documentația completă: API CUI

Răspuns 200

{
  "cui": 160796,
  "denumire": "AUTOMOBILE-DACIA SA",
  "regCom": "J1991000081036",
  "euid": "ROONRC.J1991000081036",
  "forma": "SA",
  "stare": "funcțiune",
  "dataInmatriculare": "1991-02-13",
  "adresa": {
    "judet": "Argeș",
    "localitate": "Mioveni",
    "adresa": "Str. UZINEI, Loc. Mioveni, Oraș Mioveni, Argeș",
    "codPostal": null
  },
  "caenPrincipal": { "cod": "2910", "denumire": "Fabricarea autovehiculelor de transport rutier" },
  "caenAutorizate": [
    { "cod": "2910", "versiune": "3", "denumire": "Fabricarea autovehiculelor de transport rutier" },
    …
  ],
  "anaf": {
    "platitorTva": true,
    "dataTva": "1993-07-01",
    "tvaIncasare": false,
    "dataTvaIncasare": null,
    "splitTva": false,
    "inactiv": false,
    "dataInactivare": null,
    "dataReactivare": null,
    "dataRadiere": null,
    "eFactura": false,
    "stareInregistrare": "INREGISTRAT din data 30.11.1992",
    "organFiscal": "Direcţia Generală de Administrare a Marilor Contribuabili"
  },
  "anafActualizatLa": "2026-09-25T22:54:12.333Z"
}

Bilanțuri 2016–2025

1 cerere

GET/api/v1/firma/{cui}/bilant

Situațiile financiare anuale depuse la Ministerul Finanțelor, cel mai vechi an primul: cifra de afaceri, venituri, cheltuieli, profit / pierdere, angajați, active, datorii, capitaluri. Sume în lei.

cui
CUI-ul firmei.
curl https://bazadate.ro/api/v1/firma/160796/bilant \
  -H "Authorization: Bearer $BAZADATE_API_KEY"

Documentația completă: API bilanț

Răspuns 200

{
  "cui": 160796,
  "denumire": "AUTOMOBILE-DACIA SA",
  "moneda": "RON",
  "sursa": "Ministerul Finanțelor (situații financiare anuale)",
  "bilanturi": [
    {
      "an": 2025, "caen": "2910", "format": "bl",
      "cifra_afaceri": 29919900100, "venituri_totale": …, "cheltuieli_totale": …,
      "profit_brut": …, "pierdere_bruta": 0, "profit_net": 629178928, "pierdere_neta": 0,
      "angajati": 10556,
      "active_imobilizate": …, "active_circulante": …, "stocuri": …, "creante": …,
      "casa_banci": …, "cheltuieli_avans": …, "datorii": …, "venituri_avans": …,
      "provizioane": …, "capitaluri_proprii": …, "capital_subscris": …, "patrimoniu_regie": null
    },
    …
  ]
}

Căutare după nume sau CUI

1 cerere

GET/api/v1/cauta?q=&judet=&limit=

Pentru câmpuri de tip „caută firma”: după începutul denumirii (fără diacritice sau majuscule) sau după CUI. Firmele mari apar primele.

q
Începutul denumirii (minim 3 litere) sau un CUI.
judet
Opțional: județul, ca slug (arges, bucuresti, cluj, satu-mare …).
limit
Opțional: câte rezultate, 1–20 (implicit 10).
curl https://bazadate.ro/api/v1/cauta?q=dedeman&judet=bacau \
  -H "Authorization: Bearer $BAZADATE_API_KEY"

Documentația completă: API căutare firme după nume sau CUI

Răspuns 200

{
  "rezultate": [
    { "cui": 2816464, "denumire": "DEDEMAN SRL", "judet": "Bacău", "localitate": "Bacău", "stare": "funcțiune" }
  ]
}

Firme înmatriculate recent

1 cerere / pagină

GET/api/v1/firme-noi?zile=&judet=&caen=&pagina=

Firmele noi din ultimele zile, cele mai noi primele, câte 50 pe pagină. Registrul se completează zilnic din ANAF.

zile
1–30 (implicit 7).
judet
Opțional: județul (slug).
caen
Opțional: cod CAEN din 4 cifre (rev. 3; se caută și echivalentele rev. 2).
pagina
Opțional: pagina, de la 1.
curl https://bazadate.ro/api/v1/firme-noi?zile=3&judet=cluj \
  -H "Authorization: Bearer $BAZADATE_API_KEY"

Documentația completă: API firme noi

Răspuns 200

{
  "zile": 3, "pagina": 1, "perPagina": 50, "total": 38, "pagini": 1,
  "firme": [
    {
      "cui": 55633352, "denumire": "CL PUBLISHER MARKET S.R.L.", "regCom": "J2026055773001",
      "euid": "ROONRC.J2026055773001", "forma": "SRL", "stare": "funcțiune", "dataInmatriculare": "2026-09-25",
      "adresa": { "judet": "Cluj", "localitate": "Cluj-Napoca", "adresa": "Str. Onisifor Ghibu, nr. 1, …", "codPostal": null },
      "caenPrincipal": { "cod": "5829", "denumire": "Activități de editare a altor produse software" }
    },
    …
  ]
}

Soldul contului

gratuit

GET/api/v1/cont

Cererile rămase și consumul. Nu se taxează. Soldul vine și în antetul X-Cereri-Ramase al fiecărui răspuns.

curl https://bazadate.ro/api/v1/cont \
  -H "Authorization: Bearer $BAZADATE_API_KEY"

Răspuns 200

{ "cereriRamase": 4870, "folosite": { "azi": 42, "ultimele30Zile": 130 }, "cheiActive": 2 }

Caz de utilizare

Completare automată după CUI, în formularul tău

Clientul scrie CUI-ul, tu completezi restul. Un mic endpoint pe serverul tău ține cheia secretă și întoarce în pagină doar câmpurile de care ai nevoie.

// app/api/cui/[cui]/route.js (Next.js) — proxy pe serverul tău, cheia rămâne secretă
export async function GET(_req, { params }) {
  const { cui } = await params;
  const r = await fetch(`https://bazadate.ro/api/v1/firma/${encodeURIComponent(cui)}`, {
    headers: { Authorization: `Bearer ${process.env.BAZADATE_API_KEY}` },
  });
  const f = await r.json();
  if (!r.ok) return Response.json({ eroare: f.eroare }, { status: r.status });
  return Response.json({
    denumire: f.denumire,
    regCom: f.regCom,
    adresa: [f.adresa.adresa, f.adresa.localitate, f.adresa.judet].filter(Boolean).join(', '),
    platitorTva: f.anaf?.platitorTva ?? null,
  });
}

// în formular: la ieșirea din câmpul CUI
cuiInput.addEventListener('blur', async () => {
  const r = await fetch('/api/cui/' + cuiInput.value.trim());
  if (r.ok) Object.assign(formular, await r.json());
});

Erori

Coduri de răspuns

Toate erorile au același format: { "eroare": "mesaj", "cod": "cod_eroare" }. Doar răspunsurile 200 cu date se taxează.

HTTPcodCândSe taxează
400parametru_invalid / cui_invalidParametru greșit sau CUI cu cifra de control greșită.nu
401cheie_invalidaCheia lipsește, e greșită sau a fost revocată.nu
402fara_soldNu mai ai cereri. Cumperi un pachet din cont.nu
404negasitFirma nu există în registru, nu are bilanțuri sau căutarea nu are rezultate.nu
429prea_multe_cereriPeste 10 cereri pe secundă pe aceeași cheie. Reîncearcă după Retry-After.nu
500eroare_serverEroare la noi. Reîncearcă.nu

Prețuri

Plătești cererile o dată. Nu expiră.

Fără abonament lunar: nu pierzi cererile nefolosite la final de lună. Prețuri finale (furnizorul nu este plătitor de TVA), factură automată.

Test

0 lei

100 cereri, o singură dată

La prima cheie creată. Fără card.

Ia cheia gratuit

Start

99 lei

5.000 cereri

19,80 lei / 1.000 cereri

Cumpără

Business

cel mai ales

199 lei

25.000 cereri

7,96 lei / 1.000 cereri

Cumpără

Pro

499 lei

100.000 cereri

4,99 lei / 1.000 cereri

Cumpără

Volum

1.990 lei

500.000 cereri

3,98 lei / 1.000 cereri

Cumpără

O cerere = o firmă, un bilanț, o căutare sau o pagină de 50 de firme noi. Cererile fără rezultat nu se taxează.

Întrebări

Întrebări frecvente

Ce date primesc prin API?

Doar date oficiale: identificarea firmei din registrul comerțului (ONRC), codurile CAEN, statutul fiscal de la ANAF (TVA, TVA la încasare, split TVA, inactiv, e-Factura) și bilanțurile depuse la Ministerul Finanțelor. Datele de contact (telefon, email, site) nu sunt în API; le găsești separat, pe site, în listele de firme.

Cererile expiră?

Nu. Plătești o dată un pachet și cererile rămân în cont până le folosești, fie într-o lună, fie în trei ani. Fără abonament lunar și fără reînnoire automată. La prima cheie primești 100 de cereri gratuite, ca să testezi.

Ce se taxează?

O cerere reușită = o cerere din sold (la firme noi: o cerere pe pagină). Nu se taxează: CUI invalid, firmă negăsită (404), căutare fără rezultate, erori de server, depășirea ritmului și /cont.

Cât de actuale sunt datele ANAF?

Statutul fiscal se actualizează direct de la ANAF când datele din baza noastră sunt mai vechi de 7 zile. Câmpul anafActualizatLa îți spune exact când au fost verificate. Registrul se completează zilnic cu firmele noi.

Pot apela API-ul direct din browser?

Nu e recomandat: cheia ar fi vizibilă oricui. Apelează API-ul de pe serverul tău (PHP, Node, Python etc.) și trimite în pagină doar ce-ți trebuie. API-ul nu permite apeluri cross-origin din browser (CORS).

Cum folosesc API-ul pentru completarea automată după CUI?

În formularul tău (de facturare, de înscriere client), la ieșirea din câmpul CUI trimiți CUI-ul la serverul tău, care apelează /firma/{cui} și întoarce denumirea, nr. de registru, adresa și plătitorul de TVA. Completezi câmpurile din răspuns.

Primesc factură?

Da, automat, la fiecare plată, cu datele de facturare introduse la plată (inclusiv CUI-ul firmei). O găsești și în contul tău, la API.

Sunt incluse PFA-urile?

Nu. Registrul conține persoanele juridice (SRL, SA, cooperative etc.). PFA, II și IF sunt persoane fizice și nu sunt incluse.

Care e limita de ritm?

10 cereri pe secundă pe cheie. Dacă ai nevoie de mai mult, scrie-ne.

De ce un API și nu verificarea manuală pe ANAF sau ONRC?

Pe portalurile oficiale verifici câte o firmă, pe pagini diferite (registru, statut fiscal, bilanțuri pe fiecare an). API-ul le întoarce împreună, în JSON, direct în programul tău, și adaugă căutarea după nume și lista firmelor noi.

Începe cu 100 de cereri gratuite

Creezi cheia din cont în câteva secunde. Plătești doar când ai nevoie de mai multe.

Creează cheia API

Mai multe: ghidul de integrare a API-ului după CUI · cum verifici o firmă după CUI · cum citești bilanțul unei firme · prețurile listelor de firme

Surse: Oficiul Național al Registrului Comerțului (data.gov.ro, licență CC BY 4.0), ANAF (serviciul public PlatitorTvaRest), Ministerul Finanțelor (situații financiare anuale).