Ana içeriğe geç
100+
Ülkeler
1000+ hizmet. Kripto ile öde, KYC yok.
Numara Satın Al

SMS Doğrulama API — SMSBurner

OTP doğrulamasını büyük ölçekte otomatikleştirin. 190'dan fazla ülkede sanal telefon numarası satın alın, SMS kodlarını saniyeler içinde alın, uzun vadeli özel numaralar kiralayın ve tüm siparişleri tek bir REST uç noktasından yönetin — API anahtarı yok, KYC yok, kripto para ile faturalandırma.

Okuma süresi: 5 dk REST · JSON · OpenAPI 3.0 OpenAPI özelliği →

Kimlik doğrulama gerekli. Tüm API istekleri çerez tabanlı oturum kimlik doğrulaması kullanır. API'yi kullanmak için SMSBurner hesabınıza giriş yapmış olmanız gerekir. Web arayüzü üzerinden giriş yapın veya oturum oluşturmak için kimlik doğrulama uç noktasını kullanın.

Geliştiriciler SMSBurner API'sini neden tercih ediyor?

SMSBurner, anonimlik, küresel kapsam ve öngörülebilir fiyatlandırma isteyen geliştiriciler için en esnek SMS doğrulama API'sidir. Erişimi kurumsal sözleşmeler, aylık minimumlar ve KYC anketleri arkasına kilitleyen eski SMS-OTP sağlayıcılarının aksine, SMSBurner her HTTPS istemcisiyle çalışır, yalnızca numara başına ücret alır ve Bitcoin, Monero, Ethereum, USDT, Solana, Litecoin ve TRON dahil 8 kripto parayı kabul eder.

Tipik kullanım senaryoları şunlardır: ölçekli QA için hesap kayıtlarını otomatikleştirme, gizli ajanlar ve CI botları için tek kullanımlık şifreler alma, sürekli entegrasyonda telefon gerektiren akışları doğrulama, kesintisiz SMS alımı gerektiren Telegram veya WhatsApp hesapları için uzun vadeli özel numaralar kiralama ve 190'dan fazla ülkede açık operatör katmanı kontrolüyle (sanal, fiziksel veya premium) coğrafi dağıtımlı doğrulama sağlama.

Kimlik Doğrulama

API, çerez tabanlı oturum kimlik doğrulaması kullanır. Programatik olarak kimlik doğrulamak için:

  1. /auth-api.php adresine seed ifadenizle bir POST isteği gönderin
  2. Yanıttan gelen oturum çerezini saklayın
  3. Çerezi sonraki tüm API isteklerine dahil edin
POST /auth-api.php

Seed ifadenizle kimlik doğrulaması yapın ve bir oturum başlatın.

