WA Lookup Referensi API

Setiap endpoint berbagi satu kunci API dan satu saldo.

ItemNilai
URL dasarhttps://walookup.com
Header autentikasiX-API-Key: sk_your_api_key
Amplop respons{ code, msg, data }

Harga tidak dicantumkan di sini; setiap produk ditagihkan per pemeriksaan yang berhasil. Lihat harga

Autentikasi

Gunakan kunci API yang dibuat di Pengaturan dan kirimkan di setiap permintaan melalui header X-API-Key.

Header autentikasi
X-API-Key: sk_your_api_key

Jaga kerahasiaan kunci API AndaSelalu panggil endpoint ini dari server Anda. Siapa pun yang memegang kunci dapat menghabiskan saldo Anda.

Pemeriksaan sinkron

POST/api/v1/checkPOST/api/v1/batch-check

Kirim satu pengenal, atau hingga 100 dalam satu permintaan, dan baca hasilnya dalam respons yang sama. Tanpa polling, tanpa callback. Hasil yang tidak dapat ditentukan mengembalikan 422 dengan code 42200 dan tidak ditagihkan. Permintaan multi mempertahankan urutan input, menagih setiap pengenal secara terpisah, dan memiliki waktu 300 detik untuk selesai — jika tidak, seluruh permintaan gagal dan setiap tagihan dikembalikan.

Parameter

FieldTipeDeskripsi
service_typestringKode produk, salah satu produk yang tercantum di bawah.
identifierstringPemeriksaan tunggal: satu nomor telepon dalam format E.164, dengan atau tanpa awalan +. Server akan menormalkannya.
identifiersstring[]Pemeriksaan multi: 1 hingga 100 nomor telepon. Respons mempertahankan urutan ini.

Pemeriksaan Pendaftaran WhatsApp

wstelepon

Pastikan apakah sebuah nomor terdaftar di WhatsApp — berguna untuk memeriksa daftar kontak sebelum Anda mengirim pesan.

Pemeriksaan tunggal

POST/api/v1/check
Permintaan
curl -X POST "https://walookup.com/api/v1/check" \
  -H "X-API-Key: sk_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{ "service_type": "ws", "identifier": "+17253100591" }'
{
  "code": 0,
  "msg": "ok",
  "data": {
    "service_type": "ws",
    "identifier": "+17253100591",
    "registered": true
  }
}
Field respons
FieldTipeDeskripsi
registeredbooleanApakah nomor terdaftar di WhatsApp.

Pemeriksaan multi

POST/api/v1/batch-check
Permintaan
curl -X POST "https://walookup.com/api/v1/batch-check" \
  -H "X-API-Key: sk_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{ "service_type": "ws", "identifiers": ["+17253100591", "+14155550000", "12345"] }'
Respons
{
  "code": 0,
  "msg": "ok",
  "data": {
    "service_type": "ws",
    "total": 3,
    "succeeded": 2,
    "failed": 1,
    "results": [
      {
        "identifier": "+17253100591",
        "exists": true,
        "registered": true
      },
      {
        "identifier": "+14155550000",
        "exists": true,
        "registered": false
      },
      {
        "identifier": "12345",
        "exists": false
      }
    ]
  }
}
Field respons
FieldTipeDeskripsi
existsbooleanApakah nomor ini menghasilkan hasil. false berarti formatnya tidak valid, hasilnya tidak dapat ditentukan, atau pemeriksaan gagal; jika false, tidak ada field di bawah ini yang disertakan.
registeredbooleanApakah nomor registered (terdaftar). Hanya disertakan jika exists bernilai true, dengan arti yang sama seperti pemeriksaan tunggal.

Pemeriksaan Avatar WhatsApp

ws_avatartelepon

Periksa apakah sebuah nomor terdaftar di WhatsApp dan kembalikan field avatar: avatar (apakah avatar berhasil diperoleh) dan avatar_url.

Pemeriksaan tunggal

POST/api/v1/check
Permintaan
curl -X POST "https://walookup.com/api/v1/check" \
  -H "X-API-Key: sk_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{ "service_type": "ws_avatar", "identifier": "+17253100591" }'
{
  "code": 0,
  "msg": "ok",
  "data": {
    "service_type": "ws_avatar",
    "identifier": "+17253100591",
    "registered": true,
    "avatar": true,
    "avatar_url": "<image url>"
  }
}
Field respons
FieldTipeDeskripsi
registeredbooleanApakah nomor terdaftar di WhatsApp.
avatarbooleanApakah akun memiliki avatar. avatar_url tetap bisa kosong jika gambar tidak tersedia.
avatar_urlstringURL avatar; string kosong jika tidak ada URL yang tersedia.

