API v1

DateBPI API

Acceseaza datele din Buletinul Procedurilor de Insolventa prin API-ul nostru REST. Integreaza alertele BPI direct in aplicatia ta.

Rapid si fiabil

Timp mediu de raspuns sub 200ms. Date actualizate zilnic din surse oficiale BPI.

Autentificare securizata

Chei API unice cu rate limiting. Suport pentru medii de test si productie.

Usor de integrat

API REST standard cu raspunsuri JSON. Exemple in cURL, JavaScript, Python si PHP.

Incepe rapid

1

Creeaza un cont

Inregistreaza-te si alege un abonament care include acces API.

2

Genereaza o cheie API

Din dashboard, genereaza o cheie API pentru mediul de test sau productie.

3

Trimite prima cerere

Foloseste cheia API in header-ul X-API-Key pentru a accesa datele BPI.

Prima ta cerere API
bash
curl -X GET "https://www.datebpi.ro/api/v1/bpi/documents?cui=12345678" \
  -H "X-API-Key: bpi_live_cheia_ta_api" \
  -H "Accept: application/json"

Autentificare

Toate cererile API trebuie autentificate folosind o cheie API. Cheia se transmite prin header-ul X-API-Key sau ca parametru query api_key.

Autentificare prin Header (recomandat)
bash
curl -X GET "https://www.datebpi.ro/api/v1/bpi/documents?cui=12345678" \
  -H "X-API-Key: bpi_live_cheia_ta_api" \
  -H "Accept: application/json"
Autentificare prin Query Parameter
bash
curl -X GET "https://www.datebpi.ro/api/v1/bpi/documents?cui=12345678&api_key=bpi_live_cheia_ta_api" \
  -H "Accept: application/json"

Limite de utilizare (rate limiting)

Accesul API nu este nelimitat. Limitele efective, pe abonament:

AbonamentCereri / oraCereri / zi
Business (280 RON/luna)1002.400

Cand depasesti limita, API-ul raspunde cu 429 Too Many Requests. Header-ele de raspuns contin informatii despre limita curenta:

HeaderDescriere
X-RateLimit-Limit-HourNumarul maxim de cereri pe ora
X-RateLimit-Limit-DayNumarul maxim de cereri pe zi
X-RateLimit-Remaining-HourCereri ramase in ora curenta
X-RateLimit-Remaining-DayCereri ramase in ziua curenta
Retry-AfterSecunde pana la resetarea limitei (doar la 429)

Endpoints

URL de baza: https://www.datebpi.ro/api/v1

GET/api/v1/bpi/documents

Returneaza lista documentelor BPI publicate pentru un CUI (Cod Unic de Identificare). Rezultatele sunt paginate si sortate descrescator dupa data publicarii.

Parametri

ParametruTipObligatoriuDescriere
cuistringDaCodul Unic de Identificare al firmei (ex: 12345678)
pageintegerNuNumarul paginii (implicit: 1)
per_pageintegerNuRezultate per pagina, maxim 100 (implicit: 20)

Exemple

cURL
bash
curl -X GET "https://www.datebpi.ro/api/v1/bpi/documents?cui=12345678&page=1&per_page=10" \
  -H "X-API-Key: bpi_live_cheia_ta_api" \
  -H "Accept: application/json"
JavaScript (fetch)
javascript
const response = await fetch(
  "https://www.datebpi.ro/api/v1/bpi/documents?cui=12345678&per_page=10",
  {
    headers: {
      "X-API-Key": "bpi_live_cheia_ta_api",
      "Accept": "application/json",
    },
  }
);

const data = await response.json();
console.log(data.documents);     // Lista documentelor BPI
console.log(data.company);       // Informatii firma
console.log(data.pagination);    // { total, page, per_page, last_page }
Python (requests)
python
import requests

response = requests.get(
    "https://www.datebpi.ro/api/v1/bpi/documents",
    params={"cui": "12345678", "per_page": 10},
    headers={"X-API-Key": "bpi_live_cheia_ta_api"}
)

data = response.json()
for doc in data["documents"]:
    print(f"{doc['numar_bpi']} - {doc['titlu_document']}")
PHP (cURL)
php
$ch = curl_init();
curl_setopt_array($ch, [
    CURLOPT_URL => "https://www.datebpi.ro/api/v1/bpi/documents?cui=12345678&per_page=10",
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
        "X-API-Key: bpi_live_cheia_ta_api",
        "Accept: application/json",
    ],
]);

