মূল কনটেন্টে যান
100+
দেশসমূহ
১০০০+ পরিষেবা। ক্রিপ্টো দিয়ে পেমেন্ট করুন, KYC ছাড়াই।
নম্বর কিনুন

SMS যাচাইকরণ API — SMSBurner

বড় পরিসরে OTP ভেরিফিকেশন অটোমেট করুন। ১৯০+ দেশ জুড়ে ভার্চুয়াল ফোন নম্বর কিনুন, সেকেন্ডেই SMS কোড গ্রহণ করুন, দীর্ঘমেয়াদি ডেডিকেটেড নম্বর ভাড়া নিন, এবং একটি একক REST এন্ডপয়েন্টের মাধ্যমে প্রতিটি অর্ডার ম্যানেজ করুন — কোনো API কী নেই, কোনো KYC নেই, ক্রিপ্টোকারেন্সিতে বিলিং।

পড়ার সময়: ৫ মিনিট REST · JSON · OpenAPI 3.0 OpenAPI স্পেক →

প্রমাণীকরণ প্রয়োজন। সমস্ত API অনুরোধ কুকি-ভিত্তিক সেশন অথেনটিকেশন ব্যবহার করে। API ব্যবহার করতে হলে আপনাকে অবশ্যই আপনার SMSBurner অ্যাকাউন্টে লগ ইন থাকতে হবে। ওয়েব ইন্টারফেসের মাধ্যমে লগ ইন করুন অথবা একটি সেশন প্রতিষ্ঠা করতে auth এন্ডপয়েন্ট ব্যবহার করুন।

ডেভেলপাররা কেন SMSBurner API বেছে নেন

যেসব ডেভেলপারের অ্যানোনিমিটি, গ্লোবাল কভারেজ ও অনুমানযোগ্য দাম প্রয়োজন তাদের জন্য SMSBurner হলো সবচেয়ে নমনীয় SMS ভেরিফিকেশন API। এন্টারপ্রাইজ চুক্তি, মাসিক ন্যূনতম ও KYC প্রশ্নাবলীর আড়ালে অ্যাক্সেস আটকে রাখা পুরনো SMS-OTP প্রোভাইডারদের থেকে ভিন্নভাবে, SMSBurner যেকোনো HTTPS ক্লায়েন্টের সঙ্গে কাজ করে, কঠোরভাবে প্রতি-নম্বর হিসেবে চার্জ করে, এবং Bitcoin, Monero, Ethereum, USDT, Solana, Litecoin ও TRON সহ ৮টি ক্রিপ্টোকারেন্সি গ্রহণ করে।

সাধারণ ব্যবহারের ক্ষেত্রগুলোর মধ্যে আছে বড় পরিসরের QA-র জন্য অ্যাকাউন্ট সাইনআপ অটোমেট করা, হেডলেস এজেন্ট ও CI বটের জন্য ওয়ান-টাইম পাসওয়ার্ড সংগ্রহ করা, কন্টিনিউয়াস ইন্টিগ্রেশনে ফোন-প্রয়োজনীয় ফ্লো যাচাই করা, নিরবচ্ছিন্ন SMS গ্রহণ প্রয়োজন এমন Telegram বা WhatsApp অ্যাকাউন্টের জন্য দীর্ঘমেয়াদি ডেডিকেটেড নম্বর ভাড়া নেওয়া, এবং সুস্পষ্ট অপারেটর-টিয়ার নিয়ন্ত্রণসহ ১৯০+ দেশ জুড়ে জিও-বণ্টিত ভেরিফিকেশন চালানো — ভার্চুয়াল, ফিজিক্যাল বা প্রিমিয়াম।

প্রমাণীকরণ

API কুকি-ভিত্তিক সেশন প্রমাণীকরণ ব্যবহার করে। প্রোগ্রাম্যাটিকভাবে প্রমাণীকরণ করতে:

  1. আপনার সিড ফ্রেজ দিয়ে /auth-api.php-এ একটি POST রিকোয়েস্ট পাঠান
  2. রেসপন্স থেকে সেশন কুকি সংরক্ষণ করুন
  3. পরবর্তী সব API অনুরোধে কুকিটি অন্তর্ভুক্ত করুন
POST /auth-api.php

আপনার সিড ফ্রেজ দিয়ে প্রমাণীকরণ করুন এবং একটি সেশন তৈরি করুন।

