मुख्य सामग्री पर जाएँ
100+
देश
1000+ सर्विसेज़। Crypto से भुगतान, बिना KYC।
नंबर खरीदें

SMS वेरिफिकेशन API — SMSBurner

OTP वेरिफिकेशन को बड़े पैमाने पर ऑटोमेट करें। 190+ देशों में वर्चुअल फोन नंबर खरीदें, सेकंडों में SMS कोड पाएं, डेडिकेटेड दीर्घकालीन नंबर किराए पर लें, और हर ऑर्डर को एक REST endpoint से प्रबंधित करें — कोई API key नहीं, बिना KYC, क्रिप्टोकरेंसी में बिलिंग।

पढ़ने का समय: 5 मिनट REST · JSON · OpenAPI 3.0 OpenAPI स्पेसिफ़िकेशन →

Authentication आवश्यक है। सभी API रिक्वेस्ट cookie-based session authentication उपयोग करते हैं। API उपयोग करने के लिए आपको अपने SMSBurner अकाउंट में लॉगइन होना चाहिए। Web interface से लॉगइन करें या session बनाने के लिए auth endpoint उपयोग करें।

डेवलपर्स SMSBurner API क्यों चुनते हैं

SMSBurner उन डेवलपर्स के लिए सबसे लचीला SMS वेरिफिकेशन API है जिन्हें गुमनामी, ग्लोबल कवरेज और पूर्वानुमानित मूल्य निर्धारण की ज़रूरत है। बड़े एंटरप्राइज़ अनुबंधों, मासिक न्यूनतम और KYC प्रश्नावलियों के पीछे गेट करने वाले पुराने SMS-OTP प्रोवाइडर्स के विपरीत, SMSBurner किसी भी HTTPS क्लाइंट से काम करता है, केवल प्रति-नंबर चार्ज करता है, और 8 क्रिप्टोकरेंसी स्वीकार करता है जिनमें Bitcoin, Monero, Ethereum, USDT, Solana, Litecoin और TRON शामिल हैं।

सामान्य उपयोग केसेस में scaled QA के लिए अकाउंट साइनअप ऑटोमेट करना, headless agents और CI bots के लिए OTP कोड प्राप्त करना, continuous integration में फोन-आवश्यक फ्लो वैलिडेट करना, Telegram या WhatsApp अकाउंट्स के लिए डेडिकेटेड दीर्घकालीन नंबर किराए पर लेना, और वर्चुअल, फ़िज़िकल या प्रीमियम ऑपरेटर टियर नियंत्रण के साथ 190+ देशों में geo-distributed वेरिफिकेशन शामिल हैं।

Authentication

API कुकी-आधारित सेशन ऑथेंटिकेशन का उपयोग करता है। प्रोग्रामेटिक रूप से प्रमाणित करने के लिए:

  1. अपने seed phrase के साथ /auth-api.php पर POST request भेजें
  2. उत्तर से सेशन cookie संग्रहीत करें
  3. सभी बाद के API अनुरोधों में cookie शामिल करें
POST /auth-api.php

अपने seed phrase से authenticate करें और session स्थापित करें।

पैरामीटरप्रकारRequiredविवरण
actionstringआवश्यक"login" होना चाहिए
seedstringआवश्यकआपका 16-अक्षरीय एक्सेस seed (जैसे 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: {...}}
सफल उत्तर
{ "success": true, "user": { "id": 42, "prefix": "AbC3", "balance": "74.50" } }
Error Response
{ "success": false, "error": "Invalid seed." }

Base URL

सभी API endpoints इससे संबंधित हैं:

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

सभी रेस्पॉन्स JSON में होते हैं। POST endpoints दोनों application/json और application/x-www-form-urlencoded request bodies स्वीकार करते हैं।

Rate Limits

API निम्नलिखित रेट सीमाएं लागू करता है:

Endpointसीमाविंडो
Authentication5 प्रयास15 मिनट
अन्य सभी endpointsकोई निश्चित सीमा नहीं

Rate limiting: Authentication 15 मिनट में 5 प्रयासों तक सीमित है। अन्य endpoints अभी rate-limited नहीं हैं, लेकिन अत्यधिक उपयोग throttle हो सकता है। उचित request अंतराल रखें।

Error Handling

सभी त्रुटियाँ <code>error</code> फ़ील्ड वाला JSON ऑब्जेक्ट लौटाती हैं:

{ "error": "Description of what went wrong" }
HTTP Codeअर्थ
200सफल (एप्लिकेशन-स्तरीय त्रुटियों के लिए response body जांचें)
403Invalid CSRF token
405गलत HTTP विधि (जैसे POST-only endpoint पर GET)
429Rate limit exceeded

सामान्य application-level त्रुटियाँ:

त्रुटिकारण
"Login required"Session expired or not authenticated
"Insufficient balance"पर्याप्त फंड नहीं — need और have फ़ील्ड शामिल हैं
"Service not available for this country"चयनित देश के लिए कोई स्टॉक या सेवा उपलब्ध नहीं
"Missing country or service"Required parameters were not provided

देश सूची

GET /api.php?action=countries

