ข้ามไปยังเนื้อหาหลัก
100+
ประเทศ
บริการมากกว่า 1000 รายการ ชำระด้วยคริปโต ไม่ต้องยืนยันตัวตน (KYC)
ซื้อหมายเลข

SMS Verification API — SMSBurner

ทำระบบยืนยัน OTP อัตโนมัติในระดับขนาดใหญ่ ซื้อเบอร์โทรเสมือนได้กว่า 190 ประเทศ รับรหัส SMS ภายในไม่กี่วินาที เช่าเบอร์ส่วนตัวระยะยาว และจัดการทุกออเดอร์ผ่าน REST endpoint เดียว — ไม่ต้องใช้ API key ไม่ต้อง KYC ชำระด้วยคริปโต

เวลาอ่าน: 5 นาที REST · JSON · OpenAPI 3.0 สเปก OpenAPI →

ต้องยืนยันตัวตน คำขอ API ทั้งหมดใช้การยืนยันตัวตนแบบเซสชันผ่านคุกกี้ คุณต้องเข้าสู่ระบบบัญชี SMSBurner ของคุณเพื่อใช้งาน API เข้าสู่ระบบผ่านหน้าเว็บหรือใช้เอนด์พอยต์ auth เพื่อสร้างเซสชัน

ทำไมนักพัฒนาจึงเลือกใช้ SMSBurner API

SMSBurner คือ API รับ SMS ยืนยันตัวตนที่ยืดหยุ่นที่สุดสำหรับนักพัฒนาที่ต้องการความเป็นนิรนาม ครอบคลุมทั่วโลก และราคาที่คาดการณ์ได้ ต่างจากผู้ให้บริการ SMS-OTP แบบเดิมที่จำกัดการเข้าถึงไว้เบื้องหลังสัญญาระดับองค์กร ยอดใช้ขั้นต่ำรายเดือน และแบบสอบถาม KYC — SMSBurner ทำงานร่วมกับ HTTPS client ใดก็ได้ คิดค่าบริการตามจำนวนเบอร์อย่างเคร่งครัด และรับคริปโต 8 สกุล ทั้ง Bitcoin, Monero, Ethereum, USDT, Solana, Litecoin และ TRON

กรณีใช้งานทั่วไปได้แก่ การสมัครบัญชีแบบอัตโนมัติสำหรับงาน QA ขนาดใหญ่ การดึงรหัสผ่านครั้งเดียวสำหรับ headless agent และ CI bot การตรวจสอบขั้นตอนที่ต้องใช้เบอร์โทรในระบบ continuous integration การเช่าเบอร์ส่วนตัวระยะยาวสำหรับบัญชี Telegram หรือ WhatsApp ที่ต้องรับ SMS อย่างต่อเนื่อง และการรองรับการยืนยันตัวตนแบบกระจายตามพื้นที่กว่า 190 ประเทศ พร้อมควบคุมระดับผู้ให้บริการได้ชัดเจน — แบบเสมือน แบบกายภาพ หรือแบบพรีเมียม

การยืนยันตัวตน

API ใช้การยืนยันตัวตนแบบเซสชันผ่านคุกกี้ วิธียืนยันตัวตนผ่านโปรแกรม:

  1. ส่งคำขอ POST ไปยัง /auth-api.php พร้อม seed phrase ของคุณ
  2. จัดเก็บคุกกี้เซสชันจากการตอบกลับ
  3. แนบคุกกี้นี้ในคำขอ API ถัดไปทั้งหมด
POST /auth-api.php

ยืนยันตัวตนด้วยซีดเฟรสของคุณและเริ่มเซสชัน

