VIES VAT Checker & EU Company Registry Lookup avatar

VIES VAT Checker & EU Company Registry Lookup

Pricing

from $2.80 / 1,000 company results

Go to Apify Store
VIES VAT Checker & EU Company Registry Lookup

VIES VAT Checker & EU Company Registry Lookup

Bulk-check EU VAT numbers in VIES and search official company registries in France (SIRENE), Norway (Brreg), Finland (PRH YTJ) and Estonia. Adds LEI codes from GLEIF. No API key. One normalized schema for KYB, due diligence and B2B lead enrichment.

Pricing

from $2.80 / 1,000 company results

Rating

0.0

(0)

Developer

Rod Services

Rod Services

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

19 days ago

Last modified

Categories

Share

Bulk-check EU VAT numbers in VIES and search official company registries in France (SIRENE), Norway (Brreg), Finland (PRH YTJ) and Estonia. No API key, no login: $0.50 per 1,000 VAT checks and $4 per 1,000 company records, with LEI codes from GLEIF.

Sources are official, keyless open-data APIs:

What you get

  • VAT number validation in bulk. Check EU VAT numbers from any member state in VIES. Get vatValid, the registered trader name and address. Norwegian MVA numbers are checked in the Brønnøysund VAT register.
  • Company registry search and lookup. Search by company name or look up by registry ID: SIREN or SIRET (FR), organisasjonsnummer (NO), Y-tunnus (FI), registrikood (EE).
  • KYB and supplier due diligence. Status (active, ceased, bankrupt, in liquidation), legal form, registration date, address, LEI and LEI status, with a link to the official source page.
  • B2B lead enrichment. NACE industry code and label, employee range, website where the registry has it.
  • One normalized schema instead of six APIs. No need to learn SIRENE codes, Brreg HAL responses, Finnish code sets or VIES error formats.
  • GDPR-aware defaults. Sole traders and other natural persons are excluded unless you turn the filter off.

Quick start

  1. Click Try for free. The prefilled input searches "Nokia" in all four registers, validates the VAT numbers and adds LEI codes. It returns 8 companies in about 15 seconds.
  2. Put company names or registry IDs in queries, or VAT numbers in vatNumbers.
  3. Leave Mode on Auto. The Actor picks the job from your input: VAT numbers only means VAT check, 20-character codes mean LEI lookup, registry IDs mean lookup, anything else is a name search.
  4. Click Start. Download results as JSON, CSV or Excel, or read them through the Apify API.

Run it on a schedule, call it from Make, Zapier or n8n, or use it as a tool for AI agents through the Apify MCP server. An agent can ask "is FR89383474814 valid and who is it?" and get one structured row back.

Input

FieldWhat it does
modeauto (default), search (by name), lookup (by registry ID), vat (VIES), lei (GLEIF)
countriesFR, NO, FI, EE. Used by search and lookup. All four when left out
queriesCompany names, registry IDs (383474814, 923609016, 0112038-9, 12417834, or NO:923609016) or LEIs
vatNumbersVAT numbers with prefix, e.g. FR89383474814, EE101335276, NO923609016MVA, DE123456789
maxItemsPerQueryMax companies per query and country (1 to 500)
industryCodesKeep only companies whose main NACE code starts with these codes, e.g. 62, 62.01, 47.64 (FR, NO, FI)
includeViesValidate each company's VAT number in VIES (default on)
includeLeiFind the LEI in GLEIF by registry ID
estoniaBulkEnrichmentAdd Estonian VAT number and registration date from the daily open-data file
excludeNaturalPersonsSkip sole traders (default on)
onlyActiveSkip ceased, deleted, bankrupt or liquidating companies
includeRawKeep the original source record in raw (default off)

Bulk VAT check. Mode is detected from the input:

{
"vatNumbers": ["FR89383474814", "EE101335276", "NO923609016MVA", "IT00743110157"]
}

Active IT companies named "consulting" in France, Norway and Finland:

{
"mode": "search",
"countries": ["FR", "NO", "FI"],
"queries": ["consulting"],
"industryCodes": ["62"],
"onlyActive": true,
"maxItemsPerQuery": 20
}

Look up known registry IDs:

{
"queries": ["383474814", "923609016", "0112038-9", "12417834"]
}

Output

Each dataset item is one company. Example (raw omitted, attribution shortened):

