Monitorul Oficial (părțile I, II, VI, VII)Nou

API Monitorul Oficial — Partea I — acte normative

Legi, decrete, ordonanțe, hotărâri, ordine ale miniștrilor și deciziile Curții Constituționale, câte un document pe act. Lista întoarce metadatele; textul integral (HTML) se obține după numărul documentului (nro).

GET/api/v1/monitorul-oficial/partea-i/{nro}
2 credite fix· credite generale
după cheie + căutare cu filtre
2 endpoint-uridupă cheie + căutare cu filtre
la căutarea după cheie
2 credite fixla căutarea după cheie
explicate mai jos
9 câmpuriexplicate mai jos
GET/api/v1/monitorul-oficial/partea-i/109764
X-API-KEY: CHEIA_TA_API
{
  "success": true,
  "nro": "0000109764",
  "sursa": "Monitorul Oficial al României",
  "rezultat": {
    "nro": "0000109764",
    "company": "DECIZIA Nr. 45",
    "publicatieNr": "271",
    "data": "2016-04-11",
    "title": "Decizia nr. 45 45 din 16 februarie 2016",
    "cui": null,
    "regCom": null,
    "content": "<p>DECIZIA Nr. 45</p><p>referitoare la excepţia de neconstituţionalitate a dispoziţiilor art. 346 alin. (1)</p><p>din Codul de procedură penală</p><p>Augustin Zegrean</p><p>— preşedinte</p><p>Valer Dorneanu</p><p>— ju…"
  }
}
200 OKSursă: Monitorul Oficial al României
Toate câmpurile →

Exemplu cu date fictive · bază URL https://www.firmeapi.ro/api/v1

Despre date

Monitorul Oficial — Partea I — acte normative

Legi, decrete, ordonanțe, hotărâri, ordine ale miniștrilor și deciziile Curții Constituționale, câte un document pe act.

Legi, decrete, ordonanțe, hotărâri, ordine ale miniștrilor și deciziile Curții Constituționale, câte un document pe act. Lista întoarce metadatele; textul integral (HTML) se obține după numărul documentului (nro).

Sursa
Monitorul Oficial al României
Credite
Generale — incluse în orice abonament

Integrare cu agenți AI

Agentul tău îl integrează din prima

Un ghid complet, scris pentru agenții de programare: endpoint-uri, câmpuri, erori, cod de referință și teste de acceptanță. Agentul face integrarea cap-coadă, fără să te întrebe nimic. Sau îl conectezi prin MCP și interoghează direct datele.

Ghidul pentru agenți
.md →
Specificația OpenAPI
openapi.json →
Rezumat pentru LLM-uri
llms.txt →
Ghid MCP pe fiecare client
Configurare MCP →

Prompt pentru agentul de programare

Agentul deschide ghidul de la adresa din prompt. Dacă nu poate accesa internetul, copiază-i .

Implementează în aplicația mea integrarea cu API-ul Monitorul Oficial — Partea I — acte normative FirmeAPI.ro.

Citește întâi ghidul complet de implementare:
https://www.firmeapi.ro/info-api/monitorul-oficial-partea-i.md

Urmează-l pas cu pas: configurarea cheii FIRMEAPI_KEY, clientul API cu
tratarea erorilor și reîncercările, cache-ul, regulile de domeniu
interfața și testele de acceptanță.

Respectă convențiile proiectului. La final rulează testele și spune-mi ce
fișiere ai creat sau modificat.

Documentație

Referința API

Parametrii, fiecare câmp al răspunsului și răspunsurile pe coduri de stare, cu exemple de cod în patru limbaje.

Bază URL
https://www.firmeapi.ro/api/v1
Autentificare
X-API-KEY: cheia ta
Format
JSON, UTF-8, date YYYY-MM-DD
Erori
nu consumă credite

Textul integral al unui document#

GET/api/v1/monitorul-oficial/partea-i/{nro}
2 credite fix· general

Documentul complet, cu conținutul HTML.

Parametri

nrostring· în URLobligatoriu
Numărul documentului (nro, din listă). ex.: 109764

Câmpurile răspunsului

successboolean
true când cererea a reușit.
nrostring
Valoarea cerută, normalizată.
sursastring
Sursa datelor.
rezultatobject
Obiectul găsit.
rezultat.nrostring
Numărul documentului (cheia pentru textul integral).
rezultat.companystring
Emitentul sau subiectul publicației.
rezultat.titlestring
Titlul.
rezultat.publicatieNrstring
Numărul Monitorului Oficial.
rezultat.datadate
Data publicării.
rezultat.cuistring|null
CUI-ul, când e menționat (doar partea a VII-a).
rezultat.regComstring|null
Numărul de registru, când e menționat.
rezultat.ocrboolean|null
Documentul a fost recunoscut optic (texte vechi).
rezultat.contentstring
Doar pe documentul integral: conținutul HTML.