उपलब्ध वर्चुअल नंबरों वाले सभी सक्रिय देश लौटाता है। प्रमाणीकरण आवश्यक नहीं।

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();
Response
[ { "id": 1, "code": "us", "name": "USA" }, { "id": 2, "code": "gb", "name": "UK" }, { "id": 3, "code": "de", "name": "Germany" } ]

सेवा सूची

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

किसी विशेष देश के लिए उपलब्ध सेवाएं, मूल्य और स्टॉक सहित लौटाता है। देश कोड के बिना, मूल्य के बिना सभी सेवाएं लौटाता है।

पैरामीटरप्रकारRequiredविवरण
countrystringवैकल्पिकISO 3166-1 alpha-2 देश कोड (जैसे us, gb, de)
Response (देश सहित)
[ { "id": 12, "name": "WhatsApp", "slug": "whatsapp", "icon_code": "WA", "icon_color": "#25d366", "category": "social", "price": "0.35", "stock": 847 } ]

ऑपरेटर सूची

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

किसी विशेष देश के लिए उपलब्ध ऑपरेटर (कैरियर) लौटाता है। प्रत्येक ऑपरेटर का एक प्रकार और आधार सेवा मूल्य पर लागू मूल्य गुणक होता है।

पैरामीटरप्रकारRequiredविवरण
countrystringआवश्यकISO 3166-1 alpha-2 देश कोड
Response
[ { "id": 5, "name": "T-Mobile", "type": "physical", "price_multiplier": "1.50", "icon_slug": "tmobile", "icon_domain": "t-mobile.com" } ]

ऑपरेटर प्रकार: virtual — VoIP नंबर, सबसे सस्ते, कुछ सर्विसेज़ द्वारा ब्लॉक हो सकते हैं। physical — असली SIM कार्ड, अधिक सक्सेस रेट। premium — सबसे तेज़ डिलीवरी (~10s), सर्वाधिक सक्सेस रेट।

नंबर खरीदें (SMS Activation)

POST /api.php?action=buy

एकबारगी SMS सत्यापन के लिए एक वर्चुअल नंबर खरीदें। नंबर 20 मिनट तक सक्रिय रहता है। यदि कोई SMS प्राप्त नहीं होता, तो आपका बैलेंस स्वचालित रूप से वापस कर दिया जाता है।

पैरामीटरप्रकारRequiredविवरण
countrystringआवश्यकदेश कोड (जैसे us)
service_idintegerआवश्यकList Services से Service ID
operator_idintegerवैकल्पिकList Operators से ऑपरेटर ID। डिफ़ॉल्ट ऑपरेटर के लिए छोड़ दें।
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();
सफल उत्तर
{ "success": true, "order_id": 1847, "price": 0.53, "balance": "73.97" }
त्रुटि: अपर्याप्त बैलेंस
{ "error": "Insufficient balance", "need": 0.53, "have": "0.10" }

ऑर्डर सूची

GET /api.php?action=orders

आपके 50 सबसे हालिया ऑर्डर, फ़ोन नंबर और SMS कोड सहित लौटाता है। सक्रिय ऑर्डर पर इनकमिंग SMS कोड जांचने के लिए इस Endpoint को poll करें।

Response
[ { "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" } ]

ऑर्डर स्टेटस: active — SMS का इंतज़ार। completed — SMS मिल गया। cancelled — यूज़र ने रद्द किया। refunded — ऑटो-रिफंड (टाइमआउट से पहले कोई SMS नहीं आया)। expired — समय समाप्त।

नंबर रेंटल कीमत देखें

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

किसी निश्चित ऑपरेटर से निधार्रित अवधि के लिए डेडिकेटेड नंबर किराए पर लेने की कीमत जानें।

पैरामीटरप्रकारRequiredविवरण
countrystringआवश्यकदेश कोड
operator_idintegerआवश्यकऑपरेटर ID
durationintegerआवश्यककिराया अवधि दिनों में: 7, 14, 30, या 90
Response
{ "price": "12.50", "duration": 30, "operator": "T-Mobile", "type": "physical", "country": "USA" }

नंबर किराए पर लें

POST /api.php?action=rental_buy

एक या अधिक समर्पित फ़ोन नंबर किराए पर लें। पूरी किराया अवधि के दौरान नंबर विशेष रूप से आपका होता है और असीमित इनकमिंग SMS प्राप्त करता है।

पैरामीटरप्रकारRequiredविवरण
countrystringआवश्यकदेश कोड
operator_idintegerआवश्यकऑपरेटर ID
durationintegerआवश्यक7, 14, 30, या 90 दिन
qtyintegerवैकल्पिककिराए पर लेने वाले नंबरों की संख्या (1–10, डिफ़ॉल्ट: 1)
सफल उत्तर
{ "success": true, "order_ids": [1848, 1849], "total": 25.00, "qty": 2, "unit_price": 12.50, "duration": 30, "balance": "49.50" }

यूज़र जानकारी देखें

GET /api.php?action=user

