208개의 앱154개국

API v12026-11-04

인증 번호 주문 및 SMS 코드 읽기를 위한 JSON API.

기본 URL https://snsverify.com/api/v1

이 페이지의 모든 경로는 상대 경로예요. 금액은 소수점 두 자리까지 표시된 미국 달러(USD)로 표시되며, 시간은 UTC(ISO 8601) 기준이에요.

두 형식, 하나의 계정

이 페이지는 JSON을 사용하는 REST API에 대해 설명해요. 이미 일반적인 SMS 액티베이션 형식(handler_api.php와 action= 파라미터)을 지원하는 도구를 사용 중이라면, SMS 액티베이션 API를 사용하세요. 두 API 모두 동일한 API 키, 가격, 진행 중인 액티베이션 및 환불을 공유해요.

개요

SMS 인증 API를 사용하면 웹사이트를 열지 않고도 직접 소프트웨어에서 앱용 전화번호를 구매하고, 인증 SMS를 기다린 후 코드를 읽을 수 있어요. 각 주문은 하나의 액티베이션으로 구성돼요: 하나의 서비스, 하나의 국가, 하나의 번호, 그리고 20분의 코드 대기 시간이에요. 코드가 도착하지 않은 주문은 대기 시간이 끝나면 전액 환불돼요.

요청은 읽기 작업에는 GET을, 작업 실행에는 POST를 사용해요. POST 본문은 폼 필드나 JSON 형식이 될 수 있어요. 성공 응답은 JSON 객체로 오며, 오류도 항상 같은 구조로 반환돼요: {"error":{"code":"...","message":"..."}}.

인증

콘솔에서 API 키를 생성하세요. API 키는 한 번만 표시되며, 우리는 암호화된 복사본만 보관해요. Authorization 헤더에 베어러 토큰으로 전송하세요. 헤더를 설정할 수 없는 도구의 경우 key 매개변수도 허용해요.

Authorization: Bearer vfk_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

새 키를 만들면 바로 이전 키가 교체돼요. 서비스, 국가 및 가격 엔드포인트는 키 없이도 작동해요.

오류

HTTP의미
400누락되었거나 잘못된 필드 (missing_filter, bad_json).
401키가 없거나 잘못된 키 (no_key, bad_key).
402크레딧이 부족해요 (no_balance).
404알 수 없는 서비스, 국가, 주문 또는 엔드포인트.
409지금은 주문을 처리할 수 없어요(has_code, not_ready, too_many_open, no_numbers).
4291분에 300회 이상의 요청 (rate_limited).

빠른 시작

curl로 UK WhatsApp 번호를 주문한 후, 코드가 도착할 때까지 몇 초마다 주문을 폴링하세요.

curl -X POST https://snsverify.com/api/v1/orders \
  -H "Authorization: Bearer $SNSVERIFY_KEY" \
  -d service=whatsapp -d country=gb

Python

import os, time, requests

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

order = requests.post(f"{API}/orders", headers=H,
    data={"service": "whatsapp", "country": "gb"}).json()["order"]
print("Use this 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://snsverify.com/api/v1";
const H = { Authorization: `Bearer ${process.env.SNSVERIFY_KEY}` };

const { order } = await fetch(`${API}/orders`, {
  method: "POST", headers: H,
  body: new URLSearchParams({ service: "telegram", country: "nl" }),
}).then((r) => r.json());
console.log("Use this 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);

요청 제한

API 키당 분당 300회 요청이 가능하고, 계정당 최대 20개의 주문을 동시에 진행할 수 있어요. 주문 상태는 3~5초마다 확인하는 게 적당해요. 대부분의 인증 코드는 1분 이내에 도착하니까요.

주문 상태

  • waiting 인증 번호가 활성화되었지만 아직 코드가 도착하지 않았어요.
  • received 적어도 하나의 코드가 도착했어요. 코드 대기 시간이 열려 있는 동안 resend로 다른 코드를 요청하세요.
  • finished 코드 수신 후 또는 코드 대기 시간이 끝나면 종료돼요.
  • refunded 코드 대기 시간이 종료되었지만 코드가 도착하지 않았어요. 전체 금액이 크레딧으로 환불되었어요.
  • canceled 인증 코드가 오기 전에 취소하셨기 때문에 전체 금액이 크레딧으로 환불되었어요.

엔드포인트

GET/services

모든 서비스 코드와 이름, 카테고리, 최저 가격이 표시돼요. 키가 필요 없어요.

{"services":[{"code":"whatsapp","name":"WhatsApp","category":"social","from":"0.31"}]}

GET/countries

모든 국가 코드(ISO, 소문자)와 이름 및 전화 코드가 포함되어 있어요. 키가 필요하지 않아요.

{"countries":[{"code":"gb","name":"United Kingdom","dial_code":"44"}]}

GET/prices?service=whatsapp&country=gb

USD 기준 가격이에요. 서비스, 국가 또는 둘 다로 필터링할 수 있어요. 키가 필요하지 않아요.

{"prices":[{"service":"whatsapp","country":"gb","price":"0.94"}]}

GET/balance

USD로 표시된 크레딧.

{"balance":"25.00","currency":"USD"}

POST/orders

번호를 구매해요 (HTTP 201). 주문 정보와 함께 전화번호, 코드 대기 시간이 끝나는 시간을 반환해요.

본문: service=whatsapp&country=gb

{"order":{"id":"AC-7K2M9QX4PB","service":"whatsapp","country":"gb","phone":"+447700900123","price":"0.94","status":"waiting","code":null,"expires_at":"2026-11-04T12:20:00.000Z"},"window_minutes":20}

GET/orders/AC-7K2M9QX4PB

상태와 수신된 모든 코드가 포함된 하나의 주문. 상태: waiting, received, finished, refunded, canceled.

{"order":{"id":"AC-7K2M9QX4PB","status":"received","code":"482915","sms":"Your WhatsApp code: 482-915"}}

GET/orders?status=open

열려 있는 주문들; status=all은 최근 100개를 반환해요.

{"orders":[{"id":"AC-7K2M9QX4PB","status":"waiting"}]}

POST/orders/AC-7K2M9QX4PB/resend

첫 번째 코드 이후 같은 번호로 또 다른 코드를 요청할 수 있어요. 코드 대기 시간 내라면 추가 비용이 없어요.

{"order":{"status":"received","waiting_for_resend":true}}

POST/orders/AC-7K2M9QX4PB/finish

인증 코드를 받은 주문을 종료해요.

{"order":{"status":"finished"}}

POST/orders/AC-7K2M9QX4PB/cancel

코드가 오기 전에 취소하세요. 전체 금액이 크레딧으로 돌아와요.

{"order":{"status":"canceled","refunded":"0.94"}}
SMS 인증 API: WhatsApp, Telegram 및 Google 번호를 위한 REST JSON | SNSVerify