ParametreTürZorunluAçıklama
actionstringzorunlu"login" olmalıdır
seedstringzorunlu16 karakterlik erişim seed'iniz (örn. AbC3-dEf4-gHj5-kLm6)
cURL
Python
JavaScript
# Login and save session cookie curl -X POST https://smsburner.com/auth-api.php \ -d "action=login&seed=AbC3-dEf4-gHj5-kLm6" \ -c cookies.txt
import requests session = requests.Session() resp = session.post("https://smsburner.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://smsburner.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: {...}}
Başarılı yanıt
{ "success": true, "user": { "id": 42, "prefix": "AbC3", "balance": "74.50" } }
Hata yanıtı
{ "success": false, "error": "Invalid seed." }

Temel URL

Tüm API uç noktaları şuna görelidir:

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

Tüm yanıtlar JSON formatındadır. POST uç noktaları hem application/json hem de application/x-www-form-urlencoded istek gövdelerini kabul eder.

İstek limitleri

API aşağıdaki hız sınırlarını uygular:

Uç NoktaLimitPencere
Kimlik Doğrulama5 deneme15 dakika
Diğer tüm endpoint'lerKesin limit yok

Hız sınırlaması: Kimlik doğrulama 15 dakikada 5 denemeyle sınırlıdır. Diğer endpoint'ler şu anda sınırlı değildir, ancak aşırı kullanım kısıtlanabilir. Makul istek aralıkları kullanın.

Hata yönetimi

Tüm hatalar bir <code>error</code> alanı içeren JSON nesnesi döndürür:

{ "error": "Description of what went wrong" }
HTTP KoduAnlam
200Başarılı (uygulama düzeyindeki hatalar için yanıt gövdesini kontrol edin)
403Geçersiz CSRF token
405Yanlış HTTP metodu (örn. yalnızca POST endpoint'inde GET)
429Hız limiti aşıldı

Yaygın uygulama düzeyinde hatalar:

HataNeden
"Login required"Oturum süresi doldu veya kimliği doğrulanmadı
"Insufficient balance"Yetersiz bakiye — need ve have alanlarını içerir
"Service not available for this country"Seçilen ülke için stok yok veya hizmet aktif değil
"Missing country or service"Gerekli parametreler sağlanmadı

Ülkeleri Listele

GET /api.php?action=countries

Mevcut sanal numaralara sahip tüm aktif ülkeleri döndürür. Kimlik doğrulama gerekli değildir.

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

Hizmetleri Listele

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

Belirli bir ülke için fiyatlar ve stok dahil mevcut hizmetleri döndürür. Ülke kodu olmadan tüm hizmetleri fiyatsız döndürür.

ParametreTürZorunluAçıklama
countrystringisteğe bağlıISO 3166-1 alpha-2 ülke kodu (örn. us, gb, de)
Yanıt (ülke ile)
[ { "id": 12, "name": "WhatsApp", "slug": "whatsapp", "icon_code": "WA", "icon_color": "#25d366", "category": "social", "price": "0.35", "stock": 847 } ]

Operatörleri Listele

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

Belirli bir ülke için mevcut operatörleri (taşıyıcıları) döndürür. Her operatörün bir türü ve temel hizmet fiyatına uygulanan bir fiyat çarpanı vardır.

ParametreTürZorunluAçıklama
countrystringzorunluISO 3166-1 alpha-2 ülke kodu
Yanıt
[ { "id": 5, "name": "T-Mobile", "type": "physical", "price_multiplier": "1.50", "icon_slug": "tmobile", "icon_domain": "t-mobile.com" } ]

Operatör türleri: virtual — VoIP numaraları, en ucuz, bazı hizmetler tarafından engellenebilir. physical — gerçek SIM kartlar, daha yüksek başarı oranı. premium — en hızlı teslimat (~10sn), en yüksek başarı oranı.

Numara satın al (SMS Aktivasyonu)

POST /api.php?action=buy

Tek kullanımlık SMS doğrulaması için sanal bir numara satın alın. Numara 20 dakika boyunca aktiftir. SMS alınmazsa bakiyeniz otomatik olarak iade edilir.

ParametreTürZorunluAçıklama
countrystringzorunluÜlke kodu (örn. us)
service_idintegerzorunluHizmet Listesi'nden hizmet ID'si
operator_idintegeristeğe bağlıOperatör Listesi'nden operatör ID'si. Varsayılan operatör için boş bırakın.
cURL
Python
JavaScript
curl -X POST https://smsburner.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://smsburner.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://smsburner.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();
Başarılı yanıt
{ "success": true, "order_id": 1847, "price": 0.53, "balance": "73.97" }
Hata: Yetersiz bakiye
{ "error": "Insufficient balance", "need": 0.53, "have": "0.10" }

Siparişleri listele

GET /api.php?action=orders

Telefon numaraları ve SMS kodları dahil en son 50 siparişinizi döndürür. Aktif siparişlerdeki gelen SMS kodlarını kontrol etmek için bu endpoint'i sorgulayın.

Yanıt
[ { "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" } ]

Sipariş durumları: active — SMS bekleniyor. completed — SMS alındı. cancelled — kullanıcı tarafından iptal edildi. refunded — otomatik iade (zaman aşımından önce SMS alınmadı). expired — süresi doldu.

Kiralama fiyatını al

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

Belirli bir operatörden belirli bir süre için özel numara kiralama fiyatını alın.

ParametreTürZorunluAçıklama
countrystringzorunluÜlke kodu
operator_idintegerzorunluOperatör ID
durationintegerzorunluGün cinsinden kiralama süresi: 7, 14, 30 veya 90
Yanıt
{ "price": "12.50", "duration": 30, "operator": "T-Mobile", "type": "physical", "country": "USA" }

Numara Kirala

POST /api.php?action=rental_buy

Bir veya daha fazla özel telefon numarası kiralayın. Numara tüm kiralama süresi boyunca yalnızca size aittir ve sınırsız gelen SMS alır.

ParametreTürZorunluAçıklama
countrystringzorunluÜlke kodu
operator_idintegerzorunluOperatör ID
durationintegerzorunlu7, 14, 30 veya 90 gün
qtyintegeristeğe bağlıKiralanacak numara sayısı (1–10, varsayılan: 1)
Başarılı yanıt
{ "success": true, "order_ids": [1848, 1849], "total": 25.00, "qty": 2, "unit_price": 12.50, "duration": 30, "balance": "49.50" }

Kullanıcı bilgilerini al

GET /api.php?action=user

Mevcut kullanıcının hesap bilgilerini ve bakiyesini döndürür. Kimlik doğrulama durumunu ve mevcut fonları kontrol etmek için kullanın.

Kimliği doğrulanmış
{ "logged_in": true, "id": 42, "prefix": "AbC3", "balance": "74.50" }
Kimliği doğrulanmamış
{ "logged_in": false }

Tam iş akışı örneği

İşte kimlik doğrulayan, hizmet bulan, numara satın alan ve SMS kodunu sorgulayan tam bir Python örneği:

Python
import requests, time BASE = "https://smsburner.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")

Sıkça Sorulan Sorular

SMSBurner SMS doğrulama API'siyle neler yapabilirim?

SMSBurner API'si, geliştiricilere tek seferlik SMS doğrulaması (OTP kodları) ve uzun vadeli numara kiralama (7, 14, 30 veya 90 gün) için 190'dan fazla ülkede sanal telefon numaralarına programatik erişim sağlar. Hizmetleri listeleyebilir, anlık fiyatları sorgulayabilir, numara tahsis edebilir, gelen SMS kodlarını alabilir ve başarısız aktivasyonları iade edebilirsiniz — tümü JSON REST arayüzü üzerinden, KYC olmadan ve yalnızca kripto faturalandırmayla.

API'yi kullanmak için API anahtarı veya OAuth token gerekiyor mu?

Hayır. SMSBurner API'si çerez tabanlı oturum kimlik doğrulaması kullanır: 16 karakterlik erişim seed'inizle /auth-api.php adresine tek bir POST isteği gönderin, ardından dönen oturum çerezini her sonraki çağrıda yeniden kullanın. Temin edilecek, döndürülecek veya iptal edilecek bir API anahtarı yoktur — oturum başına bir kez kimlik doğrularsınız ve çerezin ömrü boyunca kimliğiniz doğrulanmış kalır.

SMSBurner API'sini kullanmak ne kadar tutar?

API'nin kendisi ücretsizdir — aylık ücret, abonelik ve minimum istek hacmi yoktur. Yalnızca numara başına ödeme yaparsınız: tek seferlik SMS aktivasyonları $0.05'ten başlar, özel uzun vadeli kiralamalar ise 7 gün için $4.79'dan başlar. Her işlem ön ödemeli bakiyenizden düşülür ve SMS almayan her aktivasyon otomatik olarak iade edilir.

Hangi programlama dilleri ve çerçeveler destekleniyor?

HTTPS istekleri gönderebilen her dil veya platform API'yi çağırabilir — Python (requests, httpx), Node.js (fetch, axios), Go, PHP, Ruby, Java, C#, cURL ile Bash ve daha fazlası. Dokümantasyon, cURL, Python ve JavaScript'te çalıştırmaya hazır örneklerle birlikte gelir; tercih ettiğiniz dilde türlendirilmiş istemci otomatik oluşturabilmeniz için eksiksiz bir OpenAPI 3.0 belirtimi /openapi.json adresinde yayımlanır.

SMS doğrulama kodum hiç gelmezse ne olur?

Her aktivasyonun 20 dakikalık bir teslimat penceresi vardır. Bu pencere dolmadan SMS gelmezse, sipariş otomatik olarak iptal edilir ve tam tutar hesap bakiyenize iade edilir — destek talebi yok, manuel yeniden deneme yok. İade edilen bakiyeyi hemen başka bir numara tahsis etmek için kullanabilirsiniz; daha yüksek teslimat başarısı için isteğe bağlı olarak farklı bir operatör katmanı (sanal, fiziksel veya premium) seçebilirsiniz.

SMSBurner API'sinde hız sınırı var mı?

Kimlik doğrulama, kaba kuvvet seed deneme saldırılarına karşı koruma amacıyla IP başına 15 dakikada 5 denemeyle sınırlandırılmıştır. Diğer tüm uç noktalar — katalog, satın alma, siparişler, kiralamalar — şu anda kesin bir hız sınırına sahip değildir; ancak istek aralıklarını makul tutmanızı öneririz: SMS alımı için /api.php?action=orders adresini her 3-5 saniyede bir sorgulamak yeterlidir ve saniyede ~10 isteğin üzerindeki sürekli yükler WAF katmanında kısıtlanabilir.