वर्तमान उपयोगकर्ता की खाता जानकारी और बैलेंस लौटाता है। प्रमाणीकरण स्थिति और उपलब्ध धनराशि जांचने के लिए इसका उपयोग करें।

Authenticated
{ "logged_in": true, "id": 42, "prefix": "AbC3", "balance": "74.50" }
प्रमाणित नहीं
{ "logged_in": false }

संपूर्ण Workflow उदाहरण

यह एक संपूर्ण Python उदाहरण है जो authenticate करता है, सर्विस ढूंढता है, नंबर खरीदता है, और SMS कोड के लिए poll करता है:

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")

अक्सर पूछे जाने वाले सवाल

मैं SMSBurner SMS वेरिफिकेशन API से क्या कर सकता हूं?

SMSBurner API डेवलपर्स को 190+ देशों में वर्चुअल फोन नंबरों तक प्रोग्रामेटिक एक्सेस देता है — एक-बारी SMS वेरिफिकेशन (OTP कोड) और दीर्घकालीन नंबर रेंटल (7, 14, 30 या 90 दिन) के लिए। आप सेवाएं लिस्ट कर सकते हैं, लाइव मूल्य निर्धारण क्वेरी कर सकते हैं, नंबर आवंटित कर सकते हैं, SMS कोड प्राप्त कर सकते हैं, और विफल एक्टिवेशन रिफंड कर सकते हैं — सभी JSON REST इंटरफ़ेस से, बिना KYC और केवल क्रिप्टो बिलिंग।

क्या API इस्तेमाल करने के लिए मुझे API key या OAuth token चाहिए?

नहीं। SMSBurner API कुकी-आधारित सेशन ऑथेंटिकेशन उपयोग करता है: /auth-api.php पर अपने 16-अक्षर के एक्सेस seed के साथ एक POST रिक्वेस्ट भेजें, फिर हर अगली कॉल में लौटाई गई सेशन कुकी इस्तेमाल करें। कोई API key प्रोविज़न, रोटेट या रिवोक नहीं करनी — आप प्रति सेशन एक बार ऑथेंटिकेट करते हैं और कुकी के जीवनकाल तक ऑथेंटिकेटेड रहते हैं।

SMSBurner API इस्तेमाल करने में कितनी लागत आती है?

API खुद फ्री है — कोई मासिक शुल्क नहीं, कोई सब्स्क्रिप्शन नहीं, कोई न्यूनतम रिक्वेस्ट वॉल्यूम नहीं। आप केवल प्रति नंबर भुगतान करते हैं: एक-बारी SMS एक्टिवेशन $0.05 से शुरू होते हैं और डेडिकेटेड दीर्घकालीन रेंटल 7 दिनों के लिए $4.79 से। हर कार्रवाई आपके प्रीपेड बैलेंस से बिल होती है, और कोई भी एक्टिवेशन जो SMS प्राप्त करने में विफल रहती है वो स्वचालित रिफंड हो जाती है।

कौन-सी प्रोग्रामिंग भाषाएं और फ्रेमवर्क समर्थित हैं?

कोई भी भाषा या प्लेटफॉर्म जो HTTPS रिक्वेस्ट भेज सकती है API कॉल कर सकती है — Python (requests, httpx), Node.js (fetch, axios), Go, PHP, Ruby, Java, C#, Bash with cURL, और अन्य। डॉक्यूमेंटेशन cURL, Python और JavaScript में ready-to-run उदाहरण के साथ आती है, और /openapi.json पर प्रकाशित पूरा OpenAPI 3.0 स्पेसिफ़िकेशन आपकी पसंदीदा भाषा में typed client ऑटो-जेनरेट करने के लिए अनुमति देती है।

अगर मेरा SMS वेरिफिकेशन कोड कभी नहीं आता तो क्या होगा?

प्रत्येक एक्टिवेशन के लिए 20 मिनट की डिलीवरी विंडो होती है। अगर उस विंडो से पहले कोई SMS नहीं आता, तो ऑर्डर स्वचालित रूप से रद्द हो जाता है और पूरी राशि आपके अकाउंट बैलेंस में वापस क्रेडिट हो जाती है — कोई सपोर्ट टिकेट नहीं, कोई मैनुअल रिट्राय नहीं। आप तुरंत रिफंड बैलेंस से दूसरा नंबर आवंटित कर सकते हैं, विकल्प रूप से उच्चतर डिलीवरी सक्सेस के लिए विभिन्न ऑपरेटर तिमाही पर।

क्या SMSBurner API पर रेट लिमिट हैं?

ऑथेंटिकेशन प्रति IP प्रति 15 मिनट में 5 प्रयासों तक सीमित है, जो brute-force seed enumeration से सुरक्षा करता है। अन्य सभी endpoints — catalog, buy, orders, rentals — वर्तमान में कोई कठोर रेट लिमिट नहीं है, पर हम अनुरोध करते हैं कि रिक्वेस्ट अंतराल उचित रखें: SMS प्राप्ति के लिए /api.php?action=orders हर 3–5 सेकंड पोल करना पर्याप्त है, और ~10 req/s से उपर सतत बर्स्ट WAF लेयर पर throttle हो सकते हैं।