EU Company Verification (KYB): VIES VAT, LEI, SIREN
Pricing
from $5.00 / 1,000 company checks
EU Company Verification (KYB): VIES VAT, LEI, SIREN
KYB (know your business) company verification for Europe: VAT validation in live VIES, LEI lookup (GLEIF), SIREN/SIRET and org numbers checked in official business registries (France, Norway, Finland, Czechia), plus BODACC insolvency. One verdict per company with reasons. MCP-ready.
Pricing
from $5.00 / 1,000 company checks
Rating
0.0
(0)
Developer
Ostrata
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Verify a European company in one call. Give it a company name, a national registration number, an EU VAT number or an LEI. You get back one clean record with a verdict (verified / review / inactive / not_found) and the reasons behind it. The record combines:
Also known as: KYB API, company verification API, business verification, VAT number checker / VIES VAT validation, LEI lookup (GLEIF), SIREN check, company registry lookup, know-your-business (KYB) checks for supplier onboarding. 🇫🇷 vérification d'entreprise, numéro de TVA intracommunautaire, contrôle SIREN · 🇩🇪 Firmenprüfung, USt-IdNr. prüfen.
- the official business register (France 🇫🇷, Norway 🇳🇴, Finland 🇫🇮, Czechia 🇨🇿), with legal name, status, legal form, address, activity code, creation and cessation dates;
- a live EU VAT check in VIES (all 27 EU countries + Northern Ireland), with the VAT number derived automatically from the registration number where possible;
- the LEI from GLEIF (worldwide, CC0);
- insolvency / liquidation signals (France: BODACC collective proceedings; Finland: PRH bankruptcy/restructuring/liquidation situations; Czechia: ARES insolvency register flag).
Every result cites its sources and their licences. Only official, free, open public-sector APIs are used: no scraping, no logins, no third-party data brokers.
Use cases: supplier and customer onboarding (KYB), B2B checkout VAT checks, invoice and reverse-charge compliance, CRM and ERP data cleaning, lead qualification, and fraud checks ("does this company really exist and is it still active?"). It also works as a tool for AI agents (see Use it from AI agents (MCP)).
Why this Actor
| This Actor | Typical single-source Actor | |
|---|---|---|
| Registry + VAT + LEI + insolvency in one row | ✅ | ❌ one source per Actor |
| Clear verdict + machine-readable reasons | ✅ | ❌ raw data only |
| Accepts names, IDs, VAT numbers and LEIs mixed in one list | ✅ | ❌ |
| Checksum validation (SIREN/SIRET, org.nr, Y-tunnus, IČO, LEI) before any call | ✅ | rarely |
| Pay only for companies found: not-found and invalid inputs are free | ✅ | usually billed per row |
| Sole proprietors (natural persons) excluded from name searches by default | ✅ | ❌ |
Input
Paste one query per line in Companies. Each line can be:
| Example | Interpreted as |
|---|---|
Doctolib | company name, searched in the default country register |
NO: Equinor | company name in Norway (prefix CC: picks the country) |
552 120 222 / 55212022200013 | French SIREN / SIRET |
FI: 0112038-9, NO: 923609016, CZ: 27082440 | Finnish Y-tunnus, Norwegian org.nr, Czech IČO |
FR40303265045, DE811569869, IE6388047V | EU VAT number (any EU country + XI) |
969500BPSLCSC039UV67 | LEI |
ES: Inditex | name in a country without a register adapter → searched in GLEIF |
{"companies": ["Doctolib", "FR40303265045", "NO: Equinor", "FI: 0112038-9", "CZ27082440"],"defaultCountry": "FR","maxCandidatesPerQuery": 1,"checkVat": true,"checkLei": true,"checkInsolvency": true,"excludeSoleProprietors": true,"minNameScore": "0.5"}
Options: maxCandidatesPerQuery (1–25, for name searches), minNameScore (0–1), includeRaw (attach the untouched source responses), concurrency (1–10). Up to 5,000 queries per run.
Output
One dataset row per company (or per candidate for name searches with maxCandidatesPerQuery > 1). The Overview table view shows the flat fields. Each row also carries nested company, vat, leiRecord, insolvency and sources objects.
| Field | Meaning |
|---|---|
verdict | verified, review, inactive, not_found, invalid_input or error |
reasons | why, e.g. registry_status_active, vat_valid_in_vies, lei_issued, name_match_1, weak_name_match_0.62, vat_number_not_valid_in_vies, insolvency_or_liquidation_flag, registry_status_ceased |
warnings | non-blocking notes (e.g. VIES temporarily unavailable, Norway not in VIES) |
legalName, country, registrationNumber, registrationNumberType | identity |
registryStatus | active, ceased or unknown |
vatNumber, vatValid | VAT number and live VIES result (null = could not be checked) |
lei, insolvencyFlag, matchScore, inputIndex, checkedAt |
Verdict logic. inactive means the register says the company has ceased. review means something needs a human: VAT invalid, an insolvency/liquidation notice in the last 3 years, a name match below 0.85, a lapsed LEI, or a status that could not be confirmed. verified means the company is active in the register (or has a valid VAT number in VIES where no register is covered), with no red flag.
Sample output (real local runs, 18 Oct 2026)
| Query | Verdict | Legal name | Reg. no. | VAT (VIES) | LEI | Notes |
|---|---|---|---|---|---|---|
Doctolib | verified | DOCTOLIB | 794598813 | FR14794598813 ✅ | 969500BPSLCSC039UV67 | name match 1.0 |
FR40303265045 | verified | SODIMAS | 303265045 | ✅ | 969500GZTMR1IRVURM23 | |
552 120 222 | verified | SOCIETE GENERALE | 552120222 | FR27552120222 ✅ | O2RNE8IBXP4R0TD8PU41 | |
440471100 | inactive | LB | 440471100 | FR63440471100 ❌ | – | ceased + BODACC liquidation |
Blablacar | verified | COMUTO | 491904546 | FR76491904546 ✅ | 969500XQAR03ZTKPUC93 | brand → legal entity |
NO: Equinor | verified | EQUINOR ASA | 923609016 | n/a (not in VIES) | OW6OFBNCKXC4US5C7523 | |
FI: Nokia | verified | Nokia Oyj | 0112038-9 | FI01120389 ✅ | 549300A0JPRWG1KI7U06 | |
CZ: Alza | verified | Alza.cz a.s. | 27082440 | CZ27082440 ✅ | 315700MJRNJSVB95U852 | |
IE6388047V | verified | GOOGLE IRELAND LIMITED | – | ✅ | YYPPRNO5HB304LHFVG31 | VIES + GLEIF |
DE: Siemens Aktiengesellschaft | verified | Siemens Aktiengesellschaft | HRB 6684 | – | W38RGI023J3WT1HWRP32 | via GLEIF |
ES: Inditex | review | INDUSTRIA DE DISEÑO TEXTIL, S.A. (INDITEX, S.A.) | – | – | 9598004YCFER8AFHFN23 | GLEIF status unconfirmed |
NO: 123456789 | invalid_input (free) | bad checksum | ||||
zzqx nonexistent company 4821 | not_found (free) |
One full row (CZ27082440), shortened:
{"query": "CZ27082440", "queryType": "vat", "verdict": "verified","reasons": ["registry_status_active", "vat_valid_in_vies", "lei_issued"],"legalName": "Alza.cz a.s.", "country": "CZ", "registrationNumber": "27082440", "registrationNumberType": "ICO","registryStatus": "active", "vatNumber": "CZ27082440", "vatValid": true, "lei": "315700MJRNJSVB95U852", "insolvencyFlag": false,"company": { "legalForm": "Akciová společnost (a.s.)", "registrationDate": "2003-08-26","address": { "line": "Jankovcova 1522/53, Holešovice, 17000 Praha 7", "city": "Praha", "country": "CZ" },"activity": { "code": "532", "scheme": "CZ-NACE" }, "isSoleProprietor": false, "registryVatRegistered": true },"vat": { "valid": true, "name": "Alza.cz a.s.", "address": "Jankovcova 1522/53, PRAHA 7 - HOLEŠOVICE, 170 00 PRAHA 7" },"leiRecord": { "entityStatus": "ACTIVE", "registrationStatus": "ISSUED", "corroborationLevel": "FULLY_CORROBORATED" },"insolvency": { "flag": false, "details": [] },"sources": [ { "name": "ARES …" }, { "name": "VIES …" }, { "name": "GLEIF LEI API", "license": "CC0 1.0" } ]}
Timing in those runs: about 1.5 s per company with all checks on. France takes longer when VIES is busy, because the Actor retries automatically.
Pricing (pay per event)
- $0.005 per company check delivered ($5 per 1,000), charged only for rows with verdict
verified,revieworinactive. not_found,invalid_inputanderrorrows are free.- No subscription. Apify platform usage is included. Set a maximum cost per run in the run options: the Actor stops cleanly when that budget is reached.
Use it from AI agents (MCP)
Every public Apify Actor is automatically available as a tool on the Apify MCP server (https://mcp.apify.com). Add the Actor in Claude Desktop, Cursor, VS Code or any MCP client:
{ "mcpServers": { "apify": { "url": "https://mcp.apify.com?tools=ostrata/eu-company-check" } } }
Then ask: "Check whether FR40303265045 and NO: Equinor are active companies with valid VAT numbers." The input is a plain list of strings and the output carries a verdict and reasons, so agents can act on it directly. You can also call it over the Apify API (run-sync-get-dataset-items) or with the apify-client libraries. (Replace ostrata with the publishing account's username if different.)
Data sources & licences
| Source | Coverage | Licence |
|---|---|---|
| API Recherche d'entreprises (INSEE Sirene + RNE, DINUM) | FR register | Licence Ouverte 2.0 |
| BODACC via DILA open data | FR collective proceedings | Licence Ouverte 2.0 |
| Brønnøysundregistrene – Enhetsregisteret | NO register | NLOD 2.0 |
| PRH – YTJ open data API v3 | FI register | CC BY 4.0 |
| ARES (Ministry of Finance CZ) | CZ register | public open data |
| VIES (European Commission) | EU VAT validity | public EU service |
| GLEIF API | LEI worldwide, name search elsewhere | CC0 1.0 |
The Actor respects each API's published rate limits, using per-host throttling, Retry-After handling and exponential backoff.
Limitations
- Register adapters exist for FR, NO, FI and CZ. In other countries, names are looked up in GLEIF, so this covers only companies that have an LEI, and VAT numbers are checked in VIES. UK, DE, NL and others are planned.
- Some countries (e.g. Germany, Spain) never return the name or address in VIES. You then get
vatValidbutlegalName: null. - VIES is sometimes unavailable for a member state. The Actor retries and, if it still fails, returns
vatValid: nullwith a warning instead of a false negative. - Finnish register status codes are not formally documented. The mapping used (1 = registered, 4 = ceased) is based on observed data.
- Results reflect the sources at query time. This is a data tool, not legal advice.
Privacy
The Actor queries company registers only. By default it excludes sole proprietors (natural persons) from name searches. It does not return directors, shareholders or any personal contact data. Your input list is processed in your own Apify run and is not stored by the author.
Related Actors
- Website to Company (Impressum & Mentions Légales): find the legal entity behind a website (SIREN/VAT from the legal notice) and verify it.
- France Company List (SIRENE): build lists of French companies by NAF code, area, headcount and revenue from the official register.
- Greenhouse, Lever & Ashby Jobs API: normalized job postings from Greenhouse, Lever, Ashby, Workable, SmartRecruiters and Recruitee boards, with only-new-jobs mode.
- AI Brand Visibility Tracker: check whether ChatGPT, Perplexity and Gemini mention and cite your brand, with position, competitors and share of voice (your own API keys).
🇫🇷 En bref
Vérifiez une entreprise européenne en un appel : nom, SIREN/SIRET, numéro de TVA intracommunautaire ou LEI → une fiche unique avec un verdict (verified / review / inactive / not_found). La fiche combine le registre officiel (France via l'API Recherche d'entreprises, Norvège, Finlande, Tchéquie), le contrôle TVA en direct dans VIES (avec calcul automatique de la TVA depuis le SIREN), le LEI GLEIF et les procédures collectives BODACC.
0,005 $ par entreprise trouvée. Les recherches sans résultat et les saisies invalides sont gratuites. Uniquement des sources publiques officielles (Licence Ouverte 2.0, NLOD, CC BY, CC0), sans scraping. Les entrepreneurs individuels sont exclus des recherches par nom par défaut. Utilisable comme outil MCP par les agents IA via mcp.apify.com.
Publié par Sublime Traders SAS (Ostrata), France.