DetekLimitin API
REST API · v1.1 · docs.wspro.dev

WhatsApp Tools
API yang Simpel

Cek Bio WhatsApp massal, detect status OTP, dan kelola API Key dengan mudah. Khusus pengguna Premium.

Beli Premium Lihat Endpoint →

Cek Bio Massal

Periksa bio & info WhatsApp banyak nomor sekaligus dalam satu request.

Detect OTP Status

Pantau status cooldown OTP nomor WhatsApp tanpa perlu sesi WA aktif.

Kelola API Key

Generate, regenerate, atau revoke API Key kapan saja lewat endpoint publik.

Base URL
https://api.wspro.dev
Rate Limit
30 req / menit
Format
JSON
Autentikasi

Semua endpoint (kecuali /api/docs dan /api/generate-key) butuh API Key. Kirim lewat salah satu cara:

Header (direkomendasikan)
X-API-Key: dl_xxx
Query Parameter
?api_key=dl_xxx
Request Body
"api_key": "dl_xxx"
Rate limit: Melebihi 30 request per menit → server mengembalikan HTTP 429. Tunggu 60 detik sebelum retry.
Endpoints
GET /api/docs Publik

Dokumentasi endpoint dalam format JSON. Tidak butuh autentikasi.

Response 200
{
  "name": "DetekLimitin API",
  "version": "1.1",
  "bot_username": "namabot",
  "bot_url": "https://t.me/namabot",
  "rate_limit": "30 request per menit",
  "endpoints": [...]
}
POST /api/generate-key Publik

Generate atau regenerate API Key. User harus sudah Premium. Key lama langsung tidak berlaku.

Request Body
{ "telegram_id": 123456789 }
Response 200
{
  "success": true,
  "api_key": "dl_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
  "regenerated": false,
  "message": "Simpan API Key ini — hanya ditampilkan sekali."
}
Error Codes
KodePenyebab
400telegram_id kosong atau bukan angka
403User belum atau sudah tidak Premium
404User tidak ditemukan (belum pernah /start bot)
DELETE /api/revoke-key Auth

Revoke API Key aktif. Setelah ini key tidak bisa dipakai dan harus generate ulang.

Header
X-API-Key: dl_xxx
Response 200
{ "success": true, "message": "API Key berhasil di-revoke." }
GET /api/me Auth

Info akun dan sisa rate limit dari API Key yang dipakai.

Response 200
{
  "success": true,
  "userId": 123456789,
  "username": "namauser",
  "premium": false,
  "apiPlan": { "id": "api_starter", "expiresAt": "2025-02-01T00:00:00.000Z" },
  "quota": {
    "planId": "api_starter",
    "planName": "Starter (30 Hari)",
    "expiresAt": "2025-02-01T00:00:00.000Z",
    "quotaPeriod": "lifetime",
    "cekBio":  { "used": 250, "max": 500, "planMax": 1000, "custom": 500 },
    "detect":  { "used": 80,  "max": 500, "planMax": 500,  "custom": null },
    "limitin": { "used": 10,  "max": 100, "planMax": 100,  "custom": null }
  },
  "rateLimit": { "remaining": 28, "max": 30, "window": "60s" }
}
max = limit efektif (custom jika di-set, planMax jika tidak). custom: null = pakai default plan.
PATCH /api/quota Auth

Set limit custom per fitur — boleh lebih rendah dari batas plan. Kirim "default" atau null untuk reset ke default plan. Hanya field yang dikirim yang berubah.

Request Body
{
  "cekBio": 500,
  "detect": null,
  "limitin": "default"
}
Parameter
FieldTipeWajibKeterangan
cekBionumber | "default"OpsionalMaks sesuai plan. null / "default" = reset ke planMax
detectnumber | "default"OpsionalSama seperti di atas
limitinnumber | "default"OpsionalSama seperti di atas
Response 200
{
  "success": true,
  "message": "Custom limit berhasil diupdate.",
  "customLimits": {
    "cekBio": 500,
    "detect": null,
    "limitin": null
  }
}
Error Codes
KodePenyebab
400Nilai bukan integer ≥ 0 atau melebihi planMax
403Tidak ada plan API aktif
GET /api/sessions Auth

