Developer API

I-automate ang mga verification sa malaking scale

Ang SNSPhone API ay nagbibigay-daan sa iyong mga tool na mag-order ng US non-VoIP numbers, basahin ang mga SMS code at pamahalaan ang mga rental. Dalawang format: isang REST API na may JSON, at ang karaniwang SMS activation format para sa mga existing na script.

Mabilis na simula

Base URL https://snsphone.com/api/v1. Gumawa ng key sa API page ng console at ipadala ito bilang Authorization: Bearer spk_... (o isang key field). Lahat ng numero ay US non-VoIP. Ang pera ay USD string na may 2 decimals, ang mga oras ay ISO 8601 UTC, 300 requests bawat minuto bawat key. Mga presyo mula noong 2026-11-03.

Python

import os, time, requests

API = "https://snsphone.com/api/v1"
H = {"Authorization": f"Bearer {os.environ['SNSPHONE_KEY']}"}

order = requests.post(f"{API}/orders", headers=H, data={"service": "google"}).json()["order"]
print("Use this US number:", order["phone"])

while True:
    o = requests.get(f"{API}/orders/{order['id']}", headers=H).json()["order"]
    if o["code"] or o["status"] in ("refunded", "canceled"):
        break
    time.sleep(4)
print("Code:", o["code"])

Node.js

const API = "https://snsphone.com/api/v1";
const H = { Authorization: `Bearer ${process.env.SNSPHONE_KEY}` };

const { order } = await fetch(`${API}/orders`, {
  method: "POST", headers: H, body: new URLSearchParams({ service: "discord" }),
}).then((r) => r.json());
console.log("Use this US number:", order.phone);

let o = order;
while (!o.code && !["refunded", "canceled"].includes(o.status)) {
  await new Promise((r) => setTimeout(r, 4000));
  ({ order: o } = await fetch(`${API}/orders/${order.id}`, { headers: H }).then((r) => r.json()));
}
console.log("Code:", o.code);

Catalog

GET/services

Bawat service code kasama ang pangalan nito, kategorya, presyo ng verification at mga rental period. Hindi kailangan ng key.

Public, hindi kailangan ng key.

curl "https://snsphone.com/api/v1/services"
{"country":"us","services":[{"code":"whatsapp","name":"WhatsApp","category":"Messaging","verification":"0.90","rentals":[]},{"code":"telegram","name":"Telegram","verification":"0.45","rentals":[{"days":365,"period":"1 year","price":"37.44"}]}]}

GET/prices?service=telegram

Mga presyo sa USD, opsyonal para sa isang service. Hindi kailangan ng key.

Public, hindi kailangan ng key.

curl "https://snsphone.com/api/v1/prices?service=telegram"
{"country":"us","prices":[{"service":"telegram","type":"verification","days":null,"price":"0.45"},{"service":"telegram","type":"rental","days":365,"price":"37.44"}]}

GET/balance

Ang iyong credit sa USD.

Kailangan ang iyong API key.

curl "https://snsphone.com/api/v1/balance" \
  -H "Authorization: Bearer $KEY"
{"balance":"25.00","currency":"USD"}

Mga Pag-verify

POST/orders

Bumili ng verification (201). Nagbabalik ng US number at ang oras kung kailan magtatapos ang 20 minute window.

Kailangan ang iyong API key.

curl -X POST "https://snsphone.com/api/v1/orders" \
  -H "Authorization: Bearer $KEY" \
  -d "service=whatsapp"
{"order":{"id":"VR-7K2M9QX4PB","service":"whatsapp","country":"us","phone":"+14155550142","number":"4155550142","status":"waiting","code":null,"expires_at":"2026-11-03T12:20:00.000Z"},"window_minutes":20}

GET/orders/VR-7K2M9QX4PB

Isang verification kasama ang status nito at bawat code na natanggap. Mga status: waiting, received, finished, refunded, canceled.

Kailangan ang iyong API key.

