Fiecare endpoint, cu exemple pe care le poți rula direct din pagină. Trimite cheia în header-ul X-API-Key. Fără cheie ai 5 interogări pe zi pentru fiecare adresă IP; o cheie gratuită de la /start îți dă 25; ziua se resetează la 00:00 UTC. Fiecare răspuns 401, 402 sau 429 conține get_a_key. GET /usage îți arată cât ți-a mai rămas (nu se numără ca interogare), iar fiecare răspuns la o interogare are headerele RateLimit-Limit, RateLimit-Remaining și RateLimit-Reset (secunde până la resetare).
Gratuit în perioada de lansare. Toate endpoint-urile și filtrele sunt gratuite azi, în limita zilnică. Când pornesc planurile plătite, istoricul financiar complet 2008–2025, indicatorii, scorul de sănătate și percentilele, filtrele după cifră de afaceri, angajați și TVA, exportul CSV și listele mai lungi de 25 de rânduri trec în Pro (9 €/lună ≈ 47,96 lei, 500 de interogări pe zi); Business (29 €/lună ≈ 154,53 lei) are 5.000 de interogări pe zi. Free păstrează profilul firmei, starea și riscul, datele ANAF, cifrele ultimului an și listele de până la 25 de rânduri. Vezi toate planurile. Echivalentul în lei este orientativ, la cursul BNR din 20.10.2026 (1 € = 5,3285 lei); plata se face în euro.
Exemple pentru date firme după CUI, verificare ONRC și ANAF și export după CAEN →
POST /lookup_companies primește până la 100 de CUI-uri, iar POST /match_companies până la 500 de înregistrări (nume, județ, domeniu sau CUI); fiecare răspunde cu un rând pentru fiecare intrare, în aceeași ordine. Fiecare rând se numără ca o interogare: un lot mai mare decât ce ți-a rămas azi primește răspuns pentru rândurile care încap, iar restul sunt marcate not_processed (nu se numără; partial: true, processed, remaining: trimite-le din nou după resetare); fără nimic rămas, lotul e refuzat (429). Rândurile greșite nu se numără (câmpul metering arată ce s-a numărat). GET /find_company_by_domain găsește firma din spatele unui site. Adaugă fields=companyName,cui,county,risk sau compact=true la o listă ca să primești doar acele câmpuri. /record/{cui} este o fișă datată, cu surse, de tipărit sau salvat ca PDF (?format=json pentru date); fiecare rând cu o firmă trimite la ea prin url (null pentru persoane fizice autorizate și alte persoane fizice), iar o listă de firme are appUrl, aceeași listă în aplicație. Uneltele MCP cu aceleași nume se numără la fel.
GET /extract_contacts?website= citește până la max_pages pagini dintr-un site (1-20, implicit 5) și găsește emailuri, telefoane și profiluri sociale. GET /enrich_company?cui= întoarce fișa din registru plus contactele de pe site-ul firmei, fiecare cu un grad de încredere și o sursă (din cache; refresh=true citește site-ul acum). GET /lookup_domain?domain= dă WHOIS, DNS și auditul SPF/DMARC. Fiecare apel este o interogare. Se citesc doar site-uri publice: localhost, un IP privat sau un nume intern primesc 400, la fel un site care nu poate fi citit; acestea nu se numără. Uneltele MCP cu aceleași nume răspund la fel.
Descarcă workflow-ul n8n (îl imporți în n8n cu Import from file): citește un CSV sau un Google Sheet, trimite rândurile cu CUI la POST /lookup_companies și pe celelalte (nume, județ, site) la POST /match_companies, cu cheia ta în header-ul X-API-Key (credențial Header Auth), și scrie lista înapoi cu CUI-ul, starea, riscul, telefonul, mărimea fiecărei firme și încrederea potrivirii. Fiecare rând se numără ca o interogare, ca mai sus. Pașii, în română și engleză, sunt în README-ul lui (docs/integrations/n8n).
Skill-ul Leadgen pentru Claude (format Agent Skills; sursa pe GitHub) îi spune lui Claude ce unealtă să folosească pentru o listă de firme, o verificare înainte de o afacere, potrivirea unei liste de clienți sau monitorizare, și cum să răspundă: citează data snapshot-ului, spune ce nu s-a verificat, numește sursa datelor. claude.ai / Claude Desktop: Settings → Capabilities → Skills → încarcă arhiva zip. Claude Code: dezarhiveaz-o în ~/.claude/skills/. Merge împreună cu serverul MCP de mai sus.
curl -H "X-API-Key: lg_your_key" "https://leadgen.adrianhomelab.com/lookup_business?query=DEDEMAN&max_results=3"
import requests # pip install requests
r = requests.get(
"https://leadgen.adrianhomelab.com/lookup_business",
params={"query": "DEDEMAN", "max_results": 3},
headers={"X-API-Key": "lg_your_key"},
timeout=30,
)
r.raise_for_status()
for firm in r.json()["results"]:
print(firm["cui"], firm["companyName"])// Node 18+ (built-in fetch), run as an ES module (.mjs)
const r = await fetch("https://leadgen.adrianhomelab.com/lookup_business?query=DEDEMAN&max_results=3", {
headers: { "X-API-Key": "lg_your_key" },
});
if (!r.ok) throw new Error(`HTTP ${r.status}`);
const { results } = await r.json();
for (const firm of results) console.log(firm.cui, firm.companyName);Rulează o dată într-un terminal (adaugă --scope user ca să-l ai în toate proiectele):
claude mcp add --transport http leadgen https://leadgen-mcp.adrianhomelab.com/mcp # cu o cheie: claude mcp add --transport http leadgen https://leadgen-mcp.adrianhomelab.com/mcp --header "Authorization: Bearer lg_your_key"
Sau împarte-l cu echipa în fișierul .mcp.json al proiectului (linia "type": "http" e obligatorie):
{
"mcpServers": {
"leadgen": {
"type": "http",
"url": "https://leadgen-mcp.adrianhomelab.com/mcp",
"headers": { "Authorization": "Bearer lg_your_key" }
}
}
}În claude.ai sau Claude Desktop: Customize → Connectors → + → Add custom connector. Numește-l Leadgen, lipește URL-ul de mai jos, alege No sign in; cu o cheie, adaugă header-ul Authorization: Bearer lg_your_key. Conectorul merge apoi și în Claude Desktop și în aplicațiile mobile. (Fișierul claude_desktop_config.json din Claude Desktop e doar pentru servere locale.) Planurile gratuite permit un singur conector personalizat.
https://leadgen-mcp.adrianhomelab.com/mcp
În ~/.cursor/mcp.json (toate proiectele) sau .cursor/mcp.json (doar acest proiect):
{
"mcpServers": {
"leadgen": {
"url": "https://leadgen-mcp.adrianhomelab.com/mcp",
"headers": { "Authorization": "Bearer lg_your_key" }
}
}
}În .vscode/mcp.json (sau MCP: Add Server… → HTTP din command palette). VS Code folosește servers și cere "type": "http":
{
"servers": {
"leadgen": {
"type": "http",
"url": "https://leadgen-mcp.adrianhomelab.com/mcp",
"headers": { "Authorization": "Bearer lg_your_key" }
}
}
}Orice alt client care vorbește Streamable HTTP: endpoint-ul de mai jos, header opțional. Sau instalează-l cu Smithery:
https://leadgen-mcp.adrianhomelab.com/mcp
npx @smithery/cli install @oaida-adrian-3qb2/leadgen-mcp
Fără cheie, omite header-ul: 5 interogări pe zi pentru fiecare adresă IP. Cu o cheie gratuită de la leadgen.adrianhomelab.com/start (25 de interogări/zi în loc de 5), înlocuiește lg_your_key cu cheia ta.
Datele despre firme sunt date publice deschise, nu ale noastre: Oficiul Național al Registrului Comerțului (ONRC) și Ministerul Finanțelor le publică pe data.gov.ro sub licența CC BY 4.0 (situațiile financiare 2008–2010 sub licența OGL-ROU-1.0), iar plătitorul de TVA, e-Factura și inactivitatea vin din serviciul public ANAF pentru contribuabili. Când afișezi sau livrezi aceste date în produsul tău, menționează sursa cu acest rând:
Sursa: ONRC și Ministerul Finanțelor (data.gov.ro, CC BY 4.0; situațiile financiare 2008–2010 sub OGL-ROU-1.0) și ANAF, prin Leadgen (leadgen.adrianhomelab.com)
Fiecare răspuns cu firme conține același rând în câmpul attribution (source numește stratul: onrc, mfp, anaf), iar fiecare export CSV se încheie cu el. Licențele cer menționarea sursei; nu interzic folosirea comercială. Păstrează adresa de la finalul rândului: îi spune celui care îți citește copia de unde provine.
O primă privire, nu o verificare completă: Buletinul procedurilor de insolvență (BPI), datoriile la ANAF, dosarele din instanță, asociații, SEAP și Monitorul Oficial nu sunt încărcate, iar fiecare bloc de risc o spune în notChecked. Sursele și prospețimea fiecăreia: acoperire.
Fiecare modificare apare cu data ei în jurnalul de modificări. O modificare incompatibilă e anunțată cu cel puțin 14 zile înainte, acolo și pe email, fiecărui deținător de cheie care a apelat endpoint-ul afectat în ultimele 30 de zile.
Folosește pagina de feedback, POST /feedback cu {"message", "kind", "cui", "email"} (tipuri: gap, wrong_record, bug, idea, other) sau unealta MCP report_issue. Niciuna nu se numără ca interogare. O înregistrare greșită din registru se corectează la sursă (ONRC) și ajunge la noi cu următorul snapshot.
Referința interactivă de mai jos (Swagger UI) este în engleză, ca schema OpenAPI; numele parametrilor și câmpurilor sunt cele din API.
POST /api/subscribe — Pornește un abonament Pro sau BusinessGET /api/billing/intent (u) — Ce plan numește un link semnat de upgrade, pentru pagina de platăGET /api/billing/company/{cui} (cui) — Datele de facturare ale unei firme din registrul nostru (denumire, adresă, statut TVA), ca să precompleteze plata, și dacă se poate abonaPOST /api/billing/portal — Deschide portalul abonamentului pentru cheia din X-API-KeyPOST /api/billing/portal-link — Trimite pe email un link de unică folosință către portalul abonamentuluiGET /api/fx/eur-ron — Cursul BNR al euro în lei și data lui, pentru afișarea prețurilor și în leiGET /health — Disponibilitatea serviciului, versiunea registrului ONRC servită și vechimea eiGET /lookup_business (query, max_results, county, fields, compact) — Caută o firmă după nume sau CUIGET /lookup_director (name, max_results, prefix, fields, compact) — Firmele unui administrator sau reprezentant legal, după numeGET /lookup_by_category (category, topic, county, max_results, legal_form, active_only, has_website, min_revenue, max_revenue, min_employees, max_employees, vat_payer, main_activity_only, exclude_anaf_inactive, sort, format, lang, fields, compact) — Listă de firme după un domeniu predefinit sau după codul CAENPOST /lookup_companies — Mai multe CUI-uri într-un singur apelGET /lookup_companies (cuis, fields, compact) — Mai multe CUI-uri într-un singur apel, în query stringPOST /match_companies — Potrivește până la 500 de înregistrări cu firmele din registruGET /find_company_by_domain (domain, fields, compact) — Firma din spatele unui domeniu webGET /extract_contacts (website, max_pages) — Emailuri, telefoane și profiluri sociale găsite pe un siteGET /enrich_company (cui, website, max_pages, refresh) — Profilul complet al unei firmeGET /lookup_domain (domain, include_dns, include_security) — WHOIS, înregistrări DNS și un audit SPF/DMARC pentru un domeniuGET /financials/{cui} (cui) — Toate situațiile financiare anuale ale unei firme (din 2008)GET /financials/{cui}/ratios (cui) — Indicatori financiari calculați pentru o firmă: marje, solvabilitate, scor de sănătate, percentileGET /topics — Domeniile predefinite și seturile de coduri CAEN din spatele lorGET /usage — Planul tău, limita zilnică și cât ți-a rămas aziPOST /register — Emite o cheie API gratuită pentru o adresă de emailPOST /delete-data — Șterge-mi datelePOST /recover — Ai pierdut cheia? O trimitem la adresa pentru care a fost emisăPOST /rotate-key — Cheia mea a fost expusă: înlocuiește-oPOST /alerts/email — Pornește rezumatele pe email pentru firmele urmărite cu această cheie (cu confirmare)GET /alerts/email — Unde merg alertele acestei chei și dacă adresa e confirmatăDELETE /alerts/email (lang) — Oprește alertele pe email ale acestei chei sau anulează o cerere neconfirmatăGET /watches — Firmele și codurile CAEN urmărite cu cheia ta, fiecare cu ce s-a schimbat de la ultima verificarePOST /watches — Urmărește firme și/sau coduri CAEN într-un singur apelDELETE /watches (kind, target, county) — Oprește urmărirea unei firme sau a unui cod CAENPOST /watches/seen — Marchează toate schimbările ca văzuteGET /record/{cui} (cui, format, snapshot) — Fișa datată a unei firme, cu surse, de tipărit sau salvatPOST /feedback — Semnalează ce lipsește sau ce e greșit