Pemeriksaan multi

POST/api/v1/batch-check
Permintaan
curl -X POST "https://walookup.com/api/v1/batch-check" \
  -H "X-API-Key: sk_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{ "service_type": "ws_avatar", "identifiers": ["+17253100591", "+14155550000", "12345"] }'
Respons
{
  "code": 0,
  "msg": "ok",
  "data": {
    "service_type": "ws_avatar",
    "total": 3,
    "succeeded": 2,
    "failed": 1,
    "results": [
      {
        "identifier": "+17253100591",
        "exists": true,
        "registered": true,
        "avatar": true,
        "avatar_url": "<image url>"
      },
      {
        "identifier": "+14155550000",
        "exists": true,
        "registered": false,
        "avatar": false,
        "avatar_url": ""
      },
      {
        "identifier": "12345",
        "exists": false
      }
    ]
  }
}
Field respons
FieldTipeDeskripsi
existsbooleanApakah nomor ini menghasilkan hasil. false berarti formatnya tidak valid, hasilnya tidak dapat ditentukan, atau pemeriksaan gagal; jika false, tidak ada field di bawah ini yang disertakan.
registeredbooleanApakah nomor registered (terdaftar). Hanya disertakan jika exists bernilai true, dengan arti yang sama seperti pemeriksaan tunggal.
avatarbooleanApakah akun memiliki avatar. avatar_url tetap bisa kosong jika gambar tidak tersedia.
avatar_urlstringURL avatar; string kosong jika tidak ada URL yang tersedia.

Pemeriksaan Akun WhatsApp Business

ws_businesstelepon

Periksa pendaftaran dan identifikasi apakah nomor menggunakan akun WhatsApp Business.

Pemeriksaan tunggal

POST/api/v1/check
Permintaan
curl -X POST "https://walookup.com/api/v1/check" \
  -H "X-API-Key: sk_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{ "service_type": "ws_business", "identifier": "+17253100591" }'
{
  "code": 0,
  "msg": "ok",
  "data": {
    "service_type": "ws_business",
    "identifier": "+17253100591",
    "registered": true,
    "business": true
  }
}
Field respons
FieldTipeDeskripsi
registeredbooleanApakah nomor terdaftar di WhatsApp.
businessbooleanApakah akun tersebut merupakan akun WhatsApp Business.

Pemeriksaan multi

POST/api/v1/batch-check
Permintaan
curl -X POST "https://walookup.com/api/v1/batch-check" \
  -H "X-API-Key: sk_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{ "service_type": "ws_business", "identifiers": ["+17253100591", "+14155550000", "12345"] }'
Respons
{
  "code": 0,
  "msg": "ok",
  "data": {
    "service_type": "ws_business",
    "total": 3,
    "succeeded": 2,
    "failed": 1,
    "results": [
      {
        "identifier": "+17253100591",
        "exists": true,
        "registered": true,
        "business": true
      },
      {
        "identifier": "+14155550000",
        "exists": true,
        "registered": false,
        "business": false
      },
      {
        "identifier": "12345",
        "exists": false
      }
    ]
  }
}
Field respons
FieldTipeDeskripsi
existsbooleanApakah nomor ini menghasilkan hasil. false berarti formatnya tidak valid, hasilnya tidak dapat ditentukan, atau pemeriksaan gagal; jika false, tidak ada field di bawah ini yang disertakan.
registeredbooleanApakah nomor registered (terdaftar). Hanya disertakan jika exists bernilai true, dengan arti yang sama seperti pemeriksaan tunggal.
businessbooleanApakah akun tersebut merupakan akun WhatsApp Business.

Pemeriksaan asinkron

POST/api/v1/bulk-tasksGET/api/v1/bulk-tasks/{id}

Unggah file dan langsung dapatkan ID tugas, lalu periksa ID tersebut sampai berhasil. Respons yang berhasil membawa result_url, tautan unduhan hasil. Hanya ada dua tindakan: kirim dan periksa. Lakukan polling tidak lebih sering dari sekali setiap 30 detik.

Parameter

