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
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.
/api/company/:cuiDosarul 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/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/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/api/ratesCursul 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/api/caenCatalogul 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/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=ionescuFormat 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.
{
"ok": true,
"data": { /* payload-ul specific endpoint-ului */ },
"meta": {
"source": ["ANAF-V9", "ONRC"],
"cached": false,
"elapsedMs": 312
}
}{
"ok": false,
"error": {
"code": "NOT_FOUND",
"message": "Firma cu CUI 1590082 nu a fost găsită."
}
}| Cod | HTTP | Când apare |
|---|---|---|
| INVALID_CUI | 400 | CUI-ul din cale nu este un număr valid. |
| QUERY_TOO_SHORT | 400 | Parametrul q are mai puțin de 2 caractere. |
| NOT_FOUND | 404 | Firma cerută nu există în sursele publice. |
| UPSTREAM_ERROR | 502 | ANAF sau ONRC a răspuns cu eroare ori a expirat. |
| BNR_ERROR | 502 | Fluxul 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.sourceindică 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
Vrei să vezi datele în interfață înainte de a integra? Încearcă căutarea sau deschide cursul valutar.