Company Enrichment by Domain (Official Registers) avatar

Company Enrichment by Domain (Official Registers)

Pricing

from $25.00 / 1,000 company enricheds

Go to Apify Store
Company Enrichment by Domain (Official Registers)

Company Enrichment by Domain (Official Registers)

Enrich company domains with source-backed business data and verify the legal entity against official registers: company number, status, industry, size, officers, VAT, LEI and parent company, plus DNS and tech stack. Every fact names its source; unclear matches stay unmatched.

Pricing

from $25.00 / 1,000 company enricheds

Rating

0.0

(0)

Developer

Benjamin Zsigri

Benjamin Zsigri

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

Domain in. Verified company record out.

Turn company domains into structured B2B data, with official-register verification where a confident match is available.

  • Input: domains, a CRM export or an Apify dataset
  • Output: legal entity, register status, industry, size, officers, VAT/LEI, parent company, contacts, DNS and tech stack
  • The difference: every fact carries its source, and uncertain matches stay uncertain instead of being guessed.

What a row contains depends on the evidence. Register fields are filled only when an official register, the LEI index or a VIES-checked VAT number confirms the company, and size, revenue and officers only where that register publishes them. A domain without a confident match still gets its website, DNS and technology profile, with registry_verified: false.

Price: $0.025 per enriched domain, plus $0.010 when the company is matched in a register: 1,000 domains cost between $25 and $35. Websites that cannot be read are free.

What makes the rows trustworthy

  • The website tells us who the company is, the register tells us the facts. The crawler reads the legal notice first (Impressum, mentions légales, company information, site info) and takes the company number, VAT number and legal name the company publishes about itself. That evidence is looked up in the national register.
  • No guessed numbers. Headcount and revenue only appear when a register publishes them (for example the INSEE headcount band and the filed accounts in France, the statistical register in the Czech Republic). Nothing is estimated from LinkedIn or from the size of the website.
  • A name alone is never enough. A register hit found by name is accepted only when the register address (postcode and town) also appears on the company's website and exactly one candidate fits. Otherwise the row stays unmatched.
  • Confidence on every match. registry_match_confidence is high when an identifier from the company's own website led to the record and the record agrees with the site, and medium when name and address agreed.
  • Every value names its source. legal_name_source, address_source, employees_source, registry_matched_by and data_sources say where each fact came from, and registry_lookup traces every register query.
  • Officers with name and role only. Dates of birth, private addresses and personal ID numbers that some registers publish are never copied (see Personal data below).

Quick start

  1. Paste your domains into Domains or websites, one per line, or set Import domains from a dataset to a dataset ID (a CRM export or a Google Maps Scraper run).
  2. Optional: add your free Companies House API key so UK companies are read through the official REST API instead of the public service pages.
  3. Start the run. Each domain becomes one row; the Register data view lines up the register fields, and the switches under Sources turn off what you do not need.

Typical uses

  • Fill CRM company records with firmographic data (legal name, company number, industry, size, address) from a domain list.
  • Qualify inbound leads and B2B sign-ups by register status, age, size and parent company.
  • Segment accounts by email provider, security gateway, DMARC policy, CMS and ecommerce platform.
  • Run KYB pre-checks: does the company exist, is it active, is its VAT number valid, who are its officers.

Coverage

CountrySourceFound byOfficersSize and financials
FranceRecherche d'entreprises (INSEE Sirene, RNE)SIREN, SIRET or VAT on the website; or name and addressYes (natural persons)INSEE headcount band; revenue and net income when filed publicly
United KingdomCompanies House (public service pages, or the REST API with your key)Company number on the website; or name and addressActive directors and secretariesNot published
Czech RepublicARES (core record, statistical register, commercial register)IČO or DIČ on the website; or name and addressCurrent statutory bodyCZSO headcount band
FinlandYTJ open data (PRH)Y-tunnus or VAT on the website; or name and addressNot in the open dataNot in the open data
PolandKRS extract and the Ministry of Finance VAT listKRS, NIP or REGON on the websiteNot available (masked in the extract)Not available
SwitzerlandUID register (Federal Statistical Office)UID (CHE number) on the website; or name and addressNot availableNot available
NorwayEnhetsregisteret (Brønnøysund)Organisation number on the website; or name and addressCEO and boardExact employee count
Germany, Netherlands, Belgium, Austria and othersGLEIF LEI indexCommercial register number (HRB, KvK, ...) or legal name with a matching addressNot availableNot available
All EU countriesVIES VAT checkVAT number on the website

LEI records (with direct and ultimate parent) and VIES checks work for every country. Companies outside these registers still get the website, DNS and technology part of the profile.

Output

One row per domain. The overview columns:

