ValidEU API

ValidEU API — free tier with API key

📚 Open DataHEALTHYchecked 8h ago
AUTH APIKEYCORS AGENT HTTPS COMMERCIAL ?

ValidEU API exposes a free-tier JSON API. Register for an API key if required; we verified a public or demo endpoint.

97HOW IT'S SCORED ⓘ
Status badge · for your READMEshipapis health badge: 97 · healthy
Uptime history
100%90 days
100%30 days
273P50 · ms
786P95 · ms
operationalpartialdownno data
Response time · last 48 checks
Fastest 41 ms, slowest 457 ms, most recent 338 ms.
Live response samplecaptured by our last successful check
GET https://valid-eu.com/api

{
  "name": "ValidEU API",
  "version": "v1",
  "description": "European ID validation and verification API - 17 live endpoints across 8 countries",
  "documentation": "https://valid-eu.com/docs",
  "openapi_spec": "https://valid-eu.com/api/v1/openapi.yaml",
  "endpoints": {
    "eu_wide": {
      "iban": {
        "validate": "GET /api/v1/eu/iban/validate/{iban}",
        "verify": "POST /api/v1/eu/iban/verify",
        "description": "Validate/verify IBAN (International Bank Account Number)"
      },
      "bic": {
        "validate": "GET /api/v1/eu/bic/validate/{bic}",
        "verify": "POST /api/v1/eu/bic/verify",
        "description": "Validate/verify BIC/SWIFT codes"
      },
      "vat": {
        "validate": "GET /api/v1/eu/vat/validate/{vat}",
        "verify": "POST /api/v1/eu/vat/verify",
        "description": "Validate/verify EU VAT numbers via VIES (27 countries)"
      },
      "eori": {
        "validate": "GET /api/v1/eu/eori/validate/{eori}",
        "description": "Validate EORI (EU customs registration)"
      },
      "lei": {
        "validate": "GET /api/v1/eu/lei/validate/{lei}",
        "verify": "POST /api/v1/eu/lei/verify",
        "description": "Validate/verify LEI (Legal Entity Identifier)"
      }
    },
    "poland": {
      "nip": {
        "validate": "GET /api/v1/pl/nip/validate/{nip}",
        "verify": "POST /api/v1/pl/nip/verify",
        "description": "Polish Tax ID (NIP)"
      },
      "pesel": {
        "validate": "GET /api/v1/pl/pesel/validate/{pesel}",
        "description": "Polish National ID (PESEL) - extracts birth date/gender"
      },
      "regon": {
        "validate": "GET /api/v1/pl/regon/validate/{regon}",
        "verify": "POST /api/v1/pl/regon/verify",
        "description": "Polish Business Registry Number (REGON)"
      },
      "vat": {
        "validate": "GET /api/v1/pl/vat/validate/{vat}",
        "verify": "POST /api/v1/pl/vat/verify",
        "description": "Polish VAT Number"
      }
    },
    "france": {
      "siren": {
        "validate": "GET /api/v1/fr/siren/validate/{siren}",
        "verify": "POST /api/v1/fr/siren/verify",
        "description": "French Business ID (SIREN) - 9 digits"
      },
      "siret": {
        "validate": "GET /api/v1/fr/siret/validate/{siret}",
        "verify": "POST /api/v1/fr/siret/verify",
        "description": "French Establishment ID (SIRET) - 14 digits"
      },
      "nss": {
        "validate": "GET /api/v1/fr/nss/validate/{nss}",
        "description": "French Social Security Number (NSS)"
      },
      "rna": {
        "validate": "GET /api/v1/fr/rna/validate/{rna}",
        "verify": "POST /api/v1/fr/rna/verify",
        "description": "French Association Registry (RNA)"
      },
      "vat": {
        "validate": "GET /api/v1/fr/vat/validate/{vat}",
        "verify": "POST /api/v1/fr/vat/verify",
        "description": "French VAT Number"
      }
    },
    "germany": {
      "vat": {
        "validate": "GET /api/v1/de/vat/validate/{vat}",
        "verify": "POST /api/v1/de/vat/verify",
        "description": "German VAT Number"
      }
    },
    "italy": {
      "codice_fiscale": {
        "validate": "GET /api/v1/it/codice-fiscale/validate/{cf}",
        "description": "Italian Tax Code (Codice Fiscale)"
      },
      "vat": {
        "validate": "GET /api/v1/it/vat/validate/{vat}",
        "verify": "POST /api/v1/it/vat/verify",
        "description": "Italian VAT Number"
      }
    },
    "spain": {
      "dni": {
        "validate": "GET /api/v1/es/dni/validate/{dni}",
        "description": "Spanish National ID (DNI)"
      },
      "nie": {
        "validate": "GET /api/v1/es/nie/validate/{nie}",
        "description": "Spanish Foreigner ID (NIE)"
      },
      "cif": {
        "validate": "GET /api/v1/es/cif/validate/{cif}",
        "description": "Spanish Company Tax ID (CIF)"
      },
      "nif": {
        "validate": "GET /api/v1/es/nif/validate/{nif}",
        "description": "Spanish Tax ID (NIF) - unified format"
      },
      "vat": {
        "validate": "GET /api/v1/es/vat/validate/{vat}",
        "verify": "POST /api/v1/es/vat/verify",
        "description": "Spanish VAT Number"
      }
    },
    "netherlands": {
      "bsn": {
        "validate": "GET /api/v1/nl/bsn/validate/{bsn}",
        "description": "Dutch Citizen Service Number (BSN)"
      },
      "kvk": {
        "validate": "GET /api/v1/nl/kvk/validate/{kvk}",
        "description": "Dutch Chamber of Commerce Number (KVK)"
      },
      "vat": {
        "validate": "GET /api/v1/nl/vat/validate/{vat}",
        "verify": "POST /api/v1/nl/vat/verify",
        "description": "Dutch VAT Number"
      }
    },
    "united_kingdom": {
      "nino": {
        "validate": "GET /api/v1/gb/nino/validate/{nino}",
        "description": "UK National Insurance Number (NINO)"
      },
      "company": {
        "validate": "GET /api/v1/gb/company/validate/{number}",
        "description": "UK Companies House Number (verify disabled - API unreliable)"
      },
      "vat": {
        "validate": "GET /api/v1/gb/vat/validate/{vat}",
        "verify": "POST /api/v1/gb/vat/verify",
        "description": "UK VAT Number"
      }
    }
  },
  "endpoint_types": {
    "validate": {
      "description": "Algorithmic validation (format + checksum)",
      "included_in": "All plans (within monthly quota)",
      "speed": "Instant (<50ms)"
    },
    "verify": {
      "description": "Live registry check (if available)",
      "included_in": "Pro & Enterprise plans (within monthly quota)",
      "speed": "Real-time (200-2000ms)"
    }
  },
  "authentication": {
    "type": "API Key",
    "header": "X-API-Key",
    "get_key": "https://valid-eu.com/#get-started"
  }
}
Call itcurl · fetch · python
curl "https://valid-eu.com/api"
const res = await fetch("https://valid-eu.com/api");
const data = await res.json();
console.log(data);
import requests

