PlusFirme API oferă date complete despre 3.8 milioane de firme din România. În acest tutorial îți arăt cum să integrezi API-ul în Python, cu exemple practice pentru cele mai comune use case-uri.
Autentificare și primul call
Înregistrează-te gratuit pe PlusFirme.ro pentru a obține cheia API. Primele 50 cereri/lună sunt gratuite, fără card necesar.
python
import requests
API_KEY = "pf_your_key_here"
BASE_URL = "https://api.plusfirme.ro/v1"
headers = {"X-Api-Key": API_KEY}
# Verificare firmă după CUI
r = requests.get(f"{BASE_URL}/firme/2816464", headers=headers)
firma = r.json()
print(f"Firma: {firma['denumire']}")
print(f"Stare: {firma['stare_fiscala']}")
print(f"Județ: {firma['adresa']['judet']}")
Căutare după denumire
python
def cauta_firma(query, judet=None, limit=10):
params = {"q": query, "limit": limit}
if judet:
params["judet"] = judet
r = requests.get(f"{BASE_URL}/firme/search",
headers=headers, params=params)
return r.json()["rezultate"]
# Exemplu: cauta Lidl in Cluj
firme = cauta_firma("Lidl", judet="Cluj", limit=5)
for f in firme:
print(f"{f['denumire']} — CUI {f['cui']}")
Date financiare — bilanțuri istorice
python
def get_financiar(cui):
r = requests.get(f"{BASE_URL}/firme/{cui}/financiar", headers=headers)
if r.status_code != 200:
return None
data = r.json()
cel_mai_recent = data["cel_mai_recent"]
return {
"an": cel_mai_recent["an"],
"ca": cel_mai_recent["cifra_afaceri"],
"profit": cel_mai_recent["profit_net"],
"angajati": cel_mai_recent["nr_angajati"]
}
fin = get_financiar(160796) # Dacia
print(f"CA Dacia {fin['an']}}: {fin['ca']:,} RON")
Export CSV programatic
python
def export_firme(judet=None, caen=None, forma="SRL", limit=1000):
params = {"stare": "ACTIV", "limit": limit}
if judet: params["judet"] = judet
if caen: params["caen"] = caen
if forma: params["forma"] = forma
r = requests.get(f"{BASE_URL}/export/csv",
headers=headers, params=params)
# Salveaza CSV
with open(f"firme_{judet or 'toate'}_{caen or 'all'}.csv", "wb") as f:
f.write(r.content)
print(f"Exportat {limit} firme")
# Firme IT din Timis
export_firme(judet="Timis", caen="6201", limit=500)
Integrare în Django / FastAPI
Dacă ai un proiect web, poți crea un endpoint propriu care apelează PlusFirme și returnează datele procesate utilizatorilor tăi. Cheia API se păstrează pe server, nu se expune în frontend.