API REST v1 — bizindex.ro
Acces programatic la date oficiale ONRC + ANAF + SICAP + PNRR. JSON + CSV.
Public FĂRĂ TOKEN
- 100 req/zi per IP
- Doar GET (firma, search, top + sub-resurse)
- Maxim 10 rezultate per request
- Fără date de contact (telefon/fax/email)
Pro 99 lei/lună
- 1.000 req/lună per token
- Toate endpoints inclusiv POST
bulk-verify - Max 25/search, 1000/top, 50/bilanturi
- Date contact (telefon/email/eFactura)
- Header
X-API-Token
Pro Team 299 lei/lună
- 10.000 req/lună per token
- Tot ce are Pro + până la 5 utilizatori
- Token per user în team
- Detectare automată (user.team_id activ)
Tabel endpoints
| Endpoint | Metodă | Tier | Returnează |
|---|---|---|---|
/firma/{cui} | GET | Public + Pro | Date complete firmă (identificare, adresă, status, CAEN, reprezentanți, bilanțuri 4 ani, datorii ANAF, contact-Pro) |
/firma/{cui}/bilanturi | GET | Public + Pro | Istoric bilanțuri (4 ani public, 50 ani Pro) |
/firma/{cui}/caen | GET | Public + Pro | Toate codurile CAEN ale firmei |
/firma/{cui}/reprezentanti | GET | Public + Pro | Lista reprezentanți (administrator, asociat) |
/firma/{cui}/sicap | GET | Public + Pro | Contracte câștigate la SICAP (achiziții publice) |
/firma/{cui}/datorii | GET | Public + Pro | Datorii ANAF (cele mai recente, sau istoric Pro) |
/firma/{cui}/pnrr | GET | Public + Pro | Proiecte PNRR contractate |
/firma/{cui}/sanctiuni | GET | Public + Pro | Sancțiuni / amenzi raportate |
/firma/{cui}/contact | GET | Doar Pro | Telefon, fax, email, status e-Factura |
/search | GET | Public + Pro | Listă paginată firme (full-text + filtre) |
/top | GET | Public + Pro | Clasament firme (CA, profit, salariați) |
/bulk-verify | POST | Doar Pro | Verificare batch (max 100 CUI per request) |
Format output: JSON sau CSV
Toate endpoint-urile suportă atât JSON (default) cât și CSV. Alege prin:
- Query param:
?format=csv - SAU header:
Accept: text/csv
CSV-ul include BOM UTF-8 (deschis direct în Excel cu diacritice OK). Pentru endpoint-uri cu results: [...] headerele provin din cheile primului rând. Sub-obiectele se aplatizează (stare.text, stare.categorie). Listele se serializează ca JSON inline.
GET /firma/{cui}
GET http://api.bizindex.ro/api/v1/firma/2816464
cURL (public)
curl http://api.bizindex.ro/api/v1/firma/2816464
cURL (Pro — include contact)
curl -H "X-API-Token: $TOKEN" http://api.bizindex.ro/api/v1/firma/2816464
PHP
$cui = '2816464';
$ch = curl_init('http://api.bizindex.ro/api/v1/firma/' . $cui);
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['X-API-Token: ' . getenv('LISTAFIRME_TOKEN')],
]);
$json = curl_exec($ch);
$data = json_decode($json, true);
echo $data['denumire']; // DEDEMAN SRL
Python
import requests, os
r = requests.get(
'http://api.bizindex.ro/api/v1/firma/2816464',
headers={'X-API-Token': os.environ['LISTAFIRME_TOKEN']}
)
data = r.json()
print(data['denumire'])
Sub-resurse firmă (8 endpoint-uri noi)
Returnează doar partea specifică, paginare scăzută pentru viteză. Folositoare pentru a popula UI-uri specializate (grafice bilanțuri, tabel CAEN, lista de proiecte PNRR).
Bilanțuri
curl http://api.bizindex.ro/api/v1/firma/2816464/bilanturi
{
"cui": "2816464",
"count": 4,
"results": [
{"an": 2023, "caen": "4752", "cifra_afaceri_neta": 12345678901, "profit_net": 1234567890, "salariati": 12000, ...},
{"an": 2022, ...}
]
}
CAEN-uri
curl http://api.bizindex.ro/api/v1/firma/2816464/caen
{ "cui": "2816464", "count": 12, "results": [{"cod_caen": "4752", "ver_caen": 2}, ...] }
Reprezentanți
curl http://api.bizindex.ro/api/v1/firma/2816464/reprezentanti
{ "cui": "2816464", "count": 2, "results": [{"nume": "PAVAL DRAGOS", "calitate": "ASOCIAT", "tip": "if"}, ...] }
SICAP (achiziții publice)
curl http://api.bizindex.ro/api/v1/firma/2816464/sicap
{ "cui": "2816464", "count": 124, "results": [{"valoare": 1500000, "data_contract": "2024-03-15", "cpv": "30190000", ...}, ...] }
Datorii ANAF
curl http://api.bizindex.ro/api/v1/firma/2816464/datorii
{ "cui": "2816464", "count": 1, "results": [{"obligatii_principale": 12345, "obligatii_accesorii": 678, "data_raportare": "2025-12-01", ...}] }
PNRR
curl http://api.bizindex.ro/api/v1/firma/2816464/pnrr
Sancțiuni
curl http://api.bizindex.ro/api/v1/firma/2816464/sanctiuni
Contact PRO
curl -H "X-API-Token: $TOKEN" http://api.bizindex.ro/api/v1/firma/2816464/contact
{ "cui": "2816464", "found": true, "contact": {"telefon": "0234...", "email": "...", "status_e_factura": true, ...} }
Export CSV pentru bilanțuri (Excel-ready)
curl 'http://api.bizindex.ro/api/v1/firma/2816464/bilanturi?format=csv' -o bilanturi.csv # Sau: curl -H "Accept: text/csv" http://api.bizindex.ro/api/v1/firma/2816464/bilanturi -o bilanturi.csv
GET /search
GET http://api.bizindex.ro/api/v1/search?q=DEDEMAN&judet=Bacau
curl 'http://api.bizindex.ro/api/v1/search?q=DEDEMAN&page=1'
GET /top
GET http://api.bizindex.ro/api/v1/top?by=ca&an=2024&caen=4711
Parametri: by (ca/profit/salariati), an 2021..2024, caen, judet, limit (public max 10, Pro max 1000).
POST /bulk-verify PRO
POST http://api.bizindex.ro/api/v1/bulk-verify
curl -X POST http://api.bizindex.ro/api/v1/bulk-verify \
-H "X-API-Token: $TOKEN" \
-H "Content-Type: application/json" \
-d '{"cuis":["2816464","6496311","14399840"]}'
Coduri eroare
| HTTP | Cauza |
|---|---|
| 400 | Parametru invalid (CUI greșit, body JSON malformat, etc.) |
| 401 | Token API lipsă (la endpoint Pro) sau invalid |
| 403 | Token există dar contul nu are plan Pro activ |
| 404 | Resursa nu există (CUI necunoscut în DB) |
| 405 | Metodă HTTP greșită |
| 429 | Rate limit atins. Vezi X-RateLimit-* headers |
| 500/502 | Eroare server (raportează la contact) |
Headere de răspuns
X-RateLimit-Limit— limita curentă (100, 1000 sau 10000)X-RateLimit-Remaining— câte requesturi mai poți faceX-RateLimit-Window—daily(public) saumonthly(Pro)X-RateLimit-Reset— Unix timestamp la reset (mâine 00:00 pentru daily, prima zi a lunii viitoare pentru monthly)