Fiecare endpoint, cu exemple pe care le puteți rula direct din pagină. Trimiteți cheia în header-ul X-API-Key. Serverul MCP acceptă cheia fie în Authorization: Bearer, fie în X-API-Key. Fără cheie aveți 5 interogări pe zi pentru fiecare adresă IP; o cheie gratuită de la /start vă dă 50; ziua se resetează la 00:00 UTC (02:00 sau 03:00, ora României). Fiecare răspuns 401, 402 sau 429 conține get_a_key. GET /usage vă arată cât v-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).
Planuri. Free: profilul companiei, starea și riscul, datele ANAF, cifrele ultimului an și liste de până la 25 de rânduri. Pro (45 RON/lună, 500 de interogări pe zi) adaugă 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 liste mai lungi; Business (145 RON/lună) are 5.000 de interogări pe zi. Vedeți toate planurile. Limite API și planuri →
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 v-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ți-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 compania din spatele unui site. Adăugați fields=companyName,cui,county,risk sau compact=true la o listă ca să primiți 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 companie trimite la ea prin url (null pentru persoane fizice autorizate și alte persoane fizice), iar o listă de companii are appUrl, aceeași listă în aplicație. Uneltele MCP cu aceleași nume se numără la fel.
Aveți o listă cu nume de companii, coduri CUI sau site-uri web (un fișier exportat din CRM, o foaie de calcul)? Nu le căutați unul câte unul: POST /match_companies corelează până la 500 de rânduri pe apel și răspunde cu un rând pentru fiecare intrare, în aceeași ordine, cu compania găsită, cât de sigură e potrivirea (confidence) și pe ce s-a bazat (matchedOn). Fiecare rând se numără ca o interogare (o cheie gratuită are 50 pe zi).
curl -X POST -H "X-API-Key: YOUR_KEY" -H "Content-Type: application/json" \
"https://leadgen.adrianhomelab.com/match_companies" \
-d '{"rows": [{"name": "Dedeman", "county": "Bacau"}, {"cui": "RO14399840"}, {"domain": "emag.ro", "ref": "crm-42"}], "compact": true}'
GET /extract_contacts?website= citește până la max_pages pagini dintr-un site (1-20, implicit 5) și găsește e-mailuri, telefoane și profiluri sociale. GET /enrich_company?cui= întoarce fișa din registru plus contactele de pe site-ul companiei, 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.
Descărcați workflow-ul n8n (îl importaț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 dumneavoastră în header-ul X-API-Key (credențial Header Auth), și scrie lista înapoi cu CUI-ul, starea, riscul, telefonul, mărimea fiecărei companii ș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 companii, 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 → încărcați arhiva zip. Claude Code: dezarhivați-o în ~/.claude/skills/. Merge împreună cu serverul MCP de mai sus.
curl -H "X-API-Key: lg_your_key" "https://leadgen-api.adrianhomelab.com/lookup_business?query=DEDEMAN&max_results=3"
import requests # pip install requests
r = requests.get(
"https://leadgen-api.adrianhomelab.com/lookup_business",
params={"query": "DEDEMAN", "max_results": 3},
headers={"X-API-Key": "lg_your_key"},
timeout=30,
)
r.raise_for_status()
for company in r.json()["results"]:
print(company["cui"], company["companyName"])// Node 18+ (built-in fetch), run as an ES module (.mjs)
const r = await fetch("https://leadgen-api.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);Rulați o dată într-un terminal (adăugați --scope user ca să-l aveți î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 împărțiți-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. Numiți-l Leadgen, lipiți URL-ul de mai jos, alegeți No sign in; cu o cheie, adăugați 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 instalați-l cu Smithery:
https://leadgen-mcp.adrianhomelab.com/mcp
npx @smithery/cli install @oaida-adrian-3qb2/leadgen-mcp
Dacă nu aveți o cheie, omiteți antetul: 30 de căutări pe zi pentru fiecare adresă IP, împărțite între toți utilizatorii din spatele acesteia (o rețea de birou sau de acasă se ia în calcul o singură dată). Cu o cheie gratuită de la leadgen-api.adrianhomelab.com/start (50 de interogări/zi în loc de 30), înlocuiți lg_your_key cu cheia dumneavoastră. Serverul MCP acceptă cheia fie în Authorization: Bearer, fie în X-API-Key.
Pagina serverului MCP: uneltele, exemple și configurarea pas cu pas →
Datele despre companii 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șați sau livrați aceste date în produsul dumneavoastră, menționați 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 companii 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ăstrați adresa de la finalul rândului: îi spune celui care vă 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 e-mail, fiecărui deținător de cheie care a apelat endpoint-ul afectat în ultimele 30 de zile.
Folosiți 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 companii 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 e-mail un link de unică folosință către portalul abonamentuluiGET /api/withdrawals/available — Dacă funcția de retragere din contract este disponibilăGET /api/fx/eur-ron — Cursul BNR al euro în RON și data lui, pentru afișarea prețurilor și în RONGET /api/withdrawals/link (w, lang) — Contractul numit de un link de retragere primit pe e-mailPOST /api/withdrawals — Trimite o declarație de retragere din contractGET /health — Disponibilitatea serviciului, versiunea registrului ONRC servită și vechimea eiGET /lookup_business (query, max_results, county, fields, compact) — Caută o companie după nume sau CUIGET /lookup_director (name, max_results, prefix, fields, compact) — Companiile 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, registered_since, registered_until, format, lang, fields, compact) — Listă de companii 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 companiile din registruGET /find_company_by_domain (domain, fields, compact) — Compania din spatele unui domeniu webGET /extract_contacts (website, max_pages) — E-mailuri, telefoane și profiluri sociale găsite pe un siteGET /enrich_company (cui, website, max_pages, refresh) — Profilul complet al unei companiiGET /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 companii (din 2008)GET /financials/{cui}/ratios (cui) — Indicatori financiari calculați pentru o companie: marje, solvabilitate, scor de sănătate, percentileGET /company_history (cui, limit) — Dacă s-a schimbat ceva la o companie de la un snapshot la altul, și când — nu și care câmp anumeGET /check_vat (cui) — Verifică în VIES dacă un CUI e plătitor de TVA valid și dacă numele din registru se potriveșteGET /contracts/{cui} (cui, role, since, until, limit) — Contracte de achiziții publice din SEAP: câștigate de firmă sau atribuite de ea, cu autoritatea contractantă, cod CPV, valoare în RON și rezumat pe aniGET /topics — Domeniile predefinite și seturile de coduri CAEN din spatele lorGET /usage — Planul dumneavoastră, limita zilnică și cât v-a rămas aziPOST /register — Emite o cheie API gratuită pentru o adresă de e-mailPOST /alerts/email — Pornește rezumatele pe e-mail pentru companiile 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 e-mail ale acestei chei sau anulează o cerere neconfirmatăGET /watches — Companiile și codurile CAEN urmărite cu cheia dumneavoastră, fiecare cu ce s-a schimbat de la ultima verificarePOST /watches — Urmărește companii și/sau coduri CAEN într-un singur apelDELETE /watches (kind, target, county) — Oprește urmărirea unei companii sau a unui cod CAENPOST /watches/seen — Marchează toate schimbările ca văzuteGET /record/{cui} (cui, format, snapshot) — Fișa datată a unei companii, cu surse, de tipărit sau salvatPOST /feedback — Semnalează ce lipsește sau ce e greșitDa. Leadgen are un API JSON gratuit, doar pentru citire, peste registrul oficial ONRC, construit din setul de date deschise de pe data.gov.ro. Aveți 5 interogări pe zi fără cheie în API și 30 de pe serverul MCP, plus 50 pe zi cu o cheie gratuită emisă pentru o adresă de e-mail.
Apelați GET /lookup_business?query=<CUI sau nume>. O interogare numai din cifre se potrivește pe CUI (codul fiscal); una cu text e căutare full-text insensibilă la diacritice, deci 'paval' găsește 'PAVĂL'. Răspunsul conține numărul de înregistrare, forma juridică, adresa, codurile CAEN, administratorii și starea.
Căutați firma după cod fiscal (CUI) sau nume cu GET /lookup_business. Apoi cereți sănătatea financiară la /financials/CUI/ratios: 18 ani de bilanțuri, marje, solvabilitate, un scor 0-100 cu componentele lui, semnale de alarmă și percentile față de firmele similare. Confirmați numărul de TVA în registrul european cu check_vat, listați celelalte firme pe care le conduc administratorii cu lookup_director și citiți contractele publice câștigate cu company_contracts. Patru apeluri, o cheie, fără PDF.
Da. GET /lookup_by_category?category=6201&county=Cluj întoarce companiile cu acel cod CAEN — un cod, o listă separată prin virgulă sau un domeniu predefinit ca 'software' — cele mai noi înregistrări primele, cu filtre pentru forma juridică, starea activă, site, cifră de afaceri, angajați, plătitori de TVA, data înregistrării și activitatea principală; adăugați format=csv pentru o foaie de calcul.
Da: 18 ani fiscali, din 2008 până în 2025, din depunerile la Ministerul Finanțelor. GET /financials/<CUI> (sau unealta MCP lookup_financials) întoarce cifra de afaceri, profitul, angajații și liniile de bilanț pentru fiecare an, cu indicatori și creștere; /financials/<CUI>/ratios adaugă un scor de sănătate 0–100 cu componentele lui și percentile față de companiile similare din aceeași activitate și județ.
Da. Adăugați https://leadgen-mcp.adrianhomelab.com/mcp ca server Streamable HTTP, cu o singură comandă prin Smithery sau cu o intrare JSON în configurația clientului. Aceleași date; fără cheie, serverul MCP vă dă 30 de interogări pe zi, iar cu cheie limitele sunt aceleași și cheia merge în header-ul Authorization.
Telefon, adesea: fiecare rezultat conține telefonul declarat de companie la ANAF, dacă l-a declarat. Adresele de e-mail nu există în niciun registru oficial; pentru companiile cu site înregistrat (has_website=true), uneltele MCP enrich_company și extract_contacts citesc site-ul companiei pentru contactele publicate acolo.
Fără cheie, 5 interogări pe zi pentru fiecare adresă IP în API și 30 pe serverul MCP; 50 pe zi cu o cheie gratuită, resetate la 00:00 UTC (ora 02:00 sau 03:00 în România). Pentru volum sau o limită zilnică mai mare scrieți la contact@adrianhomelab.com; nivelul gratuit nu e făcut pentru republicarea setului de date.