ANAF · ONRC · BNRAPI gratuit
RISKRADAR
REST · JSON

API public

API REST gratuit pentru date publice ANAF, ONRC și BNR. Răspunsuri JSON curate — fără cont, fără cheie API.

Ce poți face cu API-ul

Verifici instant orice firmă din România după CUI și obții un dosar complet.
Primești un scor de risc (0–100) cu motivele care l-au generat, gata de integrat.
Cauți firme după denumire și persoane după nume, cu rezultate structurate.
Iei cursul valutar oficial BNR și calculezi conversii fără să parsezi XML.
Interoghezi catalogul CAEN pentru a normaliza coduri de activitate.
Construiești integrări fără cont, fără cheie API și fără limite contractuale.

Endpoint-uri disponibile

Toate căile sunt relative la rădăcina /api și răspund la o cerere GET simplă, fără cont și fără cheie API.

GET/api/company/:cui

Dosarul complet al unei firme după CUI: profil ANAF + ONRC și scorul de risc calculat.

Răspunde cu: { profile, risk } — date generale, fiscal, bilanț, reprezentanți și evaluarea de risc.

/api/company/1590082
GET/api/search?q=

Căutare firme după denumire sau CUI, cu județ, localitate și formă juridică.

Răspunde cu: { query, total, hits[] } — listă de rezultate cu paginare prin parametrul limit.

/api/search?q=petrom&limit=25
GET/api/suggest?q=

Sugestii rapide pentru typeahead — variantă ușoară a căutării, optimizată pentru fiecare tastă.

Răspunde cu: SearchHit[] — maximum 12 potriviri, fără numărul total de rezultate.

/api/suggest?q=omv
GET/api/rates

Cursul oficial BNR pentru ziua curentă, cu multiplicatorii pentru valutele cu unitate diferită.

Răspunde cu: { date, publishingDate, base, rates } — ~30 de valute raportate la RON.

/api/rates
GET/api/caen

Catalogul complet al codurilor CAEN — clasificarea activităților economice. Filtrarea după cod sau text se face pe partea de client.

Răspunde cu: Listă cu întregul catalog de coduri CAEN, fiecare cu denumire și secțiune.

/api/caen
GET/api/persons?q=

Căutare persoane (administratori, asociați, reprezentanți legali) după nume.

Răspunde cu: Listă de persoane cu firmele și calitatea în care apar în registru.

/api/persons?q=ionescu

Format răspuns

Apelezi orice endpoint printr-o cerere GET simplă — de exemplu, dosarul complet al unei firme după CUI:

curl http://localhost:3000/api/company/1590082

Înlocuiește localhost:3000 cu domeniul tău în producție. Fiecare endpoint răspunde cu același plic JSON. La succes primești ok: true cu un câmp data și metadate despre surse; la eroare, ok: false cu un obiect error.

Succes
{
  "ok": true,
  "data": { /* payload-ul specific endpoint-ului */ },
  "meta": {
    "source": ["ANAF-V9", "ONRC"],
    "cached": false,
    "elapsedMs": 312
  }
}
Eroare
{
  "ok": false,
  "error": {
    "code": "NOT_FOUND",
    "message": "Firma cu CUI 1590082 nu a fost găsită."
  }
}
CodHTTPCând apare
INVALID_CUI400CUI-ul din cale nu este un număr valid.
QUERY_TOO_SHORT400Parametrul q are mai puțin de 2 caractere.
NOT_FOUND404Firma cerută nu există în sursele publice.
UPSTREAM_ERROR502ANAF sau ONRC a răspuns cu eroare ori a expirat.
BNR_ERROR502Fluxul de curs valutar BNR nu a putut fi citit.

Prospețime și caching

  • ANAF (profil + bilanț) — citit în timp real la fiecare cerere; reflectă starea fiscală curentă.
  • BNR (curs valutar) — publicat o dată pe zi lucrătoare (~13:00) și memorat în cache aproximativ o oră.
  • ONRC (firme, persoane, stare) — din seturile bulk publicate lunar pe data.gov.ro; câmpul meta.source indică originea fiecărui set.

Pentru volume mari, ANAF acceptă cel mult o cerere pe secundă — păstrează un cache local și evită cererile în rafală.

Întrebări frecvente

Nu. Toate endpoint-urile sunt publice și nu necesită autentificare. Trimiți direct cererea GET și primești răspunsul JSON.

Vrei să vezi datele în interfață înainte de a integra? Încearcă căutarea sau deschide cursul valutar.