Ro Business Data MCP - Romanian Company & Contact Lookup avatar

Ro Business Data MCP - Romanian Company & Contact Lookup

Pricing

from $10.00 / 1,000 company looked ups

Go to Apify Store
Ro Business Data MCP - Romanian Company & Contact Lookup

Ro Business Data MCP - Romanian Company & Contact Lookup

Official ONRC Romanian company registry lookup (4.2M firms): status, CAEN activities, directors, address, website — plus website contact extraction (emails, phones, socials) and WHOIS/DNS/SPF/DMARC domain audits. MCP-native.

Pricing

from $10.00 / 1,000 company looked ups

Rating

0.0

(0)

Developer

Oaida Adrian

Oaida Adrian

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

14 hours ago

Last modified

Share

Ro Business Data MCP — Romanian Company & Contact Lookup

Look up any Romanian company from the official ONRC registry (4.2M firms, monthly open-data snapshot from data.gov.ro) and enrich it with live website contacts and a WHOIS/DNS security audit. One input, three kinds of work — delivered as an Apify actor and as an MCP server for agentic use.

  • lookup_business — company name or CUI (tax ID) → decoded company status, CAEN activities, legal representatives, full address, website
  • lookup_director — director/representative name → companies they run
  • extract_contacts — crawl a website → domain-matched emails, filtered phones, clean social profiles (Facebook/Instagram/LinkedIn/X/YouTube/GitHub)
  • lookup_domain — WHOIS + DNS (A/AAAA/MX/NS/TXT/CNAME/SOA/CAA) + SPF/DMARC email-security audit

The registry data is the same official ONRC snapshot behind the popular Romanian business tools — but served as clean, structured, MCP-friendly JSON, with the heavy 3.2 GB registry kept off the actor build and queried through a thin public wrapper instead.


Why this actor exists

Romanian B2B lead generation is underserved: the official company registry is public but ships as monthly multi-hundred-MB CSV dumps with no query API, and the existing directory scrapers fight anti-bot walls for data that is already open. This actor turns the open registry into an instant API:

  • Official source — ONRC open-data snapshot (data.gov.ro), not scraped directories; status + CAEN codes are decoded through the registry's own nomenclatures
  • Diacritic-insensitivepaval finds PAVĂL, stefan finds ȘTEFAN
  • Lead-ready output — company profile + domain-matched emails + filtered phones + social profiles + SPF/DMARC posture in one row
  • MCP-native — run it as a batch actor or connect it to your agent as an MCP server (same four tools, same output shape)

How it works

┌──────────────┐ query/CUI ┌───────────────────────────┐
│ You / Agent │ ─────────────► │ Ro Business Data MCP │
│ │ ◄───────────── │ (batch dataset or MCP)
└──────────────┘ JSON result └─────────────┬─────────────┘
┌───────────────────────┼───────────────────────┐
▼ ▼ ▼
┌───────────────┐ ┌─────────────────┐ ┌─────────────┐
│ ONRC registry │ │ website crawl │ │ WHOIS/DNS │
(public │ │ (emails, phones,│ │ SPF/DMARC │
│ wrapper API) │ │ socials) │ │ audit │
└───────────────┘ └─────────────────┘ └─────────────┘

The registry snapshot (4.2M firms, 3.2 GB) is too large to bundle in an actor build (the compacted DB alone is 2.5 GB raw / 772 MB gzip), and data.gov.ro's CKAN exposes no query endpoint for these resources — so a small read-only wrapper serves the registry and the actor queries it at runtime. The wrapper is itself backed by the same official ONRC snapshot the homelab Leadgen MCP uses, refreshed monthly. Contact extraction and domain audits are stateless and run entirely inside the actor.

Input

FieldTypeDefaultDescription
querystringCompany name or CUI (tax ID) to look up
directorstringDirector / legal representative name to search
websitestringWebsite to crawl for contacts (e.g. example.com)
domainstringDomain to WHOIS/DNS/SPF/DMARC audit
maxResultsint10Max companies per registry lookup (1–100)
maxPagesint5Max pages crawled during contact extraction (1–20)
includeDomainLookupbooltrueAuto-audit each company's website domain
mcpModeboolfalseRun as MCP server instead of batch

You can run any combination: just query, query + enrichment, director, website alone, or domain alone. With empty input the actor runs a demo lookup for DIGI ROMANIA.

Example outputs

lookup_business — "DIGI ROMANIA"