พารามิเตอร์ประเภทจำเป็นต้องกรอกรายละเอียด
actionstringจำเป็นต้องเป็น "login"
seedstringจำเป็นaccess seed 16 ตัวอักษรของคุณ (เช่น 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 endpoint ทั้งหมดอ้างอิงจาก:

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

การตอบกลับทั้งหมดเป็น JSON เอนด์พอยต์ POST รองรับเนื้อหาคำขอทั้งแบบ application/json และ application/x-www-form-urlencoded

ขีดจำกัดอัตราการใช้งาน

API มีการจำกัดอัตราการใช้งานดังนี้:

เอ็นด์พอยต์ขีดจำกัดหน้าต่าง
การยืนยันตัวตน5 ครั้ง15 นาที
เอนด์พอยต์อื่นๆ ทั้งหมดไม่มีขีดจำกัดตายตัว

การจำกัดอัตราการเรียก: การยืนยันตัวตนถูกจำกัดไว้ที่ 5 ครั้งต่อ 15 นาที เอนด์พอยต์อื่นๆ ยังไม่ถูกจำกัดอัตราในขณะนี้ แต่การใช้งานมากเกินไปอาจถูกจำกัดความเร็ว โปรดใช้ช่วงเวลาการเรียกที่เหมาะสม

การจัดการข้อผิดพลาด

ข้อผิดพลาดทั้งหมดจะส่งกลับเป็นออบเจ็กต์ JSON ที่มีฟิลด์ <code>error</code>:

{ "error": "Description of what went wrong" }
รหัส HTTPความหมาย
200สำเร็จ (ตรวจสอบเนื้อหาการตอบกลับสำหรับข้อผิดพลาดระดับแอปพลิเคชัน)
403โทเคน CSRF ไม่ถูกต้อง
405ใช้ HTTP method ผิด (เช่น GET กับ endpoint ที่รับเฉพาะ POST)
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 — ส่งข้อความเร็วที่สุด (~10 วินาที) อัตราความสำเร็จสูงสุด

ซื้อหมายเลข (เปิดใช้งาน SMS)

POST /api.php?action=buy

ซื้อเบอร์เสมือนสำหรับรับ SMS ยืนยันตัวตนแบบครั้งเดียว เบอร์จะใช้งานได้นาน 20 นาที หากไม่ได้รับ SMS ระบบจะคืนยอดเงินให้คุณโดยอัตโนมัติ

พารามิเตอร์ประเภทจำเป็นต้องกรอกรายละเอียด
countrystringจำเป็นรหัสประเทศ (เช่น us)
service_idintegerจำเป็นรหัสบริการจาก List Services
operator_idintegerไม่บังคับรหัสผู้ให้บริการจาก List Operators เว้นว่างไว้เพื่อใช้ผู้ให้บริการเริ่มต้น
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 ที่เข้ามาในคำสั่งซื้อที่ใช้งานอยู่

การตอบกลับ
[ { "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ไม่บังคับจำนวนหมายเลขที่ต้องการเช่า (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

คืนค่าข้อมูลบัญชีและยอดเงินคงเหลือของผู้ใช้ปัจจุบัน ใช้เพื่อตรวจสอบสถานะการยืนยันตัวตนและยอดเงินที่ใช้ได้

ยืนยันตัวตนแล้ว
{ "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 verification API?

API ของ SMSBurner เปิดให้นักพัฒนาเข้าถึงเบอร์โทรเสมือนกว่า 190 ประเทศแบบโปรแกรม สำหรับรับ SMS ยืนยันตัวตนครั้งเดียว (รหัส OTP) และเช่าเบอร์ระยะยาว (7, 14, 30 หรือ 90 วัน) คุณสามารถดูรายการบริการ ตรวจสอบราคาแบบเรียลไทม์ จองเบอร์ ดึงรหัส SMS ที่เข้ามา และขอคืนเงินเมื่อใช้งานไม่สำเร็จ — ทั้งหมดผ่าน JSON REST interface โดยไม่ต้อง KYC และชำระด้วยคริปโตเท่านั้น

ฉันต้องใช้ API key หรือ OAuth token เพื่อใช้งาน API หรือไม่?

ไม่ต้อง API ของ SMSBurner ใช้การยืนยันตัวตนแบบ session ผ่านคุกกี้: ส่งคำขอ POST เพียงครั้งเดียวไปที่ /auth-api.php พร้อม access seed 16 ตัวอักษร แล้วนำ session cookie ที่ได้กลับมาใช้ซ้ำในทุกคำขอถัดไป ไม่มี API key ที่ต้องสร้าง หมุนเวียน หรือเพิกถอน — คุณยืนยันตัวตนเพียงครั้งเดียวต่อ session และยังคงยืนยันตัวตนอยู่ตลอดอายุของคุกกี้

การใช้งาน SMSBurner API มีค่าใช้จ่ายเท่าไร?

ตัว API ใช้ฟรี — ไม่มีค่าบริการรายเดือน ไม่มีการสมัครสมาชิก และไม่มีปริมาณคำขอขั้นต่ำ คุณจ่ายตามจำนวนเบอร์เท่านั้น: การใช้งาน SMS ครั้งเดียวเริ่มต้นที่ $0.05 และการเช่าเบอร์ส่วนตัวระยะยาวเริ่มต้นที่ $4.79 สำหรับ 7 วัน ทุกการใช้งานหักจากยอดเงินที่เติมไว้ล่วงหน้า และการใช้งานใดที่ไม่ได้รับ SMS จะได้รับเงินคืนอัตโนมัติ

รองรับภาษาโปรแกรมมิ่งและเฟรมเวิร์กใดบ้าง?

ภาษาหรือแพลตฟอร์มใดก็ตามที่สามารถส่งคำขอ HTTPS ได้ก็เรียกใช้ API นี้ได้ — Python (requests, httpx), Node.js (fetch, axios), Go, PHP, Ruby, Java, C#, Bash พร้อม cURL และอื่น ๆ เอกสารมาพร้อมตัวอย่างที่รันได้ทันทีทั้งใน cURL, Python และ JavaScript และมีข้อกำหนด OpenAPI 3.0 ฉบับสมบูรณ์เผยแพร่ที่ /openapi.json เพื่อให้คุณสร้าง client แบบระบุชนิดในภาษาที่คุณเลือกได้อัตโนมัติ

จะเกิดอะไรขึ้นหากรหัสยืนยัน SMS ของฉันไม่มาถึง?

ทุกการใช้งานมีช่วงเวลารับ SMS 20 นาที หากไม่มี SMS เข้ามาก่อนหมดช่วงเวลาดังกล่าว ออเดอร์จะถูกยกเลิกอัตโนมัติและคืนเงินเต็มจำนวนเข้ายอดบัญชีของคุณ — ไม่ต้องเปิดตั๋วซัพพอร์ต ไม่ต้องลองใหม่เอง คุณสามารถใช้ยอดเงินที่ได้คืนมาจองเบอร์ใหม่ได้ทันที และเลือกใช้ระดับผู้ให้บริการอื่นได้ (แบบเสมือน แบบกายภาพ หรือแบบพรีเมียม) เพื่อเพิ่มโอกาสรับ SMS สำเร็จ

SMSBurner API มีการจำกัดอัตราการเรียกใช้งาน (rate limit) หรือไม่?

การยืนยันตัวตนจำกัดอัตราไว้ที่ 5 ครั้งต่อ 15 นาทีต่อ IP เพื่อป้องกันการสุ่มเดา seed แบบ brute-force ส่วน endpoint อื่นทั้งหมด — แคตตาล็อก ซื้อ ออเดอร์ เช่า — ยังไม่มีการจำกัดอัตราแบบตายตัว แต่เราขอให้คุณเว้นช่วงคำขออย่างเหมาะสม: การ poll ที่ /api.php?action=orders ทุก 3-5 วินาทีก็เพียงพอสำหรับการรับ SMS แล้ว และการยิงคำขอต่อเนื่องเกิน ~10 req/s อาจถูกจำกัดที่ชั้น WAF