Spain Tax ID Validator — NIF, CIF, NIE, IBAN & EU VAT (VIES) avatar

Spain Tax ID Validator — NIF, CIF, NIE, IBAN & EU VAT (VIES)

Pricing

from $1.00 / 1,000 spanish tax id validateds

Go to Apify Store
Spain Tax ID Validator — NIF, CIF, NIE, IBAN & EU VAT (VIES)

Spain Tax ID Validator — NIF, CIF, NIE, IBAN & EU VAT (VIES)

Batch-validate Spanish tax IDs (NIF/DNI/NIE/CIF check digits), IBANs and EU VAT numbers against the official VIES API. Auto-detection, caching (cache hits are free), retries. Built for AI agents, n8n, Make and Zapier.

Pricing

from $1.00 / 1,000 spanish tax id validateds

Rating

0.0

(0)

Developer

Bruno Gutiérrez

Bruno Gutiérrez

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

Batch-validate Spanish tax IDs (NIF/DNI/NIE/CIF with official check-digit algorithms), IBANs (mod-97, 30 countries) and EU VAT numbers against the official European Commission VIES API — with auto-detection, caching, and retries built in. Send a mixed list, get clean JSON back. Built for AI agents, n8n, Make, Zapier and ERP integrations.

Why this Actor

  • One call, mixed input. Auto-detects whether each value is a DNI, NIE, CIF, IBAN or EU VAT number. No pre-sorting, no per-type endpoints.
  • VIES made reliable. The official VIES service rate-limits per country and goes down by national node. This Actor adds retries with exponential backoff and a 24h cache — cache hits are free (not charged).
  • Fair pricing. Local validations (NIF/IBAN) cost $1 per 1,000. VIES checks $4 per 1,000. Failed VIES lookups and unrecognized inputs are never charged.
  • Audit-ready. Pass your own VAT (options.requesterVat) and every VIES check returns an official consultation number — the legal proof of validation under Art. 138 of the VAT Directive.

Use cases

Customer/supplier onboarding (KYB), invoice validation before payment, e-commerce B2B checkout (VAT-exempt intra-EU sales), CRM data cleaning, accounting automation, agent workflows that need to verify a Spanish company exists before acting.

Input

{
"values": ["12345678Z", "ES91 2100 0418 4502 0005 1332", "ESB12345674", "DE811907980"]
}

Spaces, dots and dashes are ignored. Optional: items with forced types, options.vies (default true), options.cacheTTLHours (default 24), options.requesterVat.

Output (one row per value)

{
"input": "DE811907980",
"type": "eu-vat",
"valid": true,
"normalized": "DE811907980",
"reason": null,
"details": { "viesName": "...", "viesAddress": "...", "consultationNumber": "WAPIAAAAW..." },
"source": "vies",
"checkedAt": "2026-07-03T02:00:00.000Z"
}

reason is a stable machine-readable enum prefix (FORMAT, CHECK_LETTER, MOD97, VIES_ERROR, ...) — branch your automation on it without parsing prose.

Pricing (pay-per-event)

EventPriceNotes
Actor start$0.005per run
NIF/DNI/NIE/CIF validated$0.001local check-digit
IBAN validated$0.001local mod-97
EU VAT validated (VIES)$0.004real VIES call; cache hits & failures free

Validating 1,000 Spanish tax IDs costs ~$1. No subscription, no API key.

Using from AI agents (MCP)

This Actor works out of the box with the Apify MCP server — Claude, ChatGPT, Cursor or any MCP client can call it as a tool.

FAQ

Does the developer see or store my data? No. Results live in your run's dataset and the VIES cache is a key-value store in your own Apify account (TTL-limited, default 24h). Nothing is sent to or retained by the developer.

What if VIES is down? The Actor retries (1s/3s/9s backoff). If still down, the row returns valid: null with a retryable flag — and you are not charged for it.

Which countries? Tax IDs: Spain. IBAN: 30 European countries. VAT: all 27 EU member states + XI (Northern Ireland).


¿Trabajas con datos españoles?

Este actor valida NIF, DNI, NIE y CIF con los algoritmos oficiales de dígito de control, IBAN y IVA intracomunitario contra el VIES (con caché y reintentos incluidos — los cache hits no se cobran). Pensado para gestorías, e-commerce B2B, onboarding de proveedores y flujos de n8n/Make/Zapier o agentes de IA. Pásale una lista mezclada: detecta el tipo de cada valor automáticamente.