Status sesi WhatsApp yang terhubung ke akun kamu. Cek ini sebelum pakai /api/cek-bio.

Response 200
{
  "success": true,
  "status": "CONNECTED",
  "ready": true,
  "sessions": [{ "sessionId": 1, "phone": "628123456789" }],
  "hint": "Sesi aktif. Siap untuk Cek Bio."
}
Jika ready: false — connect WA dulu lewat bot Telegram sebelum menggunakan /api/cek-bio.
POST /api/cek-bio Auth

Cek bio WhatsApp massal. Butuh sesi WA aktif — connect dulu lewat bot Telegram.

Request Body
{
  "numbers": ["6281234567890", "6289876543210"],
  "mode": "simple",
  "speed": "normal"
}
Parameter
FieldTipeWajibKeterangan
numbersstring[]✦ WajibMaks 50 nomor format internasional
modestringOpsionalsimple (default) atau detail
speedstringOpsionalnormal (default) atau brutal
Response 200
{
  "success": true,
  "mode": "simple",
  "summary": { "total": 2, "registered": 1, "unregistered": 1 },
  "results": {
    "private": [{
      "number": "6281234567890",
      "registered": true,
      "bio": "Halo!",
      "hasBio": true,
      "profilePic": true
    }],
    "unregistered": [{ "number": "6289876543210", "registered": false }]
  }
}
Error Codes
KodePenyebab
400Array kosong, nomor tidak valid, atau melebihi 50
503Sesi WA belum aktif
504Timeout — kurangi jumlah nomor
POST /api/detect Auth

Cek status cooldown OTP nomor WhatsApp. Tidak butuh sesi WA.

Request Body
{ "number": "6281234567890" }
Response 200
{
  "success": true,
  "number": "6281234567890",
  "status": "ready",
  "sms": { "status": "ready", "waitSec": 0, "cooldownFmt": "READY" },
  "wa_old": { "status": "cooldown", "waitSec": 150, "cooldownFmt": "COOLDOWN 2m 30s" }
}
Status Values
NilaiArti
readyNomor siap terima OTP
cooldownMasih cooldown, lihat waitSec
bannedNomor diblokir platform
invalidNomor tidak valid
POST /api/limitin Auth

Kirim OTP berulang ke nomor WhatsApp. Tidak butuh sesi WA.

Request Body
{
  "number": "6281234567890",
  "method": "sms",
  "max_attempts": 5
}
Parameter
FieldTipeWajibKeterangan
numberstring✦ WajibFormat internasional, contoh: 6281234567890
methodstringOpsionalsms, voice, wa_old, flash
max_attemptsnumberOpsional1–10, default 5
Response 200
{
  "success": true,
  "status": "sent",
  "sent_count": 3,
  "results": [
    { "attempt": 1, "sent": false, "status": "cooldown" },
    { "attempt": 2, "sent": false, "status": "cooldown" },
    { "attempt": 3, "sent": true,  "status": "sent"    }
  ]
}
Status Values
NilaiArti
sentOTP berhasil dikirim minimal sekali
cooldownSemua attempt kena cooldown
blockedNomor diblokir / banned
disabledMethod tidak tersedia untuk nomor ini
timeoutMelebihi batas waktu 5 menit
Cara Dapat API Key
  • Buka bot Telegram dan klik Beli Premium, lalu selesaikan pembayaran via QRIS.

  • Setelah Premium aktif, panggil POST /api/generate-key dengan telegram_id kamu.

  • Simpan API Key yang diberikan — tidak bisa dilihat lagi setelah ini.

  • Kalau lupa atau mau ganti, panggil endpoint yang sama lagi — key lama langsung tidak berlaku.

Buka Bot Telegram
Error Codes
KodeArti
400Bad request — input salah atau tidak lengkap
401API Key tidak ada atau tidak valid
403Belum Premium / plan API tidak aktif
404User tidak ditemukan
429Rate limit (30 req/menit) atau kuota fitur habis
500Server error
503Layanan tidak tersedia (sesi WA belum aktif)
504Gateway timeout