FieldTipeDeskripsi
service_typestringKode produk massal, salah satu produk yang tercantum di bawah.
countrystringKode ISO 3166-1 seperti US. Wajib untuk tugas nomor: setiap nomor harus menyertakan kode negaranya dan berasal dari negara ini (nomor yang tidak memenuhi akan dikecualikan dan tidak ditagihkan); juga menentukan perutean. Dalam multipart, field ini harus berada sebelum file.
filefileFile .txt atau .csv dengan satu pengenal per baris, hingga max_file_bytes (default 20MB).
Idempotency-KeyheaderOpsional, hingga 128 karakter. Mengirim ulang kunci yang sama mengembalikan tugas asli alih-alih membuat tugas kedua.

Pemeriksaan Pendaftaran Massal WhatsApp

ws_batchtelepon1.000–500.000 per tugas

Unggah seluruh file berisi nomor, ketahui mana yang terdaftar di WhatsApp, dan unduh file hasil setelah selesai.

Kirim tugas

POST/api/v1/bulk-tasks
Permintaan
curl -X POST "https://walookup.com/api/v1/bulk-tasks" \
  -H "X-API-Key: sk_your_api_key" \
  -F service_type=ws_batch \
  -F country=US \
  -F file=@numbers.txt
Respons
{
  "code": 0,
  "msg": "ok",
  "data": {
    "id": "3f9c2a7d8e4b4c1a9f0e6b2d5c8a7e13",
    "product": "ws_batch",
    "status": "processing",
    "country": "US",
    "submitted_lines": 1015,
    "total": 1015,
    "invalid_cnt": 0,
    "no_code_cnt": 0,
    "other_country_cnt": 0,
    "duplicate_cnt": 0,
    "preparing": true,
    "created_at": "2026-09-08T09:30:00Z"
  }
}

Periksa tugas

GET/api/v1/bulk-tasks/{id}
Permintaan
curl "https://walookup.com/api/v1/bulk-tasks/3f9c2a7d8e4b4c1a9f0e6b2d5c8a7e13" \
  -H "X-API-Key: sk_your_api_key"
Respons
{
  "code": 0,
  "msg": "ok",
  "data": {
    "id": "3f9c2a7d8e4b4c1a9f0e6b2d5c8a7e13",
    "product": "ws_batch",
    "status": "success",
    "country": "US",
    "submitted_lines": 1015,
    "total": 1000,
    "invalid_cnt": 3,
    "no_code_cnt": 0,
    "other_country_cnt": 0,
    "duplicate_cnt": 12,
    "preparing": false,
    "success_cnt": 990,
    "failure_cnt": 10,
    "result_url": "https://…/result.csv",
    "created_at": "2026-09-08T09:30:00Z"
  }
}
Kolom hasil
Fieldcontoh:Deskripsi
identifier17253100591Nomor yang dikirim dalam bentuk digit polos dengan kode negara, tanpa tanda plus atau spasi (mis. 17253100591).
activatedtrueApakah nomor terdaftar di WhatsApp: true atau false.

Pemeriksaan Avatar Massal WhatsApp

ws_avatar_batchtelepon1.000–500.000 per tugas

Periksa seluruh daftar untuk pendaftaran WhatsApp dan avatar: apakah setiap nomor terdaftar memiliki avatar, beserta URL avatar.

Kirim tugas

POST/api/v1/bulk-tasks
Permintaan
curl -X POST "https://walookup.com/api/v1/bulk-tasks" \
  -H "X-API-Key: sk_your_api_key" \
  -F service_type=ws_avatar_batch \
  -F country=US \
  -F file=@numbers.txt
Respons
{
  "code": 0,
  "msg": "ok",
  "data": {
    "id": "3f9c2a7d8e4b4c1a9f0e6b2d5c8a7e13",
    "product": "ws_avatar_batch",
    "status": "processing",
    "country": "US",
    "submitted_lines": 1015,
    "total": 1015,
    "invalid_cnt": 0,
    "no_code_cnt": 0,
    "other_country_cnt": 0,
    "duplicate_cnt": 0,
    "preparing": true,
    "created_at": "2026-09-08T09:30:00Z"
  }
}

Periksa tugas

GET/api/v1/bulk-tasks/{id}
Permintaan
curl "https://walookup.com/api/v1/bulk-tasks/3f9c2a7d8e4b4c1a9f0e6b2d5c8a7e13" \
  -H "X-API-Key: sk_your_api_key"
