Mencari gambaran umum? Baca halaman tentang API verifikasi email atau API validasi email untuk formulir pendaftaran (dalam bahasa Inggris).

Dokumentasi API verifikasi email

Cek alamat email, jalankan pemeriksaan massal, dan cek secara mendalam alamat catch-all serta alamat di balik SEG. Semua endpoint memakai JSON dan autentikasi dengan API key. Anda hanya membayar pemeriksaan yang berhasil.

Pengantar

Dengan API Giggal.ai, Anda bisa mengecek alamat email, menjalankan pemeriksaan massal hingga 50.000 alamat email per tugas, dan mengecek secara mendalam alamat catch-all serta alamat di balik SEG. API ini adalah REST API sederhana dengan JSON. Setiap pemeriksaan yang berhasil memakai kredit dari akun Anda.

URL dasar
https://api.giggal.ai/v1
Membuat API key

Buat API key (kunci API) di dashboard Giggal.ai Anda: buka tab Developer API di sidebar lalu klik Create API Key. Setiap key terhubung ke akun Anda dan mencatat pemakaiannya sendiri. Anda bisa mencabut key kapan saja.

Buka tab Developer API
Struktur respons

Setiap respons memiliki struktur JSON yang sama:

// Success
{ "success": true, "data": { ... }, "meta": { ... } }

// Error
{ "success": false, "error": "Human-readable error message" }
Mulai cepat: mengecek satu alamat dengan cURL
curl -X POST https://api.giggal.ai/v1/verify \
  -H "Authorization: Bearer tp_live_xxxxxxxxxxxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{"email":"info@giggal.ai"}'

Autentikasi

Kirim API key Anda di setiap permintaan, dalam salah satu dari dua header berikut. Keduanya berfungsi.

Opsi 1: Bearer token
Authorization: Bearer tp_live_xxxxxxxxxxxxxxxxxxxxxxxxx
Opsi 2: header X-API-Key
X-API-Key: tp_live_xxxxxxxxxxxxxxxxxxxxxxxxx

Key yang tidak ada, tidak valid, atau sudah dicabut menghasilkan error HTTP 401. Jangan pernah menaruh API key di kode sisi klien. Kirim panggilan API lewat backend Anda sendiri.

Idempotensi (massal dan catch-all)

Pada POST /v1/verify-batch dan POST /v1/catchall, kirim header Idempotency-Key. Percobaan ulang dengan key yang sama mengembalikan respons aslinya. Tidak ada tugas ganda dan kredit tidak dipotong dua kali.

Idempotency-Key: 2026-07-24-list-batch-42

Pemeriksaan satuan

1 endpoint dalam grup ini.

POST/v1/verify

Mengecek satu alamat email

Mengecek satu alamat email secara sinkron. Memakai 1 kredit. Jika domainnya catch-all, pemeriksaan mendalam dilakukan dalam permintaan yang sama dan responsnya berisi catch_all_score dan catch_all_verdict.

Otorisasi
api_key_auth
Body permintaan
email
Wajib
string
Alamat email yang ingin Anda cek.

Pemeriksaan massal

3 endpoint dalam grup ini.

POST/v1/verify-batch

Memulai pemeriksaan massal

Kirim hingga 50.000 alamat email per tugas. Prosesnya asinkron: panggil GET /v1/jobs/:jobId untuk memantau progresnya. Kirim header Idempotency-Key agar pembuatan tugas bisa dicoba ulang tanpa biaya ganda.

Otorisasi
api_key_auth
Body permintaan
emails
Wajib
string[]
Daftar alamat email yang ingin dicek. Maksimal 50.000 per tugas. Alamat ganda dan alamat dengan format salah dibuang oleh server.
name
string
Nama tugas yang mudah dibaca, opsional. Ditampilkan di dashboard Anda.
GET/v1/jobs/:jobId

Melihat status tugas massal

Panggil endpoint ini untuk memantau progres. Statusnya berubah dari processing ke completed (atau failed). Interval yang disarankan: setiap 10 sampai 15 detik. Daftar kecil (kurang dari 50 alamat email) biasanya selesai dalam 30 detik.

Otorisasi
api_key_auth
Parameter path dan query
jobId
Wajib
string
ID tugas yang dikembalikan oleh POST /v1/verify-batch.
GET/v1/jobs/:jobId/results

Mengambil hasil tugas massal

Jika statusnya "completed", ambil hasil untuk setiap alamat email. Hasilnya dibagi per halaman: kirim parameter query page dan limit. Hasil disimpan selama 48 jam (lihat resultsExpiresAt pada tugas).

Otorisasi
api_key_auth
Parameter path dan query
jobId
Wajib
string
ID tugas.
page
integer
Nomor halaman, default 1.
limit
integer
Hasil per halaman, default 25, maksimal 500.

Pemeriksaan catch-all

4 endpoint dalam grup ini.

POST/v1/catchall

Memulai pemeriksaan catch-all