{
"country": "FR",
"registryId": "383474814",
"name": "AIRBUS",
"legalForm": "SAS, société par actions simplifiée",
"legalFormCode": "5710",
"status": "active",
"statusDetail": "Active",
"registrationDate": "1991-10-18",
"address": {
"street": "2 ROND-POINT DEWOITINE",
"postalCode": "31700",
"city": "BLAGNAC",
"country": "FR",
"full": "2 ROND-POINT DEWOITINE 31700 BLAGNAC"
},
"industryCode": "30.30Z",
"industryLabel": "Manufacture of air and spacecraft and related machinery",
"industryClassification": "NAF rev. 2 (label: NACE Rev. 2)",
"employeesRange": "10000+",
"vatNumber": "FR89383474814",
"vatValid": true,
"vatCheckSource": "VIES",
"vatName": "SAS AIRBUS",
"vatAddress": "2 RPT EMILE DEWOITINE, 31700 BLAGNAC",
"lei": "529900FCMZ4LKXFD0R69",
"leiStatus": "ISSUED",
"website": null,
"isNaturalPerson": false,
"source": "FR_SIRENE",
"sourceUrl": "https://annuaire-entreprises.data.gouv.fr/entreprise/383474814",
"licence": "Licence Ouverte / Open Licence 2.0 (Etalab)",
"attribution": "France: INSEE SIRENE and RNE via API Recherche d'entreprises ... VAT check: VIES, European Commission ... LEI: GLEIF, CC0 1.0 ...",
"fetchedAt": "2026-09-27T10:53:51.616Z",
"raw": null
}

You can download the dataset in various formats such as JSON, HTML, CSV, or Excel. The Output tab has four views: Overview, KYB and VAT check, B2B lead enrichment, and Sources and licences. A SUMMARY record in the key-value store lists counts, skipped natural persons, IDs not found and errors.

Data fields

FieldDescription
country, registryIdCountry and national ID: SIREN (FR), organisasjonsnummer (NO), Y-tunnus (FI), registrikood (EE)
name, legalForm, legalFormCodeRegistered name and legal form
status, statusDetailactive or inactive, plus the source's wording (ceased, bankrupt, in liquidation)
registrationDateCreation or first registration date
addressstreet, postalCode, city, country, full
industryCode, industryLabelNAF (FR), SN (NO), TOL (FI) in NACE format, with label. Estonia: not available
employeesRange, employeesCountINSEE headcount band (FR) or exact count (NO)
vatNumber, vatValid, vatName, vatAddress, vatErrorVAT number and VIES answer
lei, leiStatusGLEIF Legal Entity Identifier
websiteWhen the registry API has it (NO, FI)
isNaturalPersonTrue for sole traders
source, sourceUrl, licence, attributionWhere the data comes from and the licence text you must keep
rawOriginal source record

Pricing

Pay per event. Apify paid plans get a discount automatically.

EventFree planBronzeSilverGold
Company record, per 1,000$4.00$3.60$3.20$2.80
VIES VAT check, per 1,000$0.50$0.45$0.40$0.35
Run start$0.001$0.001$0.001$0.001

In VAT mode, a number with no linked registry record (for example DE, IT, NL, ES) is charged only the VIES check. French, Finnish, Norwegian and Estonian numbers that match a registry record also return the full company record: one record plus one check. Not charged: numbers with a wrong format, failed VIES checks such as a member state being offline (saved with vatError), unknown IDs, duplicates and help rows. Set Maximum cost per run to cap spend. The Actor stops before it would go over the cap, also when many lookups run in parallel.

Examples on the Free plan: a KYB check of 200 suppliers with VAT validation costs about $0.90. Validating 10,000 German or Italian VAT numbers costs about $5. Compute is included.

Tips and advanced options

  • Look up by ID when you have it. Lookup mode is exact and faster than name search. Prefix IDs with the country (FI:0112038-9) to skip format guessing.
  • SIRET works too. A 14-digit French SIRET is reduced to its SIREN.
  • Industry filter. industryCodes matches the start of the main activity code, so 62 keeps all IT services and 62.01 only programming. Norway is filtered on the server. France and Finland are filtered after the name search, so a rare industry may return fewer results than maxItemsPerQuery. Estonian results have no industry code and are skipped when the filter is set. French codes from before 2008 (older NAF) have no label.
  • Norwegian names common among sole traders (for example "Hansen") can return fewer results than maxItemsPerQuery. Brreg cannot filter ENK on the server, so the Actor scans up to 30 pages and skips them.
  • Bad VAT numbers do not stop the run. Numbers with the wrong length or pattern for their country are skipped and listed in SUMMARY.invalidInput.
  • VAT mode links registries. French, Finnish and Norwegian VAT numbers are matched to their registry record automatically. Turn on the Estonian open-data file to match Estonian VAT numbers.
  • LEI lookups are rate limited to one per second by GLEIF. Leave includeLei off for large batches unless you need it.
  • Estonia returns at most 10 companies per name query because the public autocomplete is capped. Use more specific names.
  • Finnish name search is loose on the PRH side. The Actor runs a whole-word query first and ranks results by name match.
  • Speed. Each host has its own rate limiter (France 5/s, Norway 5/s, Finland 2/s, Estonia 2/s, VIES 2/s, GLEIF 1/s). VIES answers take 5 to 7 seconds, so VAT checks run in parallel.