Respons
{
  "code": 0,
  "msg": "ok",
  "data": {
    "id": "3f9c2a7d8e4b4c1a9f0e6b2d5c8a7e13",
    "product": "ws_avatar_batch",
    "status": "success",
    "country": "US",
    "submitted_lines": 1015,
    "total": 1000,
    "invalid_cnt": 3,
    "no_code_cnt": 0,
    "other_country_cnt": 0,
    "duplicate_cnt": 12,
    "preparing": false,
    "success_cnt": 990,
    "failure_cnt": 10,
    "result_url": "https://…/result.csv",
    "created_at": "2026-09-08T09:30:00Z"
  }
}
Kolom hasil
Fieldcontoh:Deskripsi
identifier17253100591Nomor yang dikirim dalam bentuk digit polos dengan kode negara, tanpa tanda plus atau spasi (mis. 17253100591).
activatedtrueApakah nomor terdaftar di WhatsApp: true atau false. Jika nilainya bukan true, semua kolom lain di baris tersebut dibiarkan kosong.
avatartrueApakah akun memiliki avatar: true atau false. avatar_url tetap bisa kosong jika gambar tidak tersedia.
avatar_urlhttps://pps.whatsapp.net/v/example.jpgURL avatar; kosong jika tidak ada URL yang tersedia.

Pemeriksaan Business Massal WhatsApp

ws_business_batchtelepon1.000–500.000 per tugas

Periksa seluruh daftar untuk akun WhatsApp Business: apakah setiap nomor ada di WhatsApp, dan apakah akun tersebut merupakan akun WhatsApp Business.

Kirim tugas

POST/api/v1/bulk-tasks
Permintaan
curl -X POST "https://walookup.com/api/v1/bulk-tasks" \
  -H "X-API-Key: sk_your_api_key" \
  -F service_type=ws_business_batch \
  -F country=US \
  -F file=@numbers.txt
Respons
{
  "code": 0,
  "msg": "ok",
  "data": {
    "id": "3f9c2a7d8e4b4c1a9f0e6b2d5c8a7e13",
    "product": "ws_business_batch",
    "status": "processing",
    "country": "US",
    "submitted_lines": 1015,
    "total": 1015,
    "invalid_cnt": 0,
    "no_code_cnt": 0,
    "other_country_cnt": 0,
    "duplicate_cnt": 0,
    "preparing": true,
    "created_at": "2026-09-08T09:30:00Z"
  }
}

Periksa tugas

GET/api/v1/bulk-tasks/{id}
Permintaan
curl "https://walookup.com/api/v1/bulk-tasks/3f9c2a7d8e4b4c1a9f0e6b2d5c8a7e13" \
  -H "X-API-Key: sk_your_api_key"
Respons
{
  "code": 0,
  "msg": "ok",
  "data": {
    "id": "3f9c2a7d8e4b4c1a9f0e6b2d5c8a7e13",
    "product": "ws_business_batch",
    "status": "success",
    "country": "US",
    "submitted_lines": 1015,
    "total": 1000,
    "invalid_cnt": 3,
    "no_code_cnt": 0,
    "other_country_cnt": 0,
    "duplicate_cnt": 12,
    "preparing": false,
    "success_cnt": 990,
    "failure_cnt": 10,
    "result_url": "https://…/result.csv",
    "created_at": "2026-09-08T09:30:00Z"
  }
}
Kolom hasil
Fieldcontoh:Deskripsi
identifier17253100591Nomor yang dikirim dalam bentuk digit polos dengan kode negara, tanpa tanda plus atau spasi (mis. 17253100591).
activatedtrueApakah nomor terdaftar di WhatsApp: true atau false. Jika nilainya bukan true, semua kolom lain di baris tersebut dibiarkan kosong.
businessfalseApakah akun tersebut merupakan akun WhatsApp Business: true atau false.

Pemeriksaan Aktivitas Massal WhatsApp

ws_active_batchtelepon1.000–500.000 per tugas

Status pendaftaran ditambah hari aktif — jumlah hari sejak nomor terakhir aktif — sehingga Anda dapat membedakan nomor yang aktif dari yang tidak aktif di seluruh daftar.

Kirim tugas

POST/api/v1/bulk-tasks
Permintaan
curl -X POST "https://walookup.com/api/v1/bulk-tasks" \
  -H "X-API-Key: sk_your_api_key" \
  -F service_type=ws_active_batch \
  -F country=US \
  -F file=@numbers.txt
Respons
{
  "code": 0,
  "msg": "ok",
  "data": {
    "id": "3f9c2a7d8e4b4c1a9f0e6b2d5c8a7e13",
    "product": "ws_active_batch",
    "status": "processing",
    "country": "US",
    "submitted_lines": 1015,
    "total": 1015,
    "invalid_cnt": 0,
    "no_code_cnt": 0,
    "other_country_cnt": 0,
    "duplicate_cnt": 0,
    "preparing": true,
    "created_at": "2026-09-08T09:30:00Z"
  }
}