curl "https://snsphone.com/api/v1/orders/VR-7K2M9QX4PB" \
  -H "Authorization: Bearer $KEY"
{"order":{"id":"VR-7K2M9QX4PB","status":"received","code":"482913","sms":"Your WhatsApp code is 482913"}}

GET/orders?status=open

Ang iyong mga open verification (status=all para sa huling 100).

Kailangan ang iyong API key.

curl "https://snsphone.com/api/v1/orders?status=open" \
  -H "Authorization: Bearer $KEY"
{"orders":[...]}

POST/orders/VR-7K2M9QX4PB/resend

Humiling ng another code sa parehong numero, pagkatapos ng unang code at habang bukas pa ang window. Walang dagdag na bayad.

Kailangan ang iyong API key.

curl -X POST "https://snsphone.com/api/v1/orders/VR-7K2M9QX4PB/resend" \
  -H "Authorization: Bearer $KEY"
{"order":{"status":"received","waiting_for_resend":true}}

POST/orders/VR-7K2M9QX4PB/finish

Isara ang isang verification na nakatanggap na ng code nito.

Kailangan ang iyong API key.

curl -X POST "https://snsphone.com/api/v1/orders/VR-7K2M9QX4PB/finish" \
  -H "Authorization: Bearer $KEY"
{"order":{"status":"finished"}}

POST/orders/VR-7K2M9QX4PB/cancel

I-cancel bago dumating ang code. Ang buong presyo ay ibabalik sa iyong credit.

Kailangan ang iyong API key.

curl -X POST "https://snsphone.com/api/v1/orders/VR-7K2M9QX4PB/cancel" \
  -H "Authorization: Bearer $KEY"
{"order":{"status":"canceled","refunded":"0.90"}}

Mga Rental

POST/rentals

Mag-rent ng US number para sa isang service at period (201). Ang days ay opsyonal kapag ang service ay may isang period.

Kailangan ang iyong API key.

curl -X POST "https://snsphone.com/api/v1/rentals" \
  -H "Authorization: Bearer $KEY" \
  -d "service=telegram&days=365"
{"rental":{"id":"RN-4J8T2W6QHM","service":"telegram","phone":"+13125550198","days":365,"period":"1 year","price":"37.44","status":"active","ends_at":"2027-11-03T12:00:00.000Z","messages":[]}}

GET/rentals?status=active

Ang iyong mga active rental kasama ang kanilang latest messages (status=all para sa huling 100).

Kailangan ang iyong API key.

curl "https://snsphone.com/api/v1/rentals?status=active" \
  -H "Authorization: Bearer $KEY"
{"rentals":[...]}

GET/rentals/RN-4J8T2W6QHM

Isang rental kasama ang bawat SMS na natanggap dito.

Kailangan ang iyong API key.

curl "https://snsphone.com/api/v1/rentals/RN-4J8T2W6QHM" \
  -H "Authorization: Bearer $KEY"
{"rental":{"id":"RN-4J8T2W6QHM","status":"active","messages":[{"from":"Telegram","sms":"Telegram code: 57291","code":"57291","received_at":"2026-11-03T12:01:12.000Z"}]}}

POST/rentals/RN-4J8T2W6QHM/renew

Magdagdag ng isa pang period sa parehong presyo.

Kailangan ang iyong API key.

curl -X POST "https://snsphone.com/api/v1/rentals/RN-4J8T2W6QHM/renew" \
  -H "Authorization: Bearer $KEY"
{"rental":{"renewed":1,"ends_at":"2028-11-02T12:00:00.000Z"}}

POST/rentals/RN-4J8T2W6QHM/cancel

I-cancel sa unang 20 minuto habang walang SMS na dumating. Lahat ng binayad ay ibabalik sa iyong credit.

Kailangan ang iyong API key.

curl -X POST "https://snsphone.com/api/v1/rentals/RN-4J8T2W6QHM/cancel" \
  -H "Authorization: Bearer $KEY"
{"rental":{"status":"canceled","refunded":"37.44"}}