Reguli pentru integrare

  1. 1Întoarce un singur obiect, în câmpul rezultat.
curl -X GET "https://www.firmeapi.ro/api/v1/monitorul-oficial/partea-i/109764" \
  -H "X-API-KEY: CHEIA_TA_API" \
  -H "Accept: application/json"

200 OK · se taxează 2 credite fix

{
  "success": true,
  "nro": "0000109764",
  "sursa": "Monitorul Oficial al României",
  "rezultat": {
    "nro": "0000109764",
    "company": "DECIZIA Nr. 45",
    "publicatieNr": "271",
    "data": "2016-04-11",
    "title": "Decizia nr. 45 45 din 16 februarie 2016",
    "cui": null,
    "regCom": null,
    "content": "<p>DECIZIA Nr. 45</p><p>referitoare la excepţia de neconstituţionalitate a dispoziţiilor art. 346 alin. (1)</p><p>din Codul de procedură penală</p><p>Augustin Zegrean</p><p>— preşedinte</p><p>Valer Dorneanu</p><p>— ju…"
  }
}

Caută în partea I#

GET/api/v1/monitorul-oficial/partea-i/lista
1 credit / rezultat· general

Căutare full-text în titlu și conținut, cu filtre pe emitent și perioadă. Fără conținut în listă.

Parametri

qstring· query
Text liber. ex.: lege
emitentstring· query
Emitentul / subiectul publicației.
numar_mostring· query
Numărul Monitorului Oficial.
data_dedate (AAAA-LL-ZZ)· query
De la data publicării (AAAA-LL-ZZ).
data_panadate (AAAA-LL-ZZ)· query
Până la data publicării (AAAA-LL-ZZ).
paginainteger· query
Numărul paginii, de la 1. ex.: 1
per_paginainteger· query
Rezultate pe pagină, maxim 20. ex.: 20
ordinestring· query
Ordinea rezultatelor (vezi valorile permise pe endpoint). relevantarecenteex.: relevanta

Câmpurile răspunsului

successboolean
true când cererea a reușit.
sursastring
Sursa datelor.
pagina · per_paginainteger
Pagina curentă și rezultatele pe pagină.
total · total_paginiinteger
Totalul rezultatelor care se potrivesc filtrelor și numărul de pagini pe care le poți parcurge.
rezultatearray
Rezultatele paginii.
rezultate[].nrostring
Numărul documentului (cheia pentru textul integral).
rezultate[].companystring
Emitentul sau subiectul publicației.
rezultate[].titlestring
Titlul.
rezultate[].publicatieNrstring
Numărul Monitorului Oficial.
rezultate[].datadate
Data publicării.
rezultate[].cuistring|null
CUI-ul, când e menționat (doar partea a VII-a).
rezultate[].regComstring|null
Numărul de registru, când e menționat.
rezultate[].ocrboolean|null
Documentul a fost recunoscut optic (texte vechi).
rezultate[].contentstring
Doar pe documentul integral: conținutul HTML.
cost.credite_consumate · mod · tipinteger · string
Creditele consumate de cerere, modul de taxare (fix sau per_rezultat) și tipul creditelor (general sau premium).

Reguli pentru integrare

  1. 1Maximum 20 rezultate pe pagină. Paginile acoperă toate rezultatele care se potrivesc filtrelor; dacă o căutare e prea largă pentru a fi paginată până la capăt, răspunsul spune până unde poți merge.
  2. 2Costul se calculează pe numărul de rezultate întoarse; o căutare fără rezultate nu costă nimic.
curl -X GET "https://www.firmeapi.ro/api/v1/monitorul-oficial/partea-i/lista?q=lege" \
  -H "X-API-KEY: CHEIA_TA_API" \
  -H "Accept: application/json"

200 OK · se taxează 1 credit / rezultat

{
  "success": true,
  "sursa": "Monitorul Oficial al României",
  "pagina": 1,
  "per_pagina": 2,
  "total": 52274,
  "total_pagini": 5000,
  "rezultate": [
    {
      "nro": "0000109840",
      "company": "LEGE",
      "publicatieNr": "282",
      "data": "2016-04-14",
      "title": "Lege",
      "cui": null,
      "regCom": null
    },
    {
      "nro": "0000109848",
      "company": "LEGE",
      "publicatieNr": "283",
      "data": "2016-04-14",
      "title": "Lege",
      "cui": null,
      "regCom": null
    }
  ],
  "cost": {
    "credite_consumate": 2,
    "mod": "per_rezultat",
    "tip": "general"
  }
}