প্যারামিটারধরনআবশ্যকবিবরণ
actionstringআবশ্যকঅবশ্যই "login" হতে হবে
seedstringআবশ্যকআপনার ১৬-অক্ষরের অ্যাক্সেস সীড (যেমন 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" } }
এরর রেসপন্স
{ "success": false, "error": "Invalid seed." }

বেস URL

সব API এন্ডপয়েন্ট আপেক্ষিক:

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

সমস্ত রেসপন্স JSON ফরম্যাটে। POST এন্ডপয়েন্ট application/json এবং application/x-www-form-urlencoded উভয় ধরনের রিকোয়েস্ট বডি গ্রহণ করে।

রেট লিমিট

API নিম্নলিখিত রেট লিমিট প্রয়োগ করে:

এন্ডপয়েন্টসীমাউইন্ডো
প্রমাণীকরণ৫টি চেষ্টা১৫ মিনিট
অন্যান্য সকল এন্ডপয়েন্টকোনো কঠোর সীমা নেই

রেট লিমিটিং: অথেনটিকেশন প্রতি ১৫ মিনিটে ৫ বার প্রচেষ্টায় সীমাবদ্ধ। অন্যান্য এন্ডপয়েন্ট এখন রেট-লিমিটেড নয়, তবে অতিরিক্ত ব্যবহার থ্রটল করা হতে পারে। যুক্তিসঙ্গত ব্যবধানে অনুরোধ পাঠান।

এরর হ্যান্ডলিং

সকল ত্রুটি একটি <code>error</code> ফিল্ডসহ JSON অবজেক্ট হিসেবে ফেরত আসে:

{ "error": "Description of what went wrong" }
HTTP কোডঅর্থ
200সফল (অ্যাপ্লিকেশন-স্তরের ত্রুটির জন্য রেসপন্স বডি পরীক্ষা করুন)
403অবৈধ CSRF টোকেন
405ভুল HTTP মেথড (যেমন শুধুমাত্র POST-এন্ডপয়েন্টে GET)
429রেট লিমিট অতিক্রান্ত হয়েছে

সাধারণ অ্যাপ্লিকেশন-স্তরের ত্রুটিসমূহ:

ত্রুটিকারণ
"Login required"সেশনের মেয়াদ শেষ হয়েছে অথবা প্রমাণীকৃত নয়
"Insufficient balance"পর্যাপ্ত তহবিল নেই — এতে need এবং have ফিল্ড অন্তর্ভুক্ত
"Service not available for this country"নির্বাচিত দেশের জন্য কোনো স্টক নেই বা সার্ভিস নিষ্ক্রিয়
"Missing country or service"প্রয়োজনীয় প্যারামিটার প্রদান করা হয়নি

দেশের তালিকা

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();
রেসপন্স
[ { "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}

একটি নির্দিষ্ট দেশের জন্য উপলব্ধ পরিষেবা, মূল্য ও স্টক সহ ফেরত দেয়। দেশের কোড ছাড়া, মূল্য ছাড়াই সব পরিষেবা ফেরত দেয়।

প্যারামিটারধরনআবশ্যকবিবরণ
countrystringঐচ্ছিকISO 3166-1 alpha-2 দেশের কোড (যেমন us, gb, de)
রেসপন্স (দেশসহ)
[ { "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}

একটি নির্দিষ্ট দেশের জন্য উপলব্ধ অপারেটর (ক্যারিয়ার) ফেরত দেয়। প্রতিটি অপারেটরের একটি ধরন এবং বেস পরিষেবা মূল্যের উপর প্রযোজ্য একটি মূল্য গুণক থাকে।

প্যারামিটারধরনআবশ্যকবিবরণ
countrystringআবশ্যকISO 3166-1 alpha-2 দেশের কোড
রেসপন্স
[ { "id": 5, "name": "T-Mobile", "type": "physical", "price_multiplier": "1.50", "icon_slug": "tmobile", "icon_domain": "t-mobile.com" } ]

অপারেটরের ধরন: virtual — VoIP নম্বর, সবচেয়ে সস্তা, কিছু সেবায় ব্লক হতে পারে। physical — আসল সিম কার্ড, সাফল্যের হার বেশি। premium — সবচেয়ে দ্রুত ডেলিভারি (~১০ সেকেন্ড), সর্বোচ্চ সাফল্যের হার।

নম্বর কিনুন (SMS অ্যাক্টিভেশন)

POST /api.php?action=buy

একবারের SMS যাচাইয়ের জন্য একটি ভার্চুয়াল নম্বর কিনুন। নম্বরটি ২০ মিনিটের জন্য সক্রিয় থাকে। যদি কোনো SMS না আসে, আপনার ব্যালেন্স স্বয়ংক্রিয়ভাবে ফেরত দেওয়া হয়।

প্যারামিটারধরনআবশ্যকবিবরণ
countrystringআবশ্যকদেশের কোড (যেমন us)
service_idintegerআবশ্যকList Services থেকে সার্ভিস আইডি
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

ফোন নম্বর ও SMS কোড সহ আপনার সাম্প্রতিকতম ৫০টি অর্ডার ফেরত দেয়। সক্রিয় অর্ডারে ইনকামিং SMS কোড আছে কিনা যাচাই করতে এই এন্ডপয়েন্ট পোল করুন।

রেসপন্স
[ { "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}

একটি নির্দিষ্ট অপারেটর থেকে নির্দিষ্ট সময়ের জন্য একটি ডেডিকেটেড নম্বর ভাড়া নেওয়ার দাম জেনে নিন।

প্যারামিটারধরনআবশ্যকবিবরণ
countrystringআবশ্যকদেশের কোড
operator_idintegerআবশ্যকঅপারেটর আইডি
durationintegerআবশ্যকদিনে ভাড়ার মেয়াদ: 7, 14, 30, অথবা 90
রেসপন্স
{ "price": "12.50", "duration": 30, "operator": "T-Mobile", "type": "physical", "country": "USA" }

নম্বর ভাড়া নিন

POST /api.php?action=rental_buy

এক বা একাধিক ডেডিকেটেড ফোন নম্বর ভাড়া নিন। সম্পূর্ণ ভাড়ার সময়কালজুড়ে নম্বরটি একান্তভাবে আপনার এবং এটি সীমাহীন ইনকামিং SMS গ্রহণ করে।

প্যারামিটারধরনআবশ্যকবিবরণ
countrystringআবশ্যকদেশের কোড
operator_idintegerআবশ্যকঅপারেটর আইডি
durationintegerআবশ্যক7, 14, 30, বা 90 দিন
qtyintegerঐচ্ছিকভাড়া নেওয়ার জন্য নম্বরের সংখ্যা (১–১০, ডিফল্ট: ১)
সফল রেসপন্স
{ "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

বর্তমান ব্যবহারকারীর অ্যাকাউন্ট তথ্য ও ব্যালেন্স ফেরত দেয়। অথেনটিকেশন স্ট্যাটাস ও উপলব্ধ তহবিল যাচাই করতে এটি ব্যবহার করুন।

প্রমাণিত
{ "logged_in": true, "id": 42, "prefix": "AbC3", "balance": "74.50" }
প্রমাণিত নয়
{ "logged_in": false }

সম্পূর্ণ ওয়ার্কফ্লো উদাহরণ

এখানে একটি সম্পূর্ণ Python উদাহরণ দেওয়া হলো যা অথেন্টিকেট করে, একটি সার্ভিস খুঁজে বের করে, একটি নম্বর কেনে এবং SMS কোডের জন্য পোল করে:

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 ডেভেলপারদের এককালীন SMS ভেরিফিকেশন (OTP কোড) ও দীর্ঘমেয়াদি নম্বর ভাড়ার (৭, ১৪, ৩০ বা ৯০ দিন) জন্য ১৯০+ দেশে ভার্চুয়াল ফোন নম্বরে প্রোগ্রাম্যাটিক অ্যাক্সেস দেয়। আপনি সার্ভিস তালিকাভুক্ত করতে, লাইভ দাম কোয়েরি করতে, নম্বর বরাদ্দ করতে, আগত SMS কোড সংগ্রহ করতে, এবং ব্যর্থ অ্যাক্টিভেশন রিফান্ড করতে পারেন — সবই একটি JSON REST ইন্টারফেসের মাধ্যমে, কোনো KYC নেই এবং শুধু ক্রিপ্টো বিলিং।

API ব্যবহার করতে কি আমার API কী বা OAuth টোকেন দরকার?

না। SMSBurner API কুকি-ভিত্তিক সেশন অথেন্টিকেশন ব্যবহার করে: আপনার ১৬-অক্ষরের অ্যাক্সেস সিড দিয়ে /auth-api.php-তে একটি একক POST রিকোয়েস্ট পাঠান, তারপর পরবর্তী প্রতিটি কলে ফেরত পাওয়া সেশন কুকিটি পুনরায় ব্যবহার করুন। প্রোভিশন, রোটেট বা রিভোক করার মতো কোনো API কী নেই — আপনি প্রতি সেশনে একবার অথেন্টিকেট করেন এবং কুকির আয়ুষ্কাল জুড়ে অথেন্টিকেটেড থাকেন।

SMSBurner API ব্যবহার করতে কত খরচ হয়?

API নিজেই ফ্রি — কোনো মাসিক ফি নেই, কোনো সাবস্ক্রিপশন নেই, এবং কোনো ন্যূনতম রিকোয়েস্ট ভলিউম নেই। আপনি শুধু প্রতি নম্বরে পেমেন্ট করেন: এককালীন SMS অ্যাক্টিভেশন $0.05 থেকে শুরু এবং ৭ দিনের জন্য ডেডিকেটেড দীর্ঘমেয়াদি ভাড়া $4.79 থেকে শুরু। প্রতিটি অ্যাকশন আপনার প্রিপেইড ব্যালেন্স থেকে বিল করা হয়, এবং যে অ্যাক্টিভেশন SMS গ্রহণে ব্যর্থ হয় তা স্বয়ংক্রিয়ভাবে রিফান্ড করা হয়।

কোন প্রোগ্রামিং ভাষা ও ফ্রেমওয়ার্ক সমর্থিত?

যেকোনো ভাষা বা প্ল্যাটফর্ম যা HTTPS রিকোয়েস্ট পাঠাতে পারে তা API কল করতে পারে — Python (requests, httpx), Node.js (fetch, axios), Go, PHP, Ruby, Java, C#, cURL সহ Bash, এবং আরও অনেক। ডকুমেন্টেশনে cURL, Python ও JavaScript-এ রেডি-টু-রান উদাহরণ থাকে, এবং /openapi.json-এ একটি সম্পূর্ণ OpenAPI 3.0 স্পেসিফিকেশন প্রকাশিত, যাতে আপনি আপনার পছন্দের ভাষায় একটি টাইপড ক্লায়েন্ট অটো-জেনারেট করতে পারেন।

আমার SMS যাচাইকরণ কোড না এলে কী হবে?

প্রতিটি অ্যাক্টিভেশনের একটি ২০-মিনিটের ডেলিভারি উইন্ডো থাকে। সেই উইন্ডো শেষ হওয়ার আগে কোনো SMS না এলে, অর্ডারটি স্বয়ংক্রিয়ভাবে বাতিল হয় এবং পুরো দাম আপনার অ্যাকাউন্ট ব্যালেন্সে ফেরত দেওয়া হয় — কোনো সাপোর্ট টিকিট নেই, কোনো ম্যানুয়াল রিট্রাই নেই। আপনি রিফান্ড করা ব্যালেন্স সঙ্গে সঙ্গে ব্যবহার করে আরেকটি নম্বর বরাদ্দ করতে পারেন, প্রয়োজনে উচ্চতর ডেলিভারি সাফল্যের জন্য ভিন্ন একটি অপারেটর টিয়ারে (ভার্চুয়াল, ফিজিক্যাল বা প্রিমিয়াম)।

SMSBurner API-তে কি রেট লিমিট আছে?

অথেন্টিকেশন প্রতি IP-তে প্রতি ১৫ মিনিটে ৫টি প্রচেষ্টায় রেট-লিমিটেড, যা ব্রুট-ফোর্স সিড এনিউমারেশন থেকে রক্ষা করে। অন্য সব এন্ডপয়েন্ট — ক্যাটালগ, বাই, অর্ডার, রেন্টাল — বর্তমানে কোনো কঠোর রেট লিমিট নেই, তবে আমরা অনুরোধ করি যে আপনি রিকোয়েস্টের ব্যবধান যুক্তিসঙ্গত রাখুন: SMS সংগ্রহের জন্য প্রতি ৩–৫ সেকেন্ডে /api.php?action=orders পোল করাই যথেষ্ট, এবং ~10 req/s-এর উপরে টানা বার্স্ট WAF স্তরে থ্রটল করা হতে পারে।