Lumaktaw papunta sa pangunahing nilalaman
100+
Mga Bansa
1000+ na serbisyo. Magbayad gamit ang crypto, walang KYC.
Bumili ng Numero

SMS Verification API — SMSBurner

I-automate ang OTP verification sa malaking scale. Bumili ng virtual phone number sa 190+ na bansa, tumanggap ng SMS code sa loob ng ilang segundo, mag-renta ng dedikadong pangmatagalang numero, at pamahalaan ang bawat order sa iisang REST endpoint — walang API key, walang KYC, sinisingil sa cryptocurrency.

Oras ng pagbasa: 5 min REST · JSON · OpenAPI 3.0 OpenAPI spec →

Kinakailangan ang authentication. Lahat ng API requests ay gumagamit ng cookie-based session authentication. Kailangan mong naka-log in sa iyong SMSBurner account para magamit ang API. Mag-log in sa pamamagitan ng web interface o gamitin ang auth endpoint para magtatag ng session.

Bakit pinipili ng mga developer ang SMSBurner API

Ang SMSBurner ang pinaka-flexible na SMS verification API para sa mga developer na nangangailangan ng anonymity, pandaigdigang coverage at napananagot na presyo. Hindi tulad ng mga lumang SMS-OTP provider na nagbabaked ng access sa likod ng enterprise contract, buwanang minimum at KYC questionnaire, gumagana ang SMSBurner sa anumang HTTPS client, sinisingil nang mahigpit na per-number, at tumatanggap ng 8 cryptocurrency kabilang ang Bitcoin, Monero, Ethereum, USDT, Solana, Litecoin at TRON.

Kabilang sa karaniwang gamit ay ang pag-automate ng account signup para sa scaled QA, pagkuha ng one-time password para sa headless agent at CI bot, pag-validate ng mga flow na nangangailangan ng numero sa continuous integration, pag-renta ng dedikadong pangmatagalang numero para sa Telegram o WhatsApp account na nangangailangan ng tuluy-tuloy na pagtanggap ng SMS, at pagpapatakbo ng geo-distributed na verification sa 190+ na bansa na may tahasang operator-tier control — virtual, physical o premium.

Authentication

Gumagamit ang API ng cookie-based session authentication. Upang mag-authenticate sa programmatic na paraan:

  1. Magpadala ng POST request sa /auth-api.php kasama ang iyong seed phrase
  2. I-store ang session cookie mula sa response
  3. Isama ang cookie sa lahat ng susunod na API request
POST /auth-api.php

Mag-authenticate gamit ang iyong seed phrase at magtatag ng session.

ParameterUriKailanganPaglalarawan
actionstringkinakailanganDapat na "login"
seedstringkinakailanganAng iyong 16-karakter na access seed (hal. 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: {...}}
Matagumpay na Response
{ "success": true, "user": { "id": 42, "prefix": "AbC3", "balance": "74.50" } }
Tugon sa Error
{ "success": false, "error": "Invalid seed." }

Base URL

Lahat ng API endpoint ay relative sa:

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

Lahat ng response ay JSON. Ang POST endpoints ay tumatanggap ng parehong application/json at application/x-www-form-urlencoded na request bodies.

Mga Rate Limit

Ipinapatupad ng API ang mga sumusunod na rate limit:

EndpointLimitasyonWindow
Authentication5 na pagsubok15 minuto
Lahat ng ibang endpointsWalang mahigpit na limitasyon

Rate limiting: Ang authentication ay limitado sa 5 pagtatangka bawat 15 minuto. Ang ibang endpoints ay hindi kasalukuyang rate-limited, ngunit maaaring i-throttle ang labis na paggamit. Gumamit ng makatwirang agwat ng request.

Paghawak ng Error

Ang lahat ng errors ay nagbabalik ng JSON object na may <code>error</code> field:

{ "error": "Description of what went wrong" }
HTTP CodeKahulugan
200Matagumpay (tingnan ang response body para sa mga error sa antas ng application)
403Invalid na CSRF token
405Maling HTTP method (hal. GET sa isang POST-only endpoint)
429Lumampas sa rate limit

Karaniwang mga error sa antas ng application:

