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.
Belum punya API key?
Masuk ke akun Anda untuk membuat dan mengelola API key.
Panduan integrasi
Salin snippet, ganti API key kamu, jalankan. Bekerja di HTTP client mana pun — contoh di bawah dalam cURL, JavaScript, dan Python.
/api/validate-vathttps://www.apipick.comValidate an EU VAT number against the official VIES registry
vat_numberstringwajibFull VAT number with its two-letter member-state prefix. Spaces, dots, and hyphens are stripped. IE6388047V
countrystringopsionalMember-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
}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
| Field | Tipe | Deskripsi |
|---|---|---|
| valid | boolean | Apakah nomor tersebut saat ini terdaftar untuk perdagangan lintas negara |
| country_code | string | Kode negara anggota sebagaimana dilaporkan (EL untuk Yunani, XI untuk Irlandia Utara) |
| number | string | Nomor PPN tanpa awalan negara |
| name | string | null | Nama pelaku usaha terdaftar, bila negara anggota mengungkapkannya |
| address | string | null | Alamat terdaftar, bila negara anggota mengungkapkannya |
| name_disclosed | boolean | False bila negara anggota menahan field identitas karena kebijakan (DE, ES) |
| request_date | string | null | Stempel waktu yang dicatat VIES untuk pemeriksaan ini |
| consultation_number | string | null | Pengenal permintaan VIES, dapat dipakai sebagai bukti verifikasi |
| credits_used | integer | Kredit yang dipotong untuk request ini |
| remaining_credits | integer | Kredit yang tersisa di akun kamu |
Rate limit
Throttling berlaku per API key, jendela geser 60 detik. Jika melewati batas, kamu mendapat 429 yang rapi dengan header Retry-After.
20req/min
Per API key, per endpoint. Jendela geser 60 detik.
3concurrent
Maksimum request bersamaan yang sedang berjalan per API key.
X-RateLimit-LimitJumlah maksimum request yang diizinkan per menitX-RateLimit-RemainingRequest yang tersisa di jendela saat iniX-RateLimit-ResetDetik sampai jendela saat ini di-resetRetry-AfterDetik yang harus ditunggu sebelum mencoba lagi (hanya pada 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
}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.