VIRTUAL NUMBER · OTP INSTANT · GLOBAL

Minta Nomor, Terima OTP

Semua layanan dan semua negara tampil di sini. Pilih, ambil nomor, lalu OTP masuk otomatis ke inbox.

➕ Minta Nomor Baru

—

🌍 Katalog Layanan & Negara

…
⏳
Memuat katalog…

📱 Nomor Aktif

🔒 Riwayat pribadi: hanya tampil di perangkat ini dan tidak terlihat oleh pengguna lain.
📞 0 nomor 👁 tampil 0 🌐 0 negara 🧩 0 layanan 🔑 0 OTP hari ini tersedia: —
📡
Memuat nomor…
Menghubungkan ke sumber data.
DASHBOARD Inbox OTP
🌐
—
—
Update: —
REALTIME Live Global OTP
📡
Memuat live feed…
Mengambil OTP terbaru dari semua nomor.
PROFILDeveloper
DEVELOPER PROFILE

Rizaldev

Founder & Developer · FREEOTP

Membangun produk web yang cepat, ringkas, dan terasa matang di layar mana pun. FREEOTP lahir dari satu tujuan sederhana: mendapatkan nomor virtual dan kode OTP tanpa proses yang berbelit.

Web DeveloperUI EngineerAPI Integrator
🌐 Website Developer
—Layanan
—Negara
0Nomor di riwayatmu
v2.1Versi FREEOTP

Tentang

Developer dan proyeknya

Tentang Developer

Rizaldev adalah developer di balik FREEOTP. Ia membangun produk dengan pendekatan yang ringkas: mulai dari kebutuhan nyata pengguna, lalu merapikannya sampai setiap langkah terasa jelas dan cepat.

Dari katalog layanan hingga inbox OTP real-time, semuanya dirancang dengan standar yang sama: antarmuka tegas yang mudah dibaca, performa ringan tanpa framework berat, dan tata letak yang nyaman dipakai di HP maupun desktop.

Dokumentasi API dibuka agar developer lain bisa memakai layanan yang sama di aplikasinya sendiri.

Fokus Utama

  • Antarmuka yang jelas dan responsif di semua ukuran layar
  • Kecepatan dan kestabilan layanan
  • Privasi riwayat setiap pengguna
  • Integrasi API yang terbuka dan terdokumentasi

Tentang Website

FREEOTP · Virtual number & OTP service

FREEOTP

FREEOTP adalah layanan nomor virtual dengan penerimaan OTP instan. Kamu cukup memilih layanan dan negara, mengambil nomor, lalu kode verifikasi muncul otomatis di inbox, tanpa perlu membuat akun.

Setiap pengguna memiliki riwayat nomornya sendiri yang tersimpan di perangkatnya, sehingga daftar Nomor Aktif tidak bercampur dengan pengguna lain.

Fitur Unggulan

Yang kamu dapat di FREEOTP
🌍Katalog GlobalLayanan dan negara dimuat langsung dari provider, lengkap dengan jumlah nomor yang tersedia.
⚡OTP Real-timeInbox memeriksa pesan masuk otomatis tiap 5 detik, dengan salin kode otomatis dan bunyi notifikasi.
📱Riwayat PribadiNomor Aktif hanya tampil di perangkatmu. Setiap pengguna punya riwayatnya masing-masing.
🔌API & DokumentasiEndpoint terbuka dengan dokumentasi lengkap dan contoh kode yang siap dipakai.
🌗Tema Terang & GelapTampilan nyaman di mata dan mengikuti pilihanmu.
📐Responsif PenuhTata letak menyesuaikan HP, tablet, dan desktop tanpa ada bagian yang terpotong.
🗑Kontrol PenuhLepas satu nomor atau semuanya sekaligus, kapan pun kamu mau.

Cara Kerja