ErrorDahilan
"Login required"Nag-expire ang session o hindi naka-authenticate
"Insufficient balance"Hindi sapat ang pondo — kasama ang need at have fields
"Service not available for this country"Walang stock o hindi aktibo ang serbisyo para sa napiling bansa
"Missing country or service"Hindi ibinigay ang mga kinakailangang parameter

Ilista ang mga Bansa

GET /api.php?action=countries

Nagbabalik ng lahat ng aktibong bansa na may available na virtual na numero. Walang kinakailangang pagpapatunay.

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

Ilista ang mga Serbisyo

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

Nagbabalik ng available na mga serbisyo para sa isang partikular na bansa, kabilang ang mga presyo at stock. Kung walang country code, ibinabalik ang lahat ng serbisyo nang walang presyo.

ParameterUriKailanganPaglalarawan
countrystringopsyonalISO 3166-1 alpha-2 country code (hal. us, gb, de)
Sagot (may bansa)
[ { "id": 12, "name": "WhatsApp", "slug": "whatsapp", "icon_code": "WA", "icon_color": "#25d366", "category": "social", "price": "0.35", "stock": 847 } ]

Ilista ang mga Operator

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

Nagbabalik ng available na mga operator (carrier) para sa isang partikular na bansa. Bawat operator ay may uri at price multiplier na inilalapat sa base na presyo ng serbisyo.

ParameterUriKailanganPaglalarawan
countrystringkinakailanganISO 3166-1 alpha-2 country code
Sagot
[ { "id": 5, "name": "T-Mobile", "type": "physical", "price_multiplier": "1.50", "icon_slug": "tmobile", "icon_domain": "t-mobile.com" } ]

Mga uri ng operator: virtual — VoIP numbers, pinakamura, maaaring i-block ng ilang serbisyo. physical — tunay na SIM card, mas mataas ang success rate. premium — pinakamabilis na delivery (~10s), pinakamataas ang success rate.

Bumili ng Numero (SMS Activation)

POST /api.php?action=buy

Bumili ng virtual number para sa isang beses na SMS verification. Aktibo ang numero sa loob ng 20 minuto. Kung walang natanggap na SMS, awtomatikong ibabalik ang iyong balanse.

ParameterUriKailanganPaglalarawan
countrystringkinakailanganCountry code (hal. us)
service_idintegerkinakailanganService ID mula sa List Services
operator_idintegeropsyonalOperator ID mula sa List Operators. Iwanang blangko para sa default na operator.
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();
Matagumpay na Response
{ "success": true, "order_id": 1847, "price": 0.53, "balance": "73.97" }
Error: Hindi Sapat ang Balanse
{ "error": "Insufficient balance", "need": 0.53, "have": "0.10" }

Ilista ang mga Order

GET /api.php?action=orders

Nagbabalik ng iyong 50 pinakabagong order, kabilang ang mga numero ng telepono at SMS code. I-poll ang endpoint na ito para tingnan ang mga papasok na SMS code sa aktibong mga order.

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

Mga status ng order: active — naghihintay ng SMS. completed — natanggap ang SMS. cancelled — kinansela ng user. refunded — awtomatikong na-refund (walang SMS na natanggap bago mag-timeout). expired — nag-timeout.

Kunin ang Presyo ng Upa

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

Kunin ang presyo para sa pag-renta ng dedikadong numero mula sa isang partikular na operator sa loob ng ibinigay na tagal.

ParameterUriKailanganPaglalarawan
countrystringkinakailanganCountry code
operator_idintegerkinakailanganOperator ID
durationintegerkinakailanganTagal ng pag-upa sa araw: 7, 14, 30, o 90
Sagot
{ "price": "12.50", "duration": 30, "operator": "T-Mobile", "type": "physical", "country": "USA" }

Umarkila ng Numero

POST /api.php?action=rental_buy

Umupa ng isa o higit pang dedikadong numero ng telepono. Ang numero ay eksklusibong iyo sa buong panahon ng pag-upa at tumatanggap ng walang limitasyong papasok na SMS.

ParameterUriKailanganPaglalarawan
countrystringkinakailanganCountry code
operator_idintegerkinakailanganOperator ID
durationintegerkinakailangan7, 14, 30, o 90 araw
qtyintegeropsyonalBilang ng mga numerong uupahan (1–10, default: 1)
Matagumpay na Response
{ "success": true, "order_ids": [1848, 1849], "total": 25.00, "qty": 2, "unit_price": 12.50, "duration": 30, "balance": "49.50" }