Menjalankan pemeriksaan catch-all mendalam untuk tugas massal yang sudah selesai. Hanya alamat yang ditandai catch-all dalam tugas asli yang dicek ulang. Memakai 1 kredit per alamat (lihat creditsRequired dalam respons).

Otorisasi
api_key_auth
Body permintaan
jobId
Wajib
string
ID tugas massal yang sudah selesai. Hanya alamat catch-all dari tugas itu yang dicek secara mendalam.
name
string
Nama tugas yang mudah dibaca, opsional.
GET/v1/catchall/:taskId

Melihat status tugas catch-all

Panggil endpoint ini untuk memantau progres dan jumlah terbaru di verdictCounts. Tugas catch-all biasanya berlangsung beberapa detik sampai beberapa menit, tergantung jumlah alamat.

Otorisasi
api_key_auth
Parameter path dan query
taskId
Wajib
string
ID tugas yang dikembalikan oleh POST /v1/catchall.
GET/v1/catchall/:taskId/results

Mengambil hasil tugas catch-all

Mengambil hasil untuk setiap alamat email, dibagi per halaman, beserta rincian skornya (sinyal dari domain dan usia domain).

Otorisasi
api_key_auth
Parameter path dan query
taskId
Wajib
string
ID tugas.
page
integer
Nomor halaman, default 1.
limit
integer
Hasil per halaman, default 25, maksimal 500.
verdict
string
Filter berdasarkan hasil: valid | invalid.
GET/v1/catchall/:taskId/download

Mengunduh hasil catch-all sebagai CSV

Mengunduh semua hasil dari tugas catch-all yang sudah selesai sebagai file CSV dengan kolom Email, Score, dan Verdict. Content-Type-nya adalah text/csv.

Otorisasi
api_key_auth
Parameter path dan query
taskId
Wajib
string
ID tugas.
verdict
string
Filter berdasarkan hasil: valid | invalid.

Akun

1 endpoint dalam grup ini.

GET/v1/credits

Melihat saldo kredit Anda

Menampilkan saldo akun Anda: kredit yang tersedia, kredit yang dicadangkan (ditahan untuk tugas yang sedang berjalan), dan total sejak akun Anda dibuka. Pemeriksaan dengan hasil "unknown" dikembalikan otomatis dan juga tercatat di sini.

Otorisasi
api_key_auth

Error dan batas

StatusArti
200 OKPermintaan berhasil (pemeriksaan sinkron, atau pengambilan status atau hasil).
202 AcceptedTugas asinkron sudah dibuat dan masuk antrean.
400 Bad RequestParameter tidak ada atau tidak valid (format email salah, daftar emails kosong, jobId tidak ada).
401 UnauthorizedAPI key tidak ada, tidak valid, atau sudah dicabut.
402 Payment RequiredKredit tidak cukup untuk tindakan ini.
404 Not FoundID tugas ini tidak ada di akun Anda.
409 ConflictTugas tidak berada pada status yang diperlukan (misalnya hasil diminta sebelum tugas selesai).
410 GoneHasil tugas sudah melewati masa simpan 48 jam.
429 Too Many RequestsBatas permintaan terlampaui. Tunggu sebentar lalu coba lagi.
500 / 502 / 503Server atau layanan verifikasi di belakangnya sedang tidak tersedia untuk sementara.

Batas permintaan

Setiap respons berisi header RateLimit-Limit, RateLimit-Remaining, dan RateLimit-Reset (penulisan sesuai RFC), sehingga Anda bisa mengatur jarak antarpermintaan. RateLimit-Reset menunjukkan jumlah detik sampai jendela waktu saat ini dimulai ulang.

KategoriBatas
Semua endpoint (default)300 permintaan / 15 menit
Membuat tugas (POST /v1/verify-batch, POST /v1/catchall)30 permintaan / 15 menit
Memantau tugas (GET /v1/jobs/:id, GET /v1/jobs/:id/results)600 permintaan / 15 menit
Jumlah maksimal alamat email per tugas massal50.000
Masa simpan hasil48 jam

Ada tiga batas, karena Anda lebih sering memantau tugas daripada membuatnya. Anda bisa memanggil API setiap beberapa detik selama tugas berjalan. Batas 600 / 15 min (sekitar 40 per menit) memberi Anda cukup ruang tanpa membebani server.

Butuh batas yang lebih tinggi?

Kami rutin menaikkan batas untuk mitra integrasi yang sudah terverifikasi.

Hubungi kami

Struktur respons 429

Jika Anda mencapai batas, API mengembalikan error HTTP 429 dengan body berikut:

{
  "success": false,
  "message": "Developer API rate limit exceeded"
}

Sebelum mencoba lagi, tunggu sejumlah detik yang tertulis di header RateLimit-Reset (waktu sampai jendela dimulai ulang).

Siap menghubungkan API?

Buat API key Anda dalam beberapa detik. Kredit uji coba gratis sudah termasuk, sehingga Anda bisa menguji semuanya dari awal sampai akhir sebelum membayar.