Empat langkah sampai OTP masuk
Pilih layanan & negaraTentukan aplikasi tujuan dan negara nomor yang kamu butuhkan.
Ambil nomorNomor virtual disiapkan dalam hitungan detik dan masuk ke riwayatmu.
Gunakan nomornyaPakai nomor itu untuk mendaftar atau login, lalu minta kode verifikasi.
Terima OTPKode muncul otomatis di inbox dan siap disalin.

Teknologi

Dibangun ringan dan terbuka
HTML5CSS3JavaScriptREST API · JSONCloudflare WorkersWeb Storage

Ada masukan atau ingin berkolaborasi?

Kunjungi website developer untuk informasi lebih lanjut tentang proyek lainnya.

🌐 Kunjungi Website
DEVELOPER CENTERFREEOTP API Documentation
PUBLIC API · FREEOTP

Integrasikan FREEOTP ke website kamu

Gunakan API FREEOTP untuk mengambil layanan, memilih negara, meminta nomor virtual, dan membaca pesan OTP dari aplikasi buatanmu sendiri.

Base URL Memuat alamat API…
Autentikasi: endpoint publik saat ini tidak memerlukan API key. Semua request mengharapkan respons JSON. Jangan gunakan API publik untuk data sensitif atau aktivitas yang melanggar ketentuan layanan.

1. Daftar Layanan

Mengambil layanan yang tersedia beserta jumlah nomor yang tersedia.

GET/api/services

Parameter: tidak ada.

GET {BASE_URL}/api/services

Respons sukses: JSON berisi daftar layanan. Struktur contoh:

{
  "success": true,
  "services": [
    { "name": "WhatsApp", "count": 120 },
    { "name": "Telegram", "count": 45 }
  ]
}

2. Daftar Negara

Mengambil negara yang tersedia untuk layanan tertentu.

GET/api/countries?service=WhatsApp
ParameterJenisWajibKeterangan
servicestringYaNama layanan, misalnya WhatsApp.
GET {BASE_URL}/api/countries?service=WhatsApp
{
  "success": true,
  "countries": [
    { "name": "Indonesia", "count": 20 },
    { "name": "Malaysia", "count": 12 }
  ]
}

3. Minta Nomor Virtual

Membuat permintaan nomor baru berdasarkan layanan dan negara.

POST/api/request_number

Header: Content-Type: application/json

BodyJenisWajibKeterangan
servicestringYaNama layanan.
countrystringYaNama negara dari endpoint countries.
POST {BASE_URL}/api/request_number
Content-Type: application/json

{
  "service": "WhatsApp",
  "country": "Indonesia"
}

Respons contoh:

{
  "success": true,
  "number": "6281234567890",
  "id": "transaction_id"
}

4. Nomor Aktif

Menampilkan daftar nomor aktif yang tercatat pada layanan API.

GET/api/my_numbers

Parameter: tidak ada.

GET {BASE_URL}/api/my_numbers
{
  "success": true,
  "numbers": [
    {
      "number": "6281234567890",
      "country": "Indonesia",
      "service": "WhatsApp"
    }
  ]
}

5. Lepas Nomor

Melepaskan nomor aktif agar tidak digunakan lagi.

POST/api/release_number

Header: Content-Type: application/json

BodyJenisWajib
numberstringYa
POST {BASE_URL}/api/release_number
Content-Type: application/json

{ "number": "6281234567890" }

6. OTP Terbaru

Mengecek kode OTP terbaru untuk satu nomor.

GET/api/latest_otp?number=6281234567890
ParameterJenisWajib
numberstringYa
GET {BASE_URL}/api/latest_otp?number=6281234567890
{
  "success": true,
  "has_otp": true,
  "otp_code": "123456"
}

7. Riwayat OTP

Mengambil riwayat OTP. Parameter number bersifat opsional jika server mendukung filter per nomor.

GET/api/my_otps?limit=10
ParameterJenisWajibKeterangan
limitintegerTidakJumlah data yang diminta; contoh 10.
numberstringTidakFilter riwayat berdasarkan nomor, jika didukung.
GET {BASE_URL}/api/my_otps?limit=10
GET {BASE_URL}/api/my_otps?number=6281234567890&limit=10
{
  "success": true,
  "otps": []
}