Kunin ang Impormasyon ng User

GET /api.php?action=user

Nagbabalik ng impormasyon ng account at balanse ng kasalukuyang user. Gamitin ito para tingnan ang katayuan ng pagpapatunay at available na pondo.

Na-authenticate
{ "logged_in": true, "id": 42, "prefix": "AbC3", "balance": "74.50" }
Hindi Naka-authenticate
{ "logged_in": false }

Kumpletong Halimbawa ng Workflow

Narito ang isang kumpletong halimbawa sa Python na nag-a-authenticate, naghahanap ng serbisyo, bumibili ng numero, at nagpo-poll para sa SMS code:

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

Mga Madalas Itanong

Ano ang magagawa ko gamit ang SMSBurner SMS verification API?

Nagbibigay ang SMSBurner API sa mga developer ng programmatic na access sa virtual phone number sa 190+ na bansa para sa isang-beses na SMS verification (OTP code) at pangmatagalang pag-renta ng numero (7, 14, 30 o 90 araw). Maaari mong ilista ang mga serbisyo, i-query ang live na presyo, maglaan ng numero, kunin ang mga papasok na SMS code, at i-refund ang mga nabigong activation — lahat sa pamamagitan ng JSON REST interface, walang KYC at crypto-only na pagsingil.

Kailangan ko ba ng API key o OAuth token para gamitin ang API?

Hindi. Gumagamit ang SMSBurner API ng cookie-based na session authentication: magpadala ng iisang POST request sa /auth-api.php gamit ang iyong 16-character na access seed, pagkatapos ay muling gamitin ang ibinalik na session cookie sa bawat susunod na tawag. Walang API key na kailangang i-provision, i-rotate o i-revoke — nag-a-authenticate ka nang isang beses kada session at nananatiling naka-authenticate habang buhay ang cookie.

Magkano ang gastos sa paggamit ng SMSBurner API?

Libre mismo ang API — walang buwanang bayad, walang subscription, at walang minimum na dami ng request. Nagbabayad ka lang per numero: nagsisimula ang isang-beses na SMS activation sa $0.05 at nagsisimula ang dedikadong pangmatagalang rental sa $4.79 para sa 7 araw. Bawat aksyon ay sinisingil laban sa iyong prepaid na balanse, at anumang activation na nabigong makatanggap ng SMS ay awtomatikong nire-refund.

Aling mga programming language at framework ang suportado?

Anumang language o platform na makakapag-issue ng HTTPS request ay maaaring tumawag sa API — Python (requests, httpx), Node.js (fetch, axios), Go, PHP, Ruby, Java, C#, Bash na may cURL, at iba pa. May kasamang mga ready-to-run na halimbawa ang dokumentasyon sa cURL, Python at JavaScript, at inilathala ang kumpletong OpenAPI 3.0 specification sa /openapi.json para awtomatiko kang makagawa ng typed client sa language na pinili mo.

Ano ang mangyayari kung hindi dumating ang SMS verification code ko?

May 20-minutong delivery window ang bawat activation. Kung walang SMS na dumating bago mag-expire ang window na iyon, awtomatikong kinakansela ang order at ibinabalik ang buong presyo sa balanse ng iyong account — walang support ticket, walang manu-manong pag-retry. Maaari mong agad gamitin ang na-refund na balanse para maglaan ng ibang numero, opsyonal sa ibang operator tier (virtual, physical o premium) para sa mas mataas na tagumpay ng delivery.

May rate limits ba sa SMSBurner API?

Ang authentication ay may limitasyong 5 pagtatangka kada 15 minuto kada IP, na nagpoprotekta laban sa brute-force na seed enumeration. Lahat ng iba pang endpoint — catalog, buy, orders, rentals — ay kasalukuyang walang matigas na rate limit, ngunit hinihiling naming panatilihin mong makatwiran ang mga pagitan ng request: ang pag-poll sa /api.php?action=orders kada 3–5 segundo ay sapat na para sa pagkuha ng SMS, at ang tuluy-tuloy na burst na higit sa ~10 req/s ay maaaring i-throttle sa WAF layer.