Business v1 / Firme
Istoricul activităţilor
Codurile CAEN autorizate ale firmei de-a lungul timpului, cu perioada în care apar în registru.
GET
https://oneapi.ro/api/business/v1/firme/{cui}/istoric/activitati
Parametri de cale
NumeTipDescriereExemplu
cuiobligatoriu
string
Codul de identificare fiscală al firmei, fără prefixul
RO (ex. 6719278).
Parametri de interogare
NumeTipDescriereValori acceptate
versiuneopțional
string | null
Doar o ediţie CAEN:
0 (1998), 1 (Rev.1), 2 (Rev.2), 3 (Rev.3).
0123
in_vigoareopțional
boolean | null
1 doar activităţile de azi, 0 doar cele închise.
ex. 1
doar_schimbariopțional
boolean | null
1 doar rândurile cu o adăugare ori o renunţare reală (fără renumerotare).
ex. 1
de_laopțional
string | null
Doar schimbările (adăugări ori renunţări) de la această dată,
AAAA-LL-ZZ. Implică doar_schimbari.
ex. 2025-10-01
Cum se comportă
- Schimbările reale sunt separate de renumerotare. ONRC a trecut firmele de pe CAEN Rev.2 pe Rev.3 treptat, fiecare la ediţia ei: atunci toate codurile Rev.2 dispar şi apar echivalentele Rev.3. Citite brut, la eMAG 140 din 148 de rânduri păreau schimbări.
adaugataşirenuntataspun doar ce a schimbat firma, recunoscând perechile vechi–nou prin tabelul oficial de corespondenţă (codurile nepomenite de tabel au rămas neschimbate), în ambele sensuri şi la fel pentru codurile Rev.1 convertite în Rev.2 — sursa a şi dat înapoi uneori, iar unele firme au avut ambele nomenclatoare o vreme (la Dedeman, 236 de rânduri „schimbate" sunt de fapt 19). O activitate Rev.2 fără echivalent printre codurile noi e o renunţare reală, chiar dacă a dispărut în ziua trecerii. ?doar_schimbari=1întoarce doar rândurile cu o adăugare ori o renunţare;?de_la=2025-09-01restrânge la schimbările de după o dată. Pentru „ce a schimbat firma în ultimul an" e o singură cerere, fără să citeşti sute de rânduri.- Activitatea principală se ştie doar pentru azi. ONRC nu o marchează în fişierul de activităţi, iar ANAF nu publică istoricul ei — de aceea rândurile au
principala_acum. ANAF ţine des principala pe codul Rev.2 după ce ONRC a trecut firma pe Rev.3; echivalentele Rev.3 sunt înmeta.caen_principal.echivalente_rev3. - Istoricul începe cu ediţia ONRC din 21 martie 2025, prima în care activităţile autorizate vin ca fişier separat. Ce avea firma atunci apare fără
adaugata: nu ştim de când o avea. - Datele sunt ale ediţiilor (aproximativ lunare): o activitate cu
adaugata: 2025-10-06a apărut între ediţia anterioară şi 6 octombrie. Un rând văzut într-o singură ediţie poate fi o corectură a sursei. - Aceleaşi nume de dată ca la celelalte istorii:
vazut_de_laşivazut_pana_la.
La ce folosește
- Ce activităţi avea autorizate firma la data unei achiziţii publice.
- Momentul în care o firmă şi-a schimbat domeniul de activitate.
- Urmărirea trecerii unui sector la noua ediţie CAEN.
Structura răspunsului
CâmpTipDescriere
data[].principala_acum
boolean
true pe codul care e AZI activitatea principală a firmei, după ANAF, şi doar pe rândul în vigoare.
meta.caen_principal
object | null
Activitatea principală actuală, după ANAF:
{cod, denumire, versiune, sursa, echivalente_rev3}; null dacă ANAF n-o declară.
data[].cod
string
Codul CAEN autorizat.
data[].denumire
string
Denumirea codului, din nomenclator.
data[].versiune
string
Ediţia CAEN:
0 (1998), 1 (2003), 2 (2008), 3 (2025).
data[].vazut_de_la
string
Primul snapshot în care firma apare cu codul ăsta autorizat.
data[].vazut_pana_la
string | null
Ultimul snapshot în care mai apare;
null dacă e încă autorizat.
data[].in_vigoare
boolean
true dacă apare în cel mai recent snapshot procesat.
data[].adaugata
null
Ediţia în care activitatea a apărut cu adevărat;
null dacă era deja la prima ediţie în care vedem firma (nu ştim de când o are) ori dacă e doar echivalentul Rev.3 al unui cod Rev.2 închis la trecerea firmei pe noul nomenclator.
data[].renuntata
null
Ultima ediţie în care activitatea a mai apărut înainte să dispară;
null dacă e în vigoare ori dacă a dispărut doar prin renumerotare (echivalentul ei Rev.3 a apărut în ediţia următoare).
data[].renumerotare
boolean
true dacă începutul ori sfârşitul perioadei vine din trecerea Rev.2 → Rev.3, nu dintr-o decizie a firmei.
meta.caen_principal.echivalente_rev3
array
Când ANAF ţine principala încă pe un cod Rev.2 (des, chiar dacă ONRC a trecut firma pe Rev.3), codurile Rev.3 corespunzătoare după tabelul oficial;
null dacă principala e deja Rev.3.
meta.rezumat.prima_editie
string
Prima ediţie în care vedem activităţile firmei — ce avea atunci nu apare ca „adăugat".
meta.rezumat.trecere_rev3
string
Ediţia în care ONRC a trecut firma pe CAEN Rev.3;
null dacă o vedem de la început pe Rev.3.
meta.rezumat.adaugate
integer
Câte activităţi a adăugat firma, fără renumerotare — pe tot istoricul, indiferent de filtre.
meta.rezumat.renuntate
integer
La câte activităţi a renunţat, fără renumerotare.
meta.rezumat.ultima_schimbare
string
Data ultimei schimbări reale;
null dacă nu e niciuna.
meta.paginare.pagina
integer
Pagina curentă, numărată de la 1.
meta.paginare.per_pagina
integer
Câte înregistrări are o pagină.
meta.paginare.total
integer
Totalul înregistrărilor care se potrivesc, dincolo de pagina curentă.
meta.paginare.pagini
integer
Câte pagini are lista.
Exemple de răspuns
GEThttps://oneapi.ro/api/business/v1/firme/14399840/istoric/activitati?per_pagina=5
{
"data": [
{
"cod": "4615",
"denumire": "Intermedieri în comerțul cu mobilă, articole de menaj și de fierărie",
"versiune": "3",
"vazut_de_la": "2025-05-05",
"vazut_pana_la": null,
"in_vigoare": true,
"adaugata": null,
"renuntata": null,
"renumerotare": true,
"principala_acum": false
}
],
"meta": {
"caen_principal": {
"cod": "4754",
"denumire": "Comerț cu amănuntul al articolelor și aparatelor electrocasnice, în magazine specializate",
"versiune": "2",
"sursa": "ANAF",
"echivalente_rev3": [
"4754",
"4792"
]
},
"rezumat": {
"prima_editie": "2025-03-21",
"trecere_rev3": "2025-05-05",
"adaugate": 9,
"renuntate": 5,
"ultima_schimbare": "2026-02-03"
},
"paginare": {
"pagina": 1,
"per_pagina": 5,
"total": 148,
"pagini": 30
}
}
}
GEThttps://oneapi.ro/api/business/v1/firme/6719278/istoric/activitati?in_vigoare=1
{
"data": [
{
"cod": "1011",
"denumire": "Prelucrarea și conservarea cărnii",
"versiune": "3",
"vazut_de_la": "2026-04-03",
"vazut_pana_la": null,
"in_vigoare": true,
"adaugata": "2026-04-03",
"renuntata": null,
"renumerotare": false,
"principala_acum": false
}
],
"meta": {
"caen_principal": {
"cod": "4711",
"denumire": "Comerț cu amănuntul în magazine nespecializate, cu vânzare predominantă de produse alimentare, băuturi și tutun",
"versiune": "2",
"sursa": "ANAF",
"echivalente_rev3": [
"4711",
"4791"
]
},
"rezumat": {
"prima_editie": "2025-03-21",
"trecere_rev3": "2025-05-05",
"adaugate": 32,
"renuntate": 2,
"ultima_schimbare": "2026-05-06"
},
"paginare": {
"pagina": 1,
"per_pagina": 20,
"total": 80,
"pagini": 4
}
}
}
GEThttps://oneapi.ro/api/business/v1/firme/14399840/istoric/activitati?doar_schimbari=1
{
"data": [
{
"cod": "4638",
"denumire": "Comerț cu ridicata specializat al altor alimente",
"versiune": "3",
"vazut_de_la": "2025-10-06",
"vazut_pana_la": null,
"in_vigoare": true,
"adaugata": "2025-10-06",
"renuntata": null,
"renumerotare": false,
"principala_acum": false
}
],
"meta": {
"caen_principal": {
"cod": "4754",
"denumire": "Comerț cu amănuntul al articolelor și aparatelor electrocasnice, în magazine specializate",
"versiune": "2",
"sursa": "ANAF",
"echivalente_rev3": [
"4754",
"4792"
]
},
"rezumat": {
"prima_editie": "2025-03-21",
"trecere_rev3": "2025-05-05",
"adaugate": 9,
"renuntate": 5,
"ultima_schimbare": "2026-02-03"
},
"paginare": {
"pagina": 1,
"per_pagina": 20,
"total": 14,
"pagini": 1
}
}
}
GEThttps://oneapi.ro/api/business/v1/firme/14399840/istoric/activitati?de_la=2025-10-01
{
"data": [
{
"cod": "4638",
"denumire": "Comerț cu ridicata specializat al altor alimente",
"versiune": "3",
"vazut_de_la": "2025-10-06",
"vazut_pana_la": null,
"in_vigoare": true,
"adaugata": "2025-10-06",
"renuntata": null,
"renumerotare": false,
"principala_acum": false
}
],
"meta": {
"caen_principal": {
"cod": "4754",
"denumire": "Comerț cu amănuntul al articolelor și aparatelor electrocasnice, în magazine specializate",
"versiune": "2",
"sursa": "ANAF",
"echivalente_rev3": [
"4754",
"4792"
]
},
"rezumat": {
"prima_editie": "2025-03-21",
"trecere_rev3": "2025-05-05",
"adaugate": 9,
"renuntate": 5,
"ultima_schimbare": "2026-02-03"
},
"paginare": {
"pagina": 1,
"per_pagina": 20,
"total": 8,
"pagini": 1
}
}
}
GEThttps://oneapi.ro/api/business/v1/firme/6719278/istoric/activitati
{
"data": [
{
"cod": "1011",
"denumire": "Prelucrarea și conservarea cărnii",
"versiune": "3",
"vazut_de_la": "2026-04-03",
"vazut_pana_la": null,
"in_vigoare": true,
"adaugata": "2026-04-03",
"renuntata": null,
"renumerotare": false,
"principala_acum": false
}
],
"meta": {
"caen_principal": {
"cod": "4711",
"denumire": "Comerț cu amănuntul în magazine nespecializate, cu vânzare predominantă de produse alimentare, băuturi și tutun",
"versiune": "2",
"sursa": "ANAF",
"echivalente_rev3": [
"4711",
"4791"
]
},
"rezumat": {
"prima_editie": "2025-03-21",
"trecere_rev3": "2025-05-05",
"adaugate": 32,
"renuntate": 2,
"ultima_schimbare": "2026-05-06"
},
"paginare": {
"pagina": 1,
"per_pagina": 20,
"total": 100,
"pagini": 5
}
}
}
Coduri de eroare
| Cod | Slug | Când apare |
|---|---|---|
| 401 | neautentificat | Token lipsă, invalid, expirat sau revocat. |
| 403 | feature_indisponibil | Planul curent nu include funcţia de care ţine ruta. |
| 404 | negasit | Firma cu CUI [{cui}] nu a fost găsită. |
| 422 | validare | Un parametru nedeclarat ori o valoare care nu trece validarea (versiune, in_vigoare, doar_schimbari, de_la). Câmpul vinovat e în detalii. |
| 429 | cota_depasita | Cota lunară a planului a fost depăşită (vezi Retry-After). |
Toate erorile au aceeași formă. eroare.cod e stabil și e cel după care trebuie să ramifici în cod — nu după textul din mesaj, care se poate schimba.
{
"eroare": {
"cod": "validare",
"mesaj": "Un parametru nedeclarat ori o valoare care nu trece validarea (versiune, in_vigoare, doar_schimbari, de_la). Câmpul vinovat e în detalii.",
"detalii": {
"cui": [
"Valoarea trimisă nu respectă regula parametrului."
]
}
}
}