Periksa tugas

GET/api/v1/bulk-tasks/{id}
Permintaan
curl "https://walookup.com/api/v1/bulk-tasks/3f9c2a7d8e4b4c1a9f0e6b2d5c8a7e13" \
  -H "X-API-Key: sk_your_api_key"
Respons
{
  "code": 0,
  "msg": "ok",
  "data": {
    "id": "3f9c2a7d8e4b4c1a9f0e6b2d5c8a7e13",
    "product": "ws_active_batch",
    "status": "success",
    "country": "US",
    "submitted_lines": 1015,
    "total": 1000,
    "invalid_cnt": 3,
    "no_code_cnt": 0,
    "other_country_cnt": 0,
    "duplicate_cnt": 12,
    "preparing": false,
    "success_cnt": 990,
    "failure_cnt": 10,
    "result_url": "https://…/result.csv",
    "created_at": "2026-09-08T09:30:00Z"
  }
}
Kolom hasil
Fieldcontoh:Deskripsi
identifier17253100591Nomor yang dikirim dalam bentuk digit polos dengan kode negara, tanpa tanda plus atau spasi (mis. 17253100591).
activatedtrueApakah nomor terdaftar di WhatsApp: true atau false. Jika nilainya bukan true, semua kolom lain di baris tersebut dibiarkan kosong.
activedays9Jumlah hari sejak nomor terakhir aktif — makin kecil makin baru.

Saldo

GET/api/v1/balance

Baca saldo akun saat ini dalam mikro USD. Hanya-baca: tidak membuat catatan pemeriksaan dan tidak menagih apa pun.

Saldo

GET/api/v1/balance
Permintaan
curl "https://walookup.com/api/v1/balance" \
  -H "X-API-Key: sk_your_api_key"
Respons
{
  "code": 0,
  "msg": "ok",
  "data": {
    "balance_micros": 12500000
  }
}

Konkurensi, batas waktu, dan perilaku percobaan ulang

Pemeriksaan bersifat sinkron. Gunakan code yang dikembalikan untuk memutuskan apakah akan menerima hasil atau mencoba ulang.

FieldDeskripsi
5 permintaan berjalan per penggunaPemeriksaan tunggal dan multi berbagi batas ini, dan permintaan multi dihitung sebagai satu permintaan berapa pun jumlah nomor yang dibawanya. Selain itu, hanya satu pemeriksaan multi per akun yang berjalan dalam satu waktu; pemeriksaan kedua ditolak sampai yang pertama selesai. Mencapai salah satu batas akan langsung mengembalikan code 42901 tanpa tagihan, disertai header Retry-After — kirim ulang setelah permintaan yang sedang berjalan selesai.
60 dtk tunggal, 300 dtk multiMelewati batas waktu akan mengembalikan code 50400 tanpa tagihan. Pemeriksaan multi yang melewati batas waktu gagal secara keseluruhan — tanpa hasil parsial, dan seluruh jumlah dikembalikan.
Pemeriksaan multi menerima hingga 100 nomorHasil mempertahankan urutan dan jumlah seperti yang dikirim. Satu pemeriksaan multi per akun berjalan dalam satu waktu; kirim batch berikutnya setelah batch sebelumnya kembali.

Kode error

KodeDeskripsi
40000Tipe layanan tidak didukung atau field permintaan saling bertentangan
40001Body JSON tidak valid
40002Nomor tidak valid
40100Kunci API tidak ada atau tidak valid
40200Saldo tidak mencukupi
42200Nomor tidak dapat ditentukan saat ini. Tidak ada data yang dikembalikan dan permintaan tidak ditagihkan
42900Kuota penggunaan habis, atau terlalu banyak pesanan yang belum selesai
42901Kelima slot permintaan berjalan sudah terisi, atau pemeriksaan multi sedang berjalan di akun ini; kirim setelah permintaan yang sedang berjalan selesai. Permintaan yang ditolak tidak ditagihkan dan disertai header Retry-After
50303Layanan sedang mencapai kapasitas penuh; tidak ditagihkan. Tunggu selama Retry-After detik lalu kirim ulang permintaan yang sama
50400Pemeriksaan tidak selesai dalam batas waktunya dan tidak ditagihkan; coba lagi. Batas waktu batch membuat seluruh batch gagal dan seluruh jumlah dikembalikan
50300Pemeliharaan layanan validasi