Format ng SMS activation

Para sa mga tool na nakakaintindi na ng common activation format. Isang URL, isang action field, plain text answers. Mga verification lang.

https://snsphone.com/stubs/handler_api.php?api_key=KEY&action=ACTION
ActionKaragdagang fieldAnswerMeaning
getBalancenoneACCESS_BALANCE:12.50Ang iyong credit sa USD.
getServicesListnone{"status":"success","services":[{"code":"whatsapp","name":"WhatsApp"}]}Mga service code na may presyo ng verification (JSON).
getCountriesnone{"us":{"name":"United States","dial":"1"}}United States lang. Ang country ay maaaring us, 187 o iwanang blangko.
getPrices&service=whatsapp{"us":{"whatsapp":{"cost":0.9,"count":100}}}Mga presyo sa USD. Ang service filter ay opsyonal.
getNumber&service=whatsapp&country=usACCESS_NUMBER:VR-7K2M9QX4PB:14155550142Bumili ng verification. Nagbabalik ng id at ang numero na may 1 sa harap.
getStatus&id=VR-7K2M9QX4PBSTATUS_OK:482913STATUS_WAIT_CODE, STATUS_OK:<code>, STATUS_WAIT_RETRY:<last code> (another code na hiningi), STATUS_CANCEL (canceled o refunded).
setStatus&id=VR-7K2M9QX4PB&status=3ACCESS_RETRY_GETstatus=1 ready (ACCESS_READY), 3 another code (ACCESS_RETRY_GET), 6 finish (ACCESS_ACTIVATION), 8 cancel na may full refund habang walang code na dumating (ACCESS_CANCEL).

Errors

Ang REST errors ay dumating bilang {"error":{"code","message"}} na may mga status code na ito. Ang activation format ay sumasagot ng plain word.

400Kulang o maling field (bad_json, bad_period).
401Walang key o maling key (no_key, bad_key).
402Kulang sa credit (no_balance).
404Hindi kilalang service, order, rental o endpoint, o produkto na wala sa service (not_sold).
409Hindi pwede ngayon (has_code, has_sms, too_late, not_ready, too_many_open, too_many_active, no_numbers).
429Higit sa 300 requests sa isang minuto (rate_limited).
BAD_KEYKulang o maling API key.
BAD_ACTIONHindi kilalang action.
BAD_SERVICEHindi kilalang service code.
BAD_COUNTRYHindi United States, o ang service ay for rental lang.
NO_BALANCEKulang sa credit.
NO_NUMBERSWalang available na number ngayon. Subukan ulit mamaya.
NO_ACTIVATIONHindi kilalang id, o hindi sayo.
EARLY_CANCEL_DENIEDMay dumating nang code, kaya hindi na ma-cancel.
NO_ACTIVATIONSMay 20 verifications nang open.
TOO_MANY_REQUESTSHigit sa 300 requests sa isang minuto.

Mga tanong sa API

Mga sagot tungkol sa keys, limits at polling.

May SMS verification API ba ang SNSPhone?

Meron. REST API na may JSON sa /api/v1 para sa services, prices, verifications at rentals, at common SMS activation format sa /stubs/handler_api.php.

Paano ako mag-authenticate ng API requests?

Gumawa ng key sa API page ng console at isend bilang Authorization: Bearer spk_..., o bilang key field. Ang keys ay naka-store lang bilang hash at ipapakita minsan.

Ano ang API rate limits?

300 requests kada minuto kada key, hanggang 20 open verifications at 20 active rentals kada account.

Mas mahal ba ang API orders kaysa website orders?

Hindi. Parehong presyo at refund rules ang API at console.

Paano ko malalaman kung dumating na ang code?

I-poll ang GET /orders/{id} kada ilang segundo. Magbabago ang status mula waiting tungong received at lalabas ang code field na may digits.

Non-VoIP SMS Verification API: Mga Numero ng US sa pamamagitan ng REST | SNSPhone