Erori și limite

Ce face integrarea la fiecare eroare

Fiecare cod are o reacție clară: unele se reîncearcă automat, restul înseamnă configurare, credite sau date lipsă. Erorile nu consumă credite.

401AUTH_MISSING_KEY · AUTH_INVALID_KEY · AUTH_KEY_EXPIRED

Cheia lipsește, e greșită sau a expirat.

Eroare de configurare: loghează și verifică FIRMEAPI_KEY.

Reîncearcă: nu

403CREDITS_EXHAUSTED

Rezultatele paginii costă mai mult decât creditele disponibile.

Răspunsul spune costul cererii și soldul: cere mai puține rezultate (per_pagina mai mic) sau cumpără credite.

Reîncearcă: nu

403ACCESS_DENIED_IP · ACCESS_DENIED_SCOPE

Cheia e limitată la alte IP-uri sau endpoint-uri.

Eroare de configurare a cheii, din contul FirmeAPI.

Reîncearcă: nu

403MONTHLY_LIMIT_REACHED

Planul gratuit și-a atins limita lunară de cereri.

Mesaj către utilizator cu linkul din upgrade_url.

Reîncearcă: nu

404—

Nu există date pentru cheia cerută.

Afișează „fără date”. Păstrează în cache scurt (de exemplu o oră).

Reîncearcă: nu

422VALIDATION_FAILED

Un filtru invalid sau lipsește un parametru obligatoriu.

Arată eroarea din errors, pe câmp. Validează înainte de cerere.

Reîncearcă: nu

429LIMIT_EXCEEDED_SECOND

Prea multe cereri într-o secundă.

Așteaptă retry_after secunde și reia cererea.

Reîncearcă: da

429LIMIT_EXCEEDED_DAILY · LIMIT_EXCEEDED_MONTHLY

Limita zilnică sau lunară a planului.

Oprește cererile până la retry_after și anunță utilizatorul.

Reîncearcă: nu

500—

Eroare neașteptată pe server.

Reîncearcă de cel mult 3 ori, la 1, 2 și 4 secunde.

Reîncearcă: da

Corpul erorii: {"success": false, "error": "…", "code": "…", "message": "…"}. Decide după statusul HTTP și code, nu după text. Nicio eroare nu consumă credite.

Header-e de răspuns

X-Credit-Cost
Creditele consumate de cerere.
X-Credit-Type
Tipul creditelor folosite de endpoint.
X-Credit-Balance-General
Soldul de credite generale.
X-Credit-Balance-{TIP}
Soldul pentru tipul cererii, când nu e general (de exemplu X-Credit-Balance-ACTIONARI).
X-RateLimit-Limit-Second · -Day · -Month
Limitele planului.
X-RateLimit-Remaining-Second · -Day · -Month
Cât a mai rămas din fiecare limită.

Utilizare

Unde îl folosesc clienții

  • 01

    Monitorizarea legislației și a actelor normative

  • 02

    Arhive juridice și cercetare

FAQ

Întrebări frecvente

Nu găsești răspunsul? Scrie-ne.

Cât costă API-ul Monitorul Oficial — Partea I — acte normative?

/api/v1/monitorul-oficial/partea-i/{nro}: 2 credite fix; /api/v1/monitorul-oficial/partea-i/lista: 1 credit / rezultat. Căutările cu filtre se taxează pe rezultat: creditele consumate = rezultatele întoarse × prețul endpoint-ului, deci o pagină de 20 costă de zece ori mai puțin decât una de 200. Erorile și răspunsurile fără date (404 sau zero rezultate) nu consumă credite și nu scad din plafonul zilnic.

De unde provin datele?

Monitorul Oficial al României.

Ce înseamnă un câmp null?

Că sursa nu precizează informația pentru acel rând. Nu completăm golurile cu valori deduse.

Pot limita o cheie API doar la aceste endpoint-uri?

Da. La Chei API → Acces alegi „Doar ce aleg eu” și bifezi endpoint-urile dorite; restul primesc 403 ACCESS_DENIED_SCOPE pentru acea cheie.

Funcționează și prin MCP (Claude, ChatGPT, Cursor)?

Da. Fiecare endpoint e disponibil ca tool MCP (mo_partea_i, mo_partea_i_cauta), cu același cost.

Integrează Monitorul Oficial — Partea I — acte normative

Cont gratuit, cheia API imediat. Plătești doar cererile reușite; 404 și erorile nu consumă credite.