EU VAT Validator (VIES) - Bulk VAT Number Checker & KYB API avatar

EU VAT Validator (VIES) - Bulk VAT Number Checker & KYB API

Pricing

$5.00 / 1,000 vat checkeds

Go to Apify Store
EU VAT Validator (VIES) - Bulk VAT Number Checker & KYB API

EU VAT Validator (VIES) - Bulk VAT Number Checker & KYB API

Validate EU VAT numbers in bulk via the official VIES service. Returns validity, registered company name & address for all 27 states + XI. No API key, no SOAP. For finance, tax, KYB & invoicing. Works in Claude, ChatGPT & any MCP agent.

Pricing

$5.00 / 1,000 vat checkeds

Rating

0.0

(0)

Developer

The Mine Works

The Mine Works

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

1

Monthly active users

21 hours ago

Last modified

Share

EU VAT Validator (VIES) — Verify VAT Numbers in Bulk, Get Company Details

Validate EU VAT numbers in bulk against the official VIES service (VAT Information Exchange System) and get back validity plus the registered company name and address. Built for finance, compliance, tax and KYB (know-your-business) teams that need to verify counterparties, validate invoices for reverse-charge, or clean a customer master file. No API key. You only pay for definitive checks.

Keywords: VIES API, EU VAT validation, VAT number checker, validate VAT number, VAT lookup, KYB, tax compliance, reverse charge, EU company verification.


Why this actor

Every B2B transaction inside the EU that relies on the reverse-charge mechanism requires a valid counterparty VAT number — and tax authorities expect you to have checked it. The official source of truth is VIES, run by the European Commission, but it's a one-at-a-time web form (or a fiddly SOAP service). This actor turns it into a clean, bulk, structured check:

  • Bulk validation — pass a list of VAT IDs, get one clean record each.
  • Company details — for most member states, VIES returns the registered name and address, not just a yes/no.
  • Honest result handling — a definitive valid or invalid is returned and charged; when a member state's registry is temporarily down, the record is marked unavailable and not charged.
  • All 27 member states plus Northern Ireland (XI). Greece is accepted as EL or GR.
  • No API key, no SOAP, no rate-limit headaches — the actor paces requests to stay within VIES limits.

What you can build with it

  • Invoice & reverse-charge compliance — verify every EU customer's VAT number before applying zero-rated, reverse-charge invoicing.
  • KYB / onboarding — confirm a business counterparty exists and capture its registered name and address.
  • Customer master cleanup — batch-validate a CRM or ERP export and flag invalid or dormant VAT numbers.
  • Marketplace / platform compliance — validate seller VAT numbers at scale.
  • Periodic re-checks — schedule a monthly re-validation of your active EU customer base.

Input

FieldTypeDescription
vatIdsstring[]Full EU VAT IDs including the 2-letter country prefix (e.g. DE811569869, IE6388047V, FR40303265045). Spaces and punctuation are ignored.

Example input

{
"vatIds": ["IE6388047V", "FR40303265045", "DE811569869", "NL000099998B57"]
}

Output

Each VAT number is one dataset record:

{
"vat_id": "IE6388047V",
"country_code": "IE",
"vat_number": "6388047V",
"valid": true,
"status": "valid",
"name": "GOOGLE IRELAND LIMITED",
"address": "3RD FLOOR, GORDON HOUSE, BARROW STREET, DUBLIN 4",
"request_date": "2026-06-11+02:00",
"checked_at": "2026-06-11T13:10:00.000Z"
}

status is one of valid, invalid, unavailable (member-state registry down — not charged), or invalid_format (couldn't parse — not charged). Some member states (e.g. Germany) do not return name/address; those fields come back null. A final {"_type": "summary"} record reports counts.


Pricing

Your first 25 checks are free — every Apify account, no card, no trial clock. After that it is a flat $0.005 per definitive check.

  • First 25 checks free per account (lifetime), then $0.005/check
  • Charged only for definitive answersunavailable (VIES down for that country) and invalid_format are never charged
  • No monthly minimum, no rental
  • A run validating 1,000 VAT numbers costs $5.00

FAQ

Do I need an API key? No. VIES is a free, official European Commission service.

Why is name/address sometimes empty? Some member states (notably Germany) return only a valid/invalid flag, not the company details. The actor returns null for those fields — the validation is still authoritative.

What does unavailable mean? VIES depends on each member state's own tax registry. When one is temporarily down, VIES returns a service error — the actor records unavailable and does not charge you, since there's no definitive answer.

Is this legally sufficient proof of validation? VIES is the official EU validation service; many tax authorities accept a VIES check (with date) as evidence of good faith. This actor records the request_date returned by VIES on every check.

Does it cover Northern Ireland? Yes — use the XI prefix.

Use in Claude, ChatGPT & any MCP agent

This actor is also a Model Context Protocol (MCP) server tool — call it directly from Claude, ChatGPT, Cursor, Windsurf, or any MCP-compatible AI agent. The agent only pays for results delivered (same pay-per-result model).

  • Per-actor MCP endpoint: https://mcp.apify.com/?tools=themineworks/eu-vat-vies-validator
  • Full Mine Works MCP server (all tools): https://the-mine-works-mcp.hatchable.site/api/mcp
// Call this actor as a tool via apify-client (Node)
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('themineworks/eu-vat-vies-validator').call({ /* input from the table above */ });
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);