[ validasi · pajak ]● 3 kredit · 20 permintaan/menit

Validasi PPN Uni Eropa API

Validasi nomor PPN Eropa mana pun ke VIES, registri resmi Komisi Eropa. Konfirmasi real-time ditambah nama dan alamat terdaftar bila negara anggota mengungkapkannya.

Sumber resmi VIES27 negara + XIPemeriksaan real-time
auth · x-api-key

Belum punya API key?

Masuk ke akun Anda untuk membuat dan mengelola API key.

[ 02 · integrate ]

Panduan integrasi

Salin snippet, ganti API key kamu, jalankan. Bekerja di HTTP client mana pun — contoh di bawah dalam cURL, JavaScript, dan Python.

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

Validate an EU VAT number against the official VIES registry

parameter
vat_numberstringwajib

Full VAT number with its two-letter member-state prefix. Spaces, dots, and hyphens are stripped. IE6388047V

countrystringopsional

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 · respons
{
  "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
}

Dibuat untuk Use Case Dunia Nyata

🧾

Faktur reverse charge

Pastikan registrasi PPN pembeli sebelum menerbitkan faktur B2B lintas negara bertarif nol, dan simpan catatan pemeriksaannya.

🚪

Onboarding B2B

Validasi saat pendaftaran dan isikan nama badan hukum serta alamat langsung dari registri, alih-alih meminta pelanggan mengetiknya.

🛡️

Pencegahan penipuan

Cegat nomor PPN palsu atau kedaluwarsa sebelum masuk ke sistem penagihan atau pelaporan pajak Anda.

🤖

Alur kerja agen

Beri agen keuangan sebuah tool berparameter tunggal yang bisa dipanggil saat memproses faktur, dengan jawaban boolean yang tidak ambigu.

Field respons

FieldTipeDeskripsi
validbooleanApakah nomor tersebut saat ini terdaftar untuk perdagangan lintas negara
country_codestringKode negara anggota sebagaimana dilaporkan (EL untuk Yunani, XI untuk Irlandia Utara)
numberstringNomor PPN tanpa awalan negara
namestring | nullNama pelaku usaha terdaftar, bila negara anggota mengungkapkannya
addressstring | nullAlamat terdaftar, bila negara anggota mengungkapkannya
name_disclosedbooleanFalse bila negara anggota menahan field identitas karena kebijakan (DE, ES)
request_datestring | nullStempel waktu yang dicatat VIES untuk pemeriksaan ini
consultation_numberstring | nullPengenal permintaan VIES, dapat dipakai sebagai bukti verifikasi
credits_usedintegerKredit yang dipotong untuk request ini
remaining_creditsintegerKredit yang tersisa di akun kamu
[ 03 · limits ]

Rate limit

Throttling berlaku per API key, jendela geser 60 detik. Jika melewati batas, kamu mendapat 429 yang rapi dengan header Retry-After.

laju request

20req/min

Per API key, per endpoint. Jendela geser 60 detik.

konkurensi

3concurrent

Maksimum request bersamaan yang sedang berjalan per API key.

header respons
X-RateLimit-LimitJumlah maksimum request yang diizinkan per menit
X-RateLimit-RemainingRequest yang tersisa di jendela saat ini
X-RateLimit-ResetDetik sampai jendela saat ini di-reset
Retry-AfterDetik yang harus ditunggu sebelum mencoba lagi (hanya pada 429)
● 429 · terlalu banyak request
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
}

Sumber data dan lisensi

Pemeriksaan berjalan melalui VIES, Sistem Pertukaran Informasi PPN milik Komisi Eropa, yang meneruskan setiap kueri secara real-time ke basis data pajak negara anggota yang bersangkutan. Kami tidak menyimpan salinan registri — jawabannya milik otoritas pajak, dan kami hanya menyajikannya sebagai JSON yang rapi dengan kasus gangguan dan non-pengungkapan yang dinyatakan secara eksplisit.

Pertanyaan yang Sering Diajukan

T: Apakah ini pemeriksaan resmi Uni Eropa?

J: Ya. Permintaan dikirim ke VIES, Sistem Pertukaran Informasi PPN milik Komisi Eropa, yang menanyakan basis data pajak negara anggota bersangkutan secara real-time. Tidak ada basis data perantara, sehingga jawabannya sama dengan yang Anda peroleh dari formulir web Komisi.

T: Mengapa nama pelaku usaha kosong untuk nomor Jerman?

J: Jerman dan Spanyol tidak mengungkapkan nama dan alamat pelaku usaha lewat VIES sebagai kebijakan. Status terdaftar atau tidaknya nomor tetap dikonfirmasi dengan jelas — hanya field identitas yang ditahan. Respons menyetel name_disclosed: false agar Anda bisa membedakan penahanan karena kebijakan dari field yang benar-benar kosong.

T: Apa yang terjadi bila sistem sebuah negara anggota sedang mati?

J: VIES meneruskan ke basis data masing-masing negara anggota, dan basis data itu bisa offline untuk pemeliharaan. Bila itu terjadi, Anda menerima HTTP 503 dengan pesan yang jelas dan tidak ada kredit yang dipotong. Coba lagi beberapa menit kemudian — gangguannya ada di sisi otoritas pajak, bukan di sisi kami.

T: Kode negara mana saja yang didukung?

J: Seluruh 27 negara anggota ditambah XI untuk Irlandia Utara berdasarkan Kerangka Windsor. Perhatikan bahwa Yunani melaporkan PPN dengan kode EL, bukan kode ISO GR. Britania Raya (GB) keluar dari VIES setelah Brexit dan tidak tercakup.

T: Bisakah saya memperoleh nomor konsultasi untuk jejak audit?

J: Field consultation_number memuat pengenal permintaan VIES bila diterbitkan. Pengenal itulah yang diterima otoritas pajak sebagai bukti bahwa Anda memverifikasi status PPN mitra pada tanggal tertentu, dan itu penting dalam skema reverse charge.