$response = curl_exec($ch);
curl_close($ch);

$data = json_decode($response, true);
foreach ($data['documents'] as $doc) {
    echo $doc['numar_bpi'] . ' - ' . $doc['titlu_document'] . PHP_EOL;
}

Raspuns (200 OK)

Exemplu raspuns
json
{
  "success": true,
  "company": {
    "cui": "12345678",
    "denumire": "SC EXEMPLU SRL",
    "forma_juridica": "SRL",
    "judet": "Bucuresti"
  },
  "documents": [
    {
      "id": "abc123",
      "numar_bpi": "12345/2026",
      "data": "2026-04-10",
      "numar_dosar": "1234/3/2026",
      "titlu_document": "Notificare deschidere procedura insolventa"
    }
  ],
  "pagination": {
    "total": 5,
    "page": 1,
    "per_page": 10,
    "last_page": 1
  }
}
GET/api/v1/bpi/document/{cui}/{dosar}

Returneaza detaliile complete ale unui document BPI, inclusiv continutul HTML al documentului, informatii despre firma si datele dosarului de instanta asociat.

Parametri

ParametruTipObligatoriuDescriere
cuistringDaCUI-ul firmei (parametru in URL)
dosarstringDaNumarul dosarului (parametru in URL, ex: 1234/3/2026)

Exemple

cURL
bash
curl -X GET "https://www.datebpi.ro/api/v1/bpi/document/12345678/1234%2F3%2F2026" \
  -H "X-API-Key: bpi_live_cheia_ta_api" \
  -H "Accept: application/json"

# Nota: caracterul / din numarul dosarului trebuie encodat ca %2F
JavaScript (fetch)
javascript
const cui = "12345678";
const dosar = "1234/3/2026";

const response = await fetch(
  `https://www.datebpi.ro/api/v1/bpi/document/${cui}/${encodeURIComponent(dosar)}`,
  {
    headers: {
      "X-API-Key": "bpi_live_cheia_ta_api",
      "Accept": "application/json",
    },
  }
);

const data = await response.json();
console.log(data.document.content_html);     // Continut HTML complet
console.log(data.dosar_instanta);            // Date dosar instanta
Python (requests)
python
import requests
from urllib.parse import quote

cui = "12345678"
dosar = "1234/3/2026"

response = requests.get(
    f"https://www.datebpi.ro/api/v1/bpi/document/{cui}/{quote(dosar, safe='')}",
    headers={"X-API-Key": "bpi_live_cheia_ta_api"}
)

data = response.json()
print(data["document"]["titlu_document"])
print(data["dosar_instanta"]["stadiu"])  # Stadiul dosarului in instanta

Raspuns (200 OK)

Exemplu raspuns
json
{
  "success": true,
  "company": {
    "cui": "12345678",
    "denumire": "SC EXEMPLU SRL",
    "forma_juridica": "SRL",
    "adresa": "Str. Exemplu nr. 1, Bucuresti",
    "judet": "Bucuresti",
    "localitate": "Bucuresti",
    "cod_postal": "010101",
    "nr_reg_com": "J40/1234/2020"
  },
  "document": {
    "id": "abc123",
    "cui": "12345678",
    "numar_bpi": "12345/2026",
    "data": "2026-04-10",
    "numar_dosar": "1234/3/2026",
    "titlu_document": "Notificare deschidere procedura insolventa",
    "content_html": "<div>Continutul complet al documentului...</div>",
    "locatie_pdf": "bpi/2026/04/10/12345_12345678.pdf",
    "pdf_disponibil": true
  },
  "dosar_instanta": {
    "numar": "1234/3/2026",
    "data": "2026-03-15",
    "institutie": "Tribunalul Bucuresti",
    "departament": "Sectia a VII-a civila",
    "categorie": "Insolventa",
    "stadiu": "In curs de judecata",
    "obiect": "Deschidere procedura insolventa",
    "is_finished": false
  }
}
GET/api/v1/bpi/documents/{id}

Returneaza detaliile complete ale unui document BPI dupa id-ul returnat de listare. Functioneaza pentru orice document, inclusiv cele fara numar de dosar. Campul pdf_disponibil indica daca PDF-ul sursa poate fi descarcat in acest moment.

Parametri

ParametruTipObligatoriuDescriere
idstringDaId-ul documentului, din campul id al listarii (parametru in URL)