{
"companyName": "DIGI ROMANIA S.A.",
"cui": "21023106",
"registrationCode": "J40/10448/2007",
"registrationDate": "09/07/2007",
"legalForm": "SA",
"address": "Bucureşti Sectorul 1, Bucureşti, FRANTUZEI, 75, 1",
"county": "Bucureşti",
"city": "Bucureşti Sectorul 1",
"website": "www.digi.ro",
"caenActivities": [
{"code": "6110", "activity": "Activități de telecomunicații prin rețele cu cablu"},
{"code": "6120", "activity": "Activități de telecomunicații prin rețele fără cablu"}
],
"directors": ["Serghei Bulgac", "Valentin Popescu"],
"status": [{"code": "5", "name": "Înregistrată"}],
"source": "onrc"
}

With includeDomainLookup: true the same row also carries domainLookup (WHOIS registrar, DNS records, SPF/DMARC) for www.digi.ro.

extract_contacts — "https://www.python.org"

{
"url": "https://www.python.org",
"domain": "python.org",
"pagesCrawled": 5,
"emails": ["info@python.org", "webmaster@python.org"],
"phones": null,
"twitter": "https://twitter.com/ThePSF",
"github": "https://github.com/python",
"youtube": "https://www.youtube.com/user/PythonVE",
"socialLinks": ["https://twitter.com/ThePSF", "https://github.com/python"]
}

lookup_domain — "example.com"

{
"domain": "example.com",
"whois": {"registrar": "RESERVED-Internet Assigned Numbers Authority", "creationDate": "1995-08-14", "expirationDate": "2031-08-13", "nameServers": ["a.iana-servers.net", "b.iana-servers.net"]},
"dns": {"A": ["93.184.215.14", "93.184.216.34"], "NS": ["a.iana-servers.net", "b.iana-servers.net"], "MX": [], "TXT": []},
"security": {"hasSPF": false, "spf": null, "hasDMARC": false, "dmarc": null},
"resolvedIP": "93.184.215.14"
}

Use cases

  • B2B lead generation — find companies by industry (CAEN), verify their legal status, and pull direct emails/phones for outreach
  • Due diligence — registration date, legal form, directors, current status, and email-security posture before signing anything
  • Sales territory mapping — search by director name to find every company a decision-maker is connected to
  • Agent workflows — expose all four lookups to a Claude/ChatGPT-style agent via MCP: "find me Romanian SaaS companies and their contact emails"

Run it from code

from apify_client import ApifyClient
client = ApifyClient("YOUR-APIFY-TOKEN")
run = client.actor("darknezz/ro-business-data-mcp").call(
run_input={"query": "DIGI ROMANIA", "includeDomainLookup": True}
)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item["companyName"], item["cui"], item["status"])
curl -s "https://api.apify.com/v2/acts/darknezz~ro-business-data-mcp/run-sync-get-dataset-items?token=YOUR-TOKEN" \
-H "Content-Type: application/json" \
-d '{"query": "eMAG", "maxResults": 5}'

MCP server mode

Set mcpMode: true and the actor boots as an MCP server exposing the four tools (lookup_business, lookup_director, extract_contacts, lookup_domain). Point your MCP client at the actor and the tools appear in your agent's toolset — the same surface the batch mode uses, with results returned as JSON strings.

Data freshness & source

  • Registry: official ONRC open-data snapshot from data.gov.ro (dataset firme-*, refreshed monthly by ONRC). The actor's wrapper serves the latest loaded snapshot.
  • Contacts: live crawl at run time — no cached emails.
  • WHOIS/DNS: live lookups at run time.

Limits & notes

  • maxResults caps registry lookups at 100 rows; maxPages caps contact crawls at 20 pages.
  • Emails are domain-matched first (the company's own domain), then split into otherEmails; junk/placeholder addresses are filtered.
  • Phone extraction rejects barcode-like runs and year ranges (e.g. 2001-2026); 8–11 digit numbers with structure (+, separators, 0) are kept.
  • Social links are anchor-tag only and filtered against a vendor denylist (tracking, CDN, SaaS badges).
  • WHOIS responses vary by TLD registrar; missing fields are null rather than fabricated.
  • The registry wrapper is a thin read-only API; if it is unreachable, batch registry rows return an explicit error item — contact and domain tools still work.

Changelog

  • 0.1 (2026-08-13) — initial build: batch + MCP modes, registry wrapper integration, contact extraction, domain audit, SEO + pricing staged (release candidate, private).