ColumnExample
domainlumiere-conseil.fr
legal_name, legal_formLUMIERE CONSEIL, SAS
registry_verifiedtrue
registry_id, registry_id_type, registry_status912345675, FR_SIREN, active
registry_match_confidence, registry_matched_byhigh, company_number_on_website
country, city, postal_code, streetFR, PARIS, 75002, 12 RUE DE LA PAIX
founded_year2022
industry, industry_code, industry_sectionActivities of head offices; management consultancy activities, 70.22Z, Professional, scientific and technical activities
employees_range, employees_count, employees_source10-19, null, INSEE tranche d'effectif
revenue, net_income, financial_year, currency1250000, 85000, 2024, EUR
vat_id, vat_validFR65912345675, true
lei, parent_company, ultimate_parent_companyfrom GLEIF when the company has an LEI
key_person_name, key_person_roleClaire Martin, Président
email_provider, email_security_gateway, dmarc_policyGoogle Workspace, null, reject
cms, ecommerce_platform, analytics, marketing_toolsWordPress, null, Google Analytics, null
primary_email, primary_phone, linkedinfrom the website

The full row adds the complete register record (registry), the LEI record (lei_record), the VIES answer (vat_validation), all key people with their source (key_people), the DNS footprint (email_and_dns), every detected technology with its evidence (technologies), contacts, the identifiers found on the website, a per-register lookup trace (registry_lookup) and the crawled pages. The example above is a fictional company.

Input

  • Domains or websites: acme.com, https://www.acme.com/about, either works. Duplicates are merged.
  • Dataset import: point to any dataset with a website or domain field (CRM export, Google Maps Scraper). A company name or country in the item helps the register match, and the item's identifying fields are copied to source_item. Items without a website are skipped; a Google Maps listing link is never taken for the website.
  • Switches for each source (registers, LEI, VIES, DNS, technologies, contacts), so you only wait for what you use.
  • Companies House API key (optional): with your own free key, UK lookups use the official REST API.

Where your list can come from

  • Google Maps Scraper: set datasetId to its run's dataset. This Actor never searches Google Maps itself; it works on the dataset you bring.
  • A CSV file or spreadsheet: paste the website or domain column into websites, one per line.
  • Your CRM: export the accounts and paste the website or domain column, or push the rows into an Apify dataset with the API and set datasetId to it. datasetUrlField names the column when it is not one of the usual names.
  • Make, n8n, Zapier or Clay: start the Actor through the Apify API (Apify also offers ready-made modules for some of these tools), pass websites in the input and read the run's dataset as the output.

Pricing

Pay per event: you pay for results, not for compute time.

EventPriceCharged
company-enriched$0.025once per domain whose website answered
registry-match$0.010once per domain identified in an official register, in the LEI index, or by a VIES-confirmed VAT number whose registered name matches the website
  • 1,000 enriched domains: $25
  • 1,000 enriched and register-verified domains: $35
  • A real list lands between the two, because only the matched domains add the $0.010.

Domains whose website cannot be read (blocked by robots.txt, offline, not a company website) produce a free row with the reason. When your maximum cost per run is reached, the run stops cleanly; register data that could not be paid for is left out of the row and marked registry_limited_by_cost_limit. The Pricing tab always shows the current prices.

Access rules

  • Every website and every register API is read under its own robots.txt. If a robots.txt cannot be read, that site or register is skipped for the run, not worked around. Login pages, CAPTCHAs and other access controls are never bypassed.
  • Each register is queried below its published rate limit. A register that keeps failing is switched off for the rest of the run, so one provider's outage never stops the run.
  • Emails hidden by Cloudflare protection are flagged, not decoded.

Personal data

Officers come from public registers with name and role only. Dates of birth, private and correspondence addresses, personal ID numbers and bank account lists that some registers publish are never copied. Website contacts are limited to what the company publishes about itself. You are responsible for having a lawful basis (for example legitimate interest in B2B prospecting) and for honouring objections when you process the people in these rows.

Known limits

  • Websites that render their content only with JavaScript expose few links to the crawler; their register match depends on the legal notice being reachable as plain HTML.
  • Some companies publish their legal notice on a separate domain (for example a .legal domain); such pages are not followed.
  • Norway: at the time of writing, the register API's robots.txt could not be read from our crawler, so Norwegian register lookups are skipped while that lasts. LEI and website data still work.
  • Germany has no free register API; German companies are verified through their LEI when the Impressum shows the HRB number, and through VIES, which confirms the VAT number but does not disclose the name.
  • Poland's free VAT list allows few lookups per day; the Actor caps its use per run and prefers a KRS number found on the website.

Feedback

Found a domain where the match or a value is wrong? Open an issue on the Issues tab with the domain. Real examples are the fastest way to improve the matching.

Need it done for you?

Want this connected to your CRM or workflow, or adapted to your market? Tribloc, the team behind this Actor, builds these setups. Get in touch at tribloc.co.uk.