Exemple

cURL
bash
curl -X GET "https://www.datebpi.ro/api/v1/bpi/documents/abc123" \
  -H "X-API-Key: bpi_live_cheia_ta_api" \
  -H "Accept: application/json"

Raspuns (200 OK)

Exemplu raspuns
json
{
  "success": true,
  "company": {
    "cui": "12345678",
    "denumire": "SC EXEMPLU SRL"
  },
  "document": {
    "id": "abc123",
    "cui": "12345678",
    "numar_bpi": "12345/2026",
    "data": "2026-04-10",
    "numar_dosar": null,
    "titlu_document": "Notificare deschidere procedura insolventa",
    "content_html": "<div>Continutul complet al documentului...</div>",
    "locatie_pdf": "bpi/2026/04/10/12345_12345678.pdf",
    "pdf_disponibil": true
  },
  "dosar_instanta": null
}
GET/api/v1/bpi/documents/{id}/pdf

Descarca PDF-ul sursa al unui document BPI (fisierul din campul locatie_pdf). Raspunsul este fisierul PDF. Daca documentul nu are inca PDF-ul sursa disponibil, raspunsul este JSON cu status 404 — verifica intai campul pdf_disponibil din detaliile documentului.

Parametri

ParametruTipObligatoriuDescriere
idstringDaId-ul documentului, din campul id al listarii (parametru in URL)

Exemple

cURL
bash
curl -X GET "https://www.datebpi.ro/api/v1/bpi/documents/abc123/pdf" \
  -H "X-API-Key: bpi_live_cheia_ta_api" \
  -o document.pdf

Raspuns cand PDF-ul nu este disponibil (404)

Exemplu raspuns
json
{
  "success": false,
  "error": "Source PDF not yet available on storage for this document"
}
GET/api/v1/bpi/companies

Cautare orientata pe firme: indiferent daca interoghezi dupa denumire, CUI, numar de dosar sau numar de buletin BPI, raspunsul este lista firmelor care se potrivesc, cu denumirea si numarul de documente BPI ale fiecareia. Tipul interogarii este detectat automat (query_type: denumire / cui / dosar / numar_bpi). Ideal ca prim pas: identifici firma, apoi ceri documentele ei cu /api/v1/bpi/documents?cui=...

Parametri

ParametruTipObligatoriuDescriere
querystringDaDenumirea firmei, un CUI, un numar de dosar (ex: 1234/3/2026) sau un numar de buletin BPI (ex: 21168/2026)
pageintegerNuPagina (implicit 1)
per_pageintegerNuRezultate pe pagina (implicit 20, maxim 100)

Exemple

cURL
bash
# dupa denumire
curl -X GET "https://www.datebpi.ro/api/v1/bpi/companies?query=nordis" \
  -H "X-API-Key: bpi_live_cheia_ta_api" \
  -H "Accept: application/json"

# dupa numar de dosar (caracterul / se encodeaza ca %2F)
curl -X GET "https://www.datebpi.ro/api/v1/bpi/companies?query=1234%2F3%2F2026" \
  -H "X-API-Key: bpi_live_cheia_ta_api" \
  -H "Accept: application/json"

Raspuns (200 OK)

Exemplu raspuns
json
{
  "success": true,
  "query": "nordis",
  "query_type": "denumire",
  "companies": [
    {
      "cui": "12345678",
      "denumire": "SC EXEMPLU SRL",
      "forma_juridica": "SRL",
      "judet": "Bucuresti",
      "documente_bpi": 42
    }
  ],
  "pagination": {
    "total": 1,
    "page": 1,
    "per_page": 20,
    "last_page": 1
  }
}

Coduri de eroare

Cod HTTPDescriereSolutie
200Cerere reusita-
401Cheie API invalida sau lipsaVerifica header-ul X-API-Key
403Acces interzis (cheie revocata sau cont blocat)Contacteaza suportul sau genereaza o cheie noua
404Resursa nu a fost gasitaVerifica CUI-ul sau numarul dosarului
422Eroare de validare (parametri invalizi)Verifica parametrii cererii
429Limita de cereri depasitaAsteapta conform header-ului Retry-After
Exemplu raspuns eroare
json
{
  "success": false,
  "error": "Document not found"
}

Pregatit sa integrezi datele BPI?

Creeaza un cont si genereaza prima ta cheie API in mai putin de 2 minute.