FAQ

Is this legal? Yes. All sources are official open data published for reuse: Licence Ouverte 2.0 (France), NLOD 2.0 (Norway), CC BY 4.0 (Finland, Estonia, VIES content) and CC0 (GLEIF). Each item carries the required attribution. Keep it when you republish the data.

What about GDPR? Registries include sole traders whose business address is often a home address. The Actor skips natural persons by default (French entrepreneurs individuels and non-diffusible records, Norwegian ENK, Estonian FIE, GLEIF sole proprietors). In VAT mode a sole trader's number is still validated, but name and address are withheld. French records without any legal form (stubs that often carry a person's name) are treated the same way. French executives who are natural persons are removed from raw records, and phone and e-mail fields are removed from Norwegian raw records. If you switch the filter off, you are responsible for having a lawful basis.

Why is vatValid null? VIES answers only when the member state's service is up. Check vatError (for example MS_UNAVAILABLE) and try again later.

Why no Estonian VAT number? The public Estonian autocomplete has no VAT field. Turn on estoniaBulkEnrichment to add it from the official daily file.

Why no Estonian industry code or website? The public autocomplete and the daily basic-data file do not include them. The e-Business Register web page shows them, but this Actor uses open-data APIs only.

What happens if my input is invalid? The run still ends SUCCEEDED and you pay only the small start fee. No company or VIES check is charged. The dataset gets one help row, and the run status message says the same:

{
"error": true,
"errorCode": "EMPTY_INPUT",
"message": "No company name or registry ID in \"queries\".",
"howToFix": "Add at least one company name or registry ID to \"queries\" ..."
}

Codes: EMPTY_INPUT (nothing to search), INVALID_INPUT (an unsupported country, NACE code, LEI or VAT format, or a value out of range) and NO_RESULTS (the registries answered but nothing matched). If every registry call fails because a source is down, the run fails instead, so you can tell an outage from an input problem.

Do I need an API key? No. Every source is a public open-data API.

Which countries are next? Tell us in the Issues tab.

Found a bug or a missing field? Open an issue on the Issues tab and we will fix it quickly.

More tools from the same developer, built with the same pricing and output style.

ActorWhat it does
Website Content Crawler to Markdown for RAG & LLMsCrawl whole websites into clean Markdown, RAG chunks and llms.txt
PDF to Markdown & Text Extractor with OCRPDF, Word, Excel and PowerPoint files to Markdown and text, with OCR
SEO Audit Tool: Site Crawler, Broken Links & ScoreCrawl a site and find broken links and on-page SEO issues
PageSpeed Insights & Lighthouse Bulk CheckerLighthouse scores and Core Web Vitals for many URLs at once
Tech Stack Detector: Wappalyzer & BuiltWith AlternativeDetect the CMS, frameworks, analytics and hosting of any website
Bulk Domain Lookup: DNS, WHOIS, SPF, DMARC & SSLDNS, email security and SSL checks for a list of domains
Speech to Text: Audio, Video & Podcast TranscriberWhisper transcripts, SRT and VTT subtitles from audio, video and podcast feeds
Email Validator & Verifier: Bulk MX & Disposable CheckCheck email lists for syntax, MX records and disposable domains
Website Contact Scraper: Emails, Phones & Social LinksFind emails, phone numbers and social profiles on company websites
Companies House Scraper: UK Company Search & OfficersSearch UK companies and get profiles and officers
EU TED Tenders Scraper & Alerts: Public ProcurementEU public procurement notices and awards from TED
Greenhouse, Lever & Ashby Job Scraper: 7 ATS in One FeedJob postings from 7 applicant tracking systems in one schema
GitHub Scraper: Repo Stats, Stars, Trending & SearchRepository stats, stars, trending repos and search results