欧盟 VAT 税号验证 API
对接欧盟委员会官方 VIES 系统校验任意欧盟增值税号。实时确认注册状态,并在成员国允许披露时返回纳税主体的法定名称与地址。
集成指南
复制代码片段,替换你的 API 密钥,运行即可。适用于任何 HTTP 客户端——下方提供 cURL、JavaScript 和 Python 示例。
/api/validate-vathttps://www.apipick.comValidate an EU VAT number against the official VIES registry
vat_numberstring必填Full VAT number with its two-letter member-state prefix. Spaces, dots, and hyphens are stripped. IE6388047V
countrystring可选Member-state code, if the number is supplied without its prefix. Greece is EL, not GR. IE
curl -X GET "https://www.apipick.com/api/validate-vat" \
-H "x-api-key: YOUR_API_KEY"{
"vat_number": "IE6388047V",
"country_code": "IE",
"number": "6388047V",
"valid": true,
"name": "GOOGLE IRELAND LIMITED",
"address": "3RD FLOOR, GORDON HOUSE, BARROW STREET, DUBLIN 4",
"name_disclosed": true,
"request_date": "2026-09-01T11:52:22.440Z",
"consultation_number": null,
"source": "European Commission VIES",
"credits_used": 3,
"remaining_credits": 97
}为真实场景而生
反向征收开票
在对跨境 B2B 发票适用零税率之前,先确认买方的 VAT 注册状态,并把这次核查留存备查。
B2B 开户
在注册环节即时校验,并用注册库中的法定名称与地址自动预填,无需再让客户手工录入。
欺诈防范
在虚构或已失效的 VAT 税号进入你的计费系统或税务申报之前就把它拦下来。
智能体工作流
为财务智能体提供一个单参数工具,可在处理发票时随手调用,并得到毫不含糊的布尔结果。
响应字段
| 字段 | 类型 | 说明 |
|---|---|---|
| valid | boolean | 该税号当前是否已注册可用于跨境贸易 |
| country_code | string | 申报所用的成员国代码(希腊为 EL,北爱尔兰为 XI) |
| number | string | 去掉国家前缀后的税号本体 |
| name | string | null | 登记的纳税主体名称(以成员国是否披露为准) |
| address | string | null | 登记地址(以成员国是否披露为准) |
| name_disclosed | boolean | 当成员国按政策不披露身份字段时为 false(德国、西班牙) |
| request_date | string | null | VIES 为本次校验记录的时间戳 |
| consultation_number | string | null | VIES 出具的查询编号,可作为已核验的凭证 |
| credits_used | integer | 本次请求扣除的积分 |
| remaining_credits | integer | 你账户中剩余的积分 |
速率限制
限流按 API 密钥计,采用 60 秒滑动窗口。触发限制时会返回干净的 429,并带 Retry-After 响应头。
20req/min
按 API 密钥、按端点计。60 秒滑动窗口。
3concurrent
每个 API 密钥的最大同时进行中请求数。
X-RateLimit-Limit每分钟允许的最大请求数X-RateLimit-Remaining当前窗口内剩余的请求数X-RateLimit-Reset当前窗口重置前的秒数Retry-After重试前需等待的秒数(仅在 429 时)HTTP/1.1 429 Too Many Requests
Retry-After: 12
X-RateLimit-Limit: 20
X-RateLimit-Remaining: 0
X-RateLimit-Reset: 12
{
"error": "rate_limit_exceeded",
"message": "Rate limit exceeded: 20 requests/minute per API key. Retry after 12s.",
"retry_after": 12
}数据来源与授权
校验通过欧盟委员会的增值税信息交换系统 VIES 完成,该系统会把每次查询实时转发到对应成员国自己的税务数据库。我们不保存任何注册库副本 —— 结论来自税务机关本身,我们只是以干净的 JSON 返回,并把服务中断与披露政策两类情况明确标示出来。
常见问题
问: 这是欧盟官方的校验吗?
答: 是的。请求发往欧盟委员会的增值税信息交换系统 VIES,由它实时查询对应成员国自己的税务数据库。中间没有任何缓存数据库,因此这里的结论与你在欧盟委员会官网表单上查到的一致。
问: 为什么德国税号查不到纳税主体名称?
答: 德国和西班牙出于政策原因不通过 VIES 披露纳税主体的名称与地址。税号是否有效注册仍然会明确给出,只是身份字段不予公开。响应中会设置 name_disclosed: false,让你能区分「政策性隐去」与「字段确实为空」。
问: 成员国系统故障时会怎样?
答: VIES 会把请求路由到各成员国自己的数据库,而这些系统会因维护而离线。发生这种情况时,接口返回 HTTP 503 并附带清晰说明,且不扣除积分。请过几分钟重试 —— 故障在税务机关一侧,不在我们这里。
问: 支持哪些国家代码?
答: 支持全部 27 个成员国,外加《温莎框架》下代表北爱尔兰的 XI。请注意希腊的增值税国家代码是 EL,而不是其 ISO 代码 GR。英国本土(GB)在脱欧后已退出 VIES,不在覆盖范围内。
问: 能拿到用于留痕的查询编号吗?
答: 当 VIES 出具查询编号时,会通过 consultation_number 字段返回。该编号正是税务机关认可的凭证,用以证明你在某一日期核验过交易对手的 VAT 状态 —— 这对反向征收开票尤为重要。