[ 验证 · 税务 ]● 3 积分 · 20 次/分钟

欧盟 VAT 税号验证 API

对接欧盟委员会官方 VIES 系统校验任意欧盟增值税号。实时确认注册状态,并在成员国允许披露时返回纳税主体的法定名称与地址。

官方 VIES 数据源27 国 + XI实时校验
auth · x-api-key

还没有 API 密钥?

登录账户以创建和管理您的 API 密钥。

[ 02 · integrate ]

集成指南

复制代码片段,替换你的 API 密钥,运行即可。适用于任何 HTTP 客户端——下方提供 cURL、JavaScript 和 Python 示例。

spec
GET/api/validate-vat
base
https://www.apipick.com

Validate 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"
● 200 · 响应
{
  "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 税号进入你的计费系统或税务申报之前就把它拦下来。

🤖

智能体工作流

为财务智能体提供一个单参数工具,可在处理发票时随手调用,并得到毫不含糊的布尔结果。

响应字段

字段类型说明
validboolean该税号当前是否已注册可用于跨境贸易
country_codestring申报所用的成员国代码(希腊为 EL,北爱尔兰为 XI)
numberstring去掉国家前缀后的税号本体
namestring | null登记的纳税主体名称(以成员国是否披露为准)
addressstring | null登记地址(以成员国是否披露为准)
name_disclosedboolean当成员国按政策不披露身份字段时为 false(德国、西班牙)
request_datestring | nullVIES 为本次校验记录的时间戳
consultation_numberstring | nullVIES 出具的查询编号,可作为已核验的凭证
credits_usedinteger本次请求扣除的积分
remaining_creditsinteger你账户中剩余的积分
[ 03 · limits ]

速率限制

限流按 API 密钥计,采用 60 秒滑动窗口。触发限制时会返回干净的 429,并带 Retry-After 响应头。

请求速率

20req/min

按 API 密钥、按端点计。60 秒滑动窗口。

并发

3concurrent

每个 API 密钥的最大同时进行中请求数。

响应头
X-RateLimit-Limit每分钟允许的最大请求数
X-RateLimit-Remaining当前窗口内剩余的请求数
X-RateLimit-Reset当前窗口重置前的秒数
Retry-After重试前需等待的秒数(仅在 429 时)
● 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 状态 —— 这对反向征收开票尤为重要。