res = requests.get("https://valid-eu.com/api")
print(res.json())

BROWSER CALLS BLOCKED (NO CORS/HTTPS) — USE THE CURL SNIPPET

Endpoints · 2HealthyFULL DOCS ↗
Monitored path responding — GET /api273 mschecked 8h ago
GET/apiPROBED

ValidEU API — free tier with API key

GET/api?limit=5

Paginated variant with limit parameter.

Machine-readable spec

We probe a documented GET and expect 2xx JSON — full uptime and health score. Export includes every documented route below.

Response-shape history

Stable. No schema drift observed since monitoring began — the response shape has not changed under our checks.

ValidEU API: common questions

Is ValidEU API free to use?

Yes — ValidEU API is a free open data API. Free tier: Free tier — API key required. Whether the free tier allows commercial use is unclear — check the provider docs.

Does ValidEU API need an API key?

Yes — ValidEU API needs a free API key, which you pass on each request. Rate limits: Unpublished.

Can I call ValidEU API from the browser?

Not directly — ValidEU API doesn't send browser-friendly CORS headers, so call it from a server or proxy instead. Copy the curl or Python snippet on this page to get started.

Is ValidEU API up right now?

As of our last scheduled check, ValidEU API is healthy with 100% uptime over 90 days and a 273 ms median response. We re-probe it every sweep — the status badge and uptime chart above always show the latest.