8. Live Feed OTP Publik

Mengambil daftar OTP terbaru dari feed publik.

GET/api/otp?count=10
ParameterJenisWajib
countintegerTidak
GET {BASE_URL}/api/otp?count=10
{
  "success": true,
  "data": []
}

9. Statistik

Mengambil statistik performa dan status global.

GET/api/stats/detailed?period=daily
ParameterJenisWajibKeterangan
periodstringTidakPeriode statistik, contoh daily.
GET {BASE_URL}/api/stats/detailed?period=daily
{
  "success": true,
  "countries_count": 0,
  "otp_count": 0,
  "available_numbers": 0
}

10. Contoh Integrasi

Gunakan Base URL yang ditampilkan di atas. Ganti nilai service dan country sesuai hasil endpoint layanan dan negara.

JavaScript (Fetch)

const API_BASE = "GUNAKAN_BASE_URL_DI_ATAS";

async function getServices() {
  const response = await fetch(`${API_BASE}/api/services`);
  if (!response.ok) throw new Error(`HTTP ${response.status}`);
  return response.json();
}

getServices()
  .then(data => console.log(data))
  .catch(console.error);

PHP (cURL)

<?php
$base = 'GUNAKAN_BASE_URL_DI_ATAS';
$url = $base . '/api/services';

$ch = curl_init($url);
curl_setopt_array($ch, [
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_HTTPHEADER => ['Accept: application/json'],
  CURLOPT_TIMEOUT => 20
]);

$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
if ($response === false) {
  throw new RuntimeException(curl_error($ch));
}
curl_close($ch);

http_response_code($status);
$data = json_decode($response, true);
print_r($data);
?>

cURL

curl -X GET "GUNAKAN_BASE_URL_DI_ATAS/api/services" \\
  -H "Accept: application/json"

curl -X POST "GUNAKAN_BASE_URL_DI_ATAS/api/request_number" \\
  -H "Content-Type: application/json" \\
  -d '{"service":"WhatsApp","country":"Indonesia"}'
Catatan implementasi: contoh respons di halaman ini adalah ilustrasi format dokumentasi, bukan jaminan field persis dari server. Sesuaikan dengan JSON aktual yang dikembalikan endpoint API FREEOTP. Untuk produksi, aktifkan pembatasan request (rate limit), logging, HTTPS, dan kontrol akses jika endpoint digunakan untuk data pribadi.
CUSTOM DOMAINDomain Saya

🔗 Pakai Domain Sendiri

0 domain
Setiap akun hanya dapat mengaktifkan satu subdomain. Verifikasi kepemilikan dengan TXT, lalu arahkan CNAME ke rizaldev.cloud.
—

🌐 Subdomain Akun

Maksimal 1 per akun

❓ Cara Kerja

Tambah domainKetik domain/subdomain, misalnya otp.kamu.com, lalu tekan Tambah Domain.
Pasang record TXTSalin Host dan Value TXT ke pengaturan DNS domainmu untuk membuktikan kamu pemiliknya.
Pasang record CNAMEArahkan subdomain milikmu ke rizaldev.cloud lewat record CNAME.
Cek DNS & aktifkanTekan Cek DNS. Bila keduanya cocok, domain didaftarkan otomatis ke hosting dan tombol Buka Domain muncul.
Penting: perubahan DNS bisa butuh beberapa menit sampai beberapa jam. Setelah DNS cocok, domain didaftarkan otomatis ke hosting FREEOTP dan HTTPS biasanya aktif dalam beberapa menit. Jika domain belum terbuka padahal sudah berstatus Aktif, tunggu sebentar lalu muat ulang.
Record TXT memakai nama _freeotp di depan domain (bukan di domain itu sendiri) karena sebuah nama yang sudah memakai CNAME tidak boleh punya record lain. Bila panel DNS-mu otomatis menambahkan nama domain utama, isi bagian depannya saja, misalnya _freeotp.otp.