Lewati ke konten utama
100+
Negara
1.000+ layanan. Bayar dengan kripto, tanpa KYC.
Beli Nomor

API Verifikasi SMS — SimNoKYC

Otomatiskan verifikasi OTP dalam skala besar. Beli nomor telepon virtual di 190+ negara, terima kode SMS dalam hitungan detik, sewa nomor jangka panjang khusus, dan kelola setiap pesanan melalui satu endpoint REST — tanpa API key, tanpa KYC, ditagih dalam mata uang kripto.

Waktu baca: 5 menit REST · JSON · OpenAPI 3.0 Spesifikasi OpenAPI →

Autentikasi diperlukan. Semua permintaan API menggunakan autentikasi sesi berbasis cookie. Anda harus masuk ke akun SimNoKYC untuk menggunakan API. Masuk melalui antarmuka web atau gunakan endpoint autentikasi untuk memulai sesi.

Mengapa pengembang memilih API SimNoKYC

SimNoKYC adalah API verifikasi SMS paling fleksibel untuk pengembang yang membutuhkan anonimitas, jangkauan global, dan harga yang dapat diprediksi. Berbeda dengan penyedia SMS-OTP lama yang membatasi akses di balik kontrak perusahaan, minimum bulanan, dan kuesioner KYC, SimNoKYC bekerja dengan klien HTTPS apa pun, menagih secara ketat per nomor, dan menerima 20+ mata uang kripto termasuk Bitcoin, Monero, Ethereum, USDT, USDC, Solana, Litecoin, XRP, TRON, dan Toncoin.

Kasus penggunaan tipikal meliputi otomatisasi pendaftaran akun untuk QA berskala besar, pengambilan kata sandi sekali pakai untuk agen headless dan bot CI, validasi alur yang memerlukan nomor telepon dalam continuous integration, menyewa nomor jangka panjang khusus untuk akun Telegram atau WhatsApp yang membutuhkan penerimaan SMS tanpa gangguan, dan menggerakkan verifikasi terdistribusi secara geografis di 190+ negara dengan kontrol tingkat operator eksplisit — virtual, fisik, atau premium.

Autentikasi

API menggunakan autentikasi sesi berbasis cookie. Untuk melakukan autentikasi secara terprogram:

  1. Kirim permintaan POST ke /auth-api.php dengan seed phrase Anda
  2. Simpan session cookie dari respons
  3. Sertakan cookie dalam semua permintaan API berikutnya
POST /auth-api.php

Autentikasi dengan seed phrase Anda dan buat sesi.

ParameterJenisWajibDeskripsi
actionstringwajib diisiMust be "login"
seedstringwajib diisiSeed akses 16 karakter Anda (mis. AbC3-dEf4-gHj5-kLm6)
cURL
Python
JavaScript
# Login and save session cookie curl -X POST https://simnokyc.com/auth-api.php \ -d "action=login&seed=AbC3-dEf4-gHj5-kLm6" \ -c cookies.txt
import requests session = requests.Session() resp = session.post("https://simnokyc.com/auth-api.php", data={ "action": "login", "seed": "AbC3-dEf4-gHj5-kLm6" }) data = resp.json() print(data) # {"success": true, "user": {...}} # session object now holds the cookie for all future requests
const resp = await fetch("https://simnokyc.com/auth-api.php", { method: "POST", credentials: "include", headers: { "Content-Type": "application/x-www-form-urlencoded" }, body: "action=login&seed=AbC3-dEf4-gHj5-kLm6" }); const data = await resp.json(); console.log(data); // {success: true, user: {...}}
Respons Berhasil
{ "success": true, "user": { "id": 42, "prefix": "AbC3", "balance": "74.50" } }
Respons Error
{ "success": false, "error": "Invalid seed." }

URL Dasar

Semua endpoint API relatif terhadap:

https://simnokyc.com/api.php?action={action}

Semua respons berformat JSON. Endpoint POST menerima body permintaan application/json maupun application/x-www-form-urlencoded.

Batas Laju

API memberlakukan batas permintaan berikut:

EndpointLimitWindow
Autentikasi5 percobaan15 menit
Semua endpoint lainnyaNo hard limit

Pembatasan permintaan: Autentikasi dibatasi hingga 5 percobaan per 15 menit. Endpoint lain saat ini tidak dibatasi, namun penggunaan berlebihan dapat diperlambat. Gunakan interval permintaan yang wajar.

Penanganan Error

Semua error mengembalikan objek JSON dengan field <code>error</code>:

{ "error": "Description of what went wrong" }
Kode HTTPMeaning
200Berhasil (periksa isi respons untuk kesalahan pada level aplikasi)
403Token CSRF tidak valid
405Metode HTTP salah (mis. GET pada endpoint yang hanya menerima POST)
429Batas laju terlampaui

Common application-level errors:

ErrorCause
"Login required"Sesi kedaluwarsa atau tidak terautentikasi
"Insufficient balance"Dana tidak mencukupi — menyertakan kolom need dan have
"Service not available for this country"No stock or service inactive for the selected country
"Missing country or service"Parameter yang diperlukan tidak diberikan

List Countries

GET /api.php?action=countries

Mengembalikan semua negara aktif dengan nomor virtual yang tersedia. Tidak diperlukan autentikasi.

cURL
Python
JavaScript
curl https://simnokyc.com/api.php?action=countries
resp = session.get("https://simnokyc.com/api.php", params={"action": "countries"}) countries = resp.json() for c in countries: print(c["code"], c["name"])
const resp = await fetch("https://simnokyc.com/api.php?action=countries"); const countries = await resp.json();
Respons
[ { "id": 1, "code": "us", "name": "USA" }, { "id": 2, "code": "gb", "name": "UK" }, { "id": 3, "code": "de", "name": "Germany" } ]

List Services

GET /api.php?action=services&country={code}

Mengembalikan layanan yang tersedia untuk negara tertentu, termasuk harga dan stok. Tanpa kode negara, mengembalikan semua layanan tanpa harga.

ParameterJenisWajibDeskripsi
countrystringopsionalKode negara ISO 3166-1 alpha-2 (mis. us, gb, de)
Respons (dengan negara)
[ { "id": 12, "name": "WhatsApp", "slug": "whatsapp", "icon_code": "WA", "icon_color": "#25d366", "category": "social", "price": "0.35", "stock": 847 } ]

List Operators

GET /api.php?action=operators&country={code}

Mengembalikan operator (operator) yang tersedia untuk negara tertentu. Setiap operator memiliki jenis dan pengganda harga yang diterapkan pada harga layanan dasar.

ParameterJenisWajibDeskripsi
countrystringwajib diisiKode negara ISO 3166-1 alpha-2
Respons
[ { "id": 5, "name": "T-Mobile", "type": "physical", "price_multiplier": "1.50", "icon_slug": "tmobile", "icon_domain": "t-mobile.com" } ]

Jenis operator: virtual — Nomor VoIP, termurah, mungkin diblokir oleh beberapa layanan. physical — kartu SIM nyata, tingkat keberhasilan lebih tinggi. premium — pengiriman tercepat (~10 dtk), tingkat keberhasilan tertinggi.

Beli Nomor (Aktivasi SMS)

POST /api.php?action=buy

Beli nomor virtual untuk verifikasi SMS sekali pakai. Nomor aktif selama 20 menit. Jika tidak ada SMS yang diterima, saldo Anda akan dikembalikan secara otomatis.

ParameterJenisWajibDeskripsi
countrystringwajib diisiKode negara (mis. us)
service_idintegerwajib diisiID Layanan dari Daftar Layanan
operator_idintegeropsionalID Operator dari Daftar Operator. Abaikan untuk operator default.
cURL
Python
JavaScript
curl -X POST https://simnokyc.com/api.php?action=buy \ -b cookies.txt \ -H "Content-Type: application/json" \ -d '{"country":"us","service_id":12,"operator_id":5}'
resp = session.post("https://simnokyc.com/api.php?action=buy", json={ "country": "us", "service_id": 12, "operator_id": 5 }) order = resp.json() print(f"Order #{order['order_id']} — ${order['price']}")
const resp = await fetch("https://simnokyc.com/api.php?action=buy", { method: "POST", credentials: "include", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ country: "us", service_id: 12, operator_id: 5 }) }); const order = await resp.json();
Respons Berhasil
{ "success": true, "order_id": 1847, "price": 0.53, "balance": "73.97" }
Error: Saldo Tidak Mencukupi
{ "error": "Insufficient balance", "need": 0.53, "have": "0.10" }

List Orders

GET /api.php?action=orders

Mengembalikan 50 pesanan terbaru Anda, termasuk nomor telepon dan kode SMS. Lakukan polling pada endpoint ini untuk memeriksa kode SMS masuk pada pesanan aktif.

Respons
[ { "id": 1847, "price": "0.53", "status": "completed", "phone_number": "+12025551234", "sms_code": "847293", "created_at": "2026-04-09 14:32:00", "country_code": "us", "country_name": "USA", "service_name": "WhatsApp", "operator_name": "T-Mobile" } ]

Status pesanan: active — menunggu SMS. completed — SMS diterima. cancelled — dibatalkan oleh pengguna. refunded — pengembalian otomatis (tidak ada SMS sebelum batas waktu). expired — kedaluwarsa.

Cek Harga Sewa

GET /api.php?action=rental_price&country={code}&operator_id={id}&duration={days}

Cek harga sewa nomor khusus dari operator tertentu untuk durasi tertentu.

ParameterJenisWajibDeskripsi
countrystringwajib diisiKode negara
operator_idintegerwajib diisiID Operator
durationintegerwajib diisiDurasi sewa dalam hari: 7, 14, 30, atau 90
Respons
{ "price": "12.50", "duration": 30, "operator": "T-Mobile", "type": "physical", "country": "USA" }

Sewa Nomor

POST /api.php?action=rental_buy

Sewa satu atau lebih nomor telepon khusus. Nomor tersebut sepenuhnya milik Anda selama seluruh periode sewa dan menerima SMS masuk tak terbatas.

ParameterJenisWajibDeskripsi
countrystringwajib diisiKode negara
operator_idintegerwajib diisiID Operator
durationintegerwajib diisi7, 14, 30, atau 90 hari
qtyintegeropsionalJumlah nomor yang akan disewa (1–10, default: 1)
Respons Berhasil
{ "success": true, "order_ids": [1848, 1849], "total": 25.00, "qty": 2, "unit_price": 12.50, "duration": 30, "balance": "49.50" }

Dapatkan Info Pengguna

GET /api.php?action=user

Mengembalikan informasi akun dan saldo pengguna saat ini. Gunakan ini untuk memeriksa status autentikasi dan dana yang tersedia.

Terautentikasi
{ "logged_in": true, "id": 42, "prefix": "AbC3", "balance": "74.50" }
Tidak Terautentikasi
{ "logged_in": false }

Contoh Alur Kerja Lengkap

Berikut contoh Python lengkap yang melakukan autentikasi, menemukan layanan, membeli nomor, dan memeriksa kode SMS:

Python
import requests, time BASE = "https://simnokyc.com" SEED = "AbC3-dEf4-gHj5-kLm6" s = requests.Session() # 1. Authenticate s.post(f"{BASE}/auth-api.php", data={"action": "login", "seed": SEED}) # 2. Check balance user = s.get(f"{BASE}/api.php?action=user").json() print(f"Balance: ${user['balance']}") # 3. Get services for USA services = s.get(f"{BASE}/api.php?action=services&country=us").json() whatsapp = next(svc for svc in services if svc["name"] == "WhatsApp") print(f"WhatsApp: ${whatsapp['price']} ({whatsapp['stock']} in stock)") # 4. Buy a number order = s.post(f"{BASE}/api.php?action=buy", json={ "country": "us", "service_id": whatsapp["id"] }).json() print(f"Order #{order['order_id']} created") # 5. Poll for SMS code for _ in range(60): orders = s.get(f"{BASE}/api.php?action=orders").json() my_order = next(o for o in orders if o["id"] == order["order_id"]) if my_order["sms_code"]: print(f"SMS code: {my_order['sms_code']}") print(f"Phone: {my_order['phone_number']}") break print("Waiting for SMS...") time.sleep(5) else: print("Timeout — balance will be refunded automatically")

Pertanyaan yang Sering Diajukan

Apa yang bisa saya lakukan dengan API verifikasi SMS SimNoKYC?

API SimNoKYC memberikan pengembang akses terprogram ke nomor telepon virtual di 190+ negara untuk verifikasi SMS sekali pakai (kode OTP) dan sewa nomor jangka panjang (7, 14, 30, atau 90 hari). Anda dapat mencantumkan layanan, menanyakan harga langsung, mengalokasikan nomor, mengambil kode SMS masuk, dan mengembalikan aktivasi yang gagal — semuanya melalui antarmuka REST JSON, tanpa KYC dan pembayaran hanya kripto.

Apakah saya perlu API key atau token OAuth untuk menggunakan API?

Tidak. API SimNoKYC menggunakan autentikasi sesi berbasis cookie: kirim satu permintaan POST ke /auth-api.php dengan seed akses 16 karakter Anda, lalu gunakan kembali cookie sesi yang dikembalikan pada setiap panggilan berikutnya. Tidak ada API key yang perlu disediakan, dirotasi, atau dicabut — Anda mengautentikasi sekali per sesi dan tetap terautentikasi selama masa berlaku cookie.

Berapa biaya menggunakan API SimNoKYC?

API-nya sendiri gratis — tidak ada biaya bulanan, tidak ada langganan, dan tidak ada volume permintaan minimum. Anda hanya membayar per nomor: aktivasi SMS sekali pakai mulai $0,05 dan sewa nomor jangka panjang khusus mulai $4,79 untuk 7 hari. Setiap tindakan ditagih dari saldo prabayar Anda, dan aktivasi yang gagal menerima SMS akan dikembalikan secara otomatis.

Bahasa pemrograman dan framework apa yang didukung?

Bahasa atau platform apa pun yang dapat mengirimkan permintaan HTTPS dapat memanggil API — Python (requests, httpx), Node.js (fetch, axios), Go, PHP, Ruby, Java, C#, Bash dengan cURL, dan lainnya. Dokumentasi dilengkapi contoh siap pakai dalam cURL, Python, dan JavaScript, serta spesifikasi OpenAPI 3.0 lengkap diterbitkan di /openapi.json sehingga Anda dapat membuat klien bertipe secara otomatis dalam bahasa pilihan Anda.

Apa yang terjadi jika kode verifikasi SMS saya tidak pernah tiba?

Setiap aktivasi memiliki jendela pengiriman 20 menit. Jika tidak ada SMS yang tiba sebelum jendela tersebut berakhir, pesanan dibatalkan secara otomatis dan harga penuh dikreditkan kembali ke saldo akun Anda — tanpa tiket dukungan, tanpa percobaan ulang manual. Anda dapat segera menggunakan saldo yang dikembalikan untuk mengalokasikan nomor lain, opsional pada tingkat operator berbeda (virtual, fisik, atau premium) untuk keberhasilan pengiriman yang lebih tinggi.

Apakah ada batas laju pada API SimNoKYC?

Autentikasi dibatasi lajunya hingga 5 percobaan per 15 menit per IP, yang melindungi dari enumerasi seed brute-force. Semua endpoint lain — katalog, beli, pesanan, sewa — saat ini tidak memiliki batas laju keras, tetapi kami meminta agar Anda menjaga interval permintaan yang wajar: polling /api.php?action=orders setiap 3–5 detik sudah cukup untuk pengambilan SMS, dan lonjakan berkelanjutan di atas ~10 req/s dapat dibatasi di lapisan WAF.