1. Authentication
All API requests require your Bearer API token in the Authorization header or passed as an api_key query parameter.
Authorization: Bearer YOUR_SECRET_API_KEY
Base URL for all REST endpoints: https://usaverifypro.com/api
2. Get User Balance & Profile
Retrieve your real-time account balance and profile details.
curl -X GET "https://usaverifypro.com/api/me" \
-H "Authorization: Bearer YOUR_API_KEY"
{
"ok": true,
"email": "user@example.com",
"balance": 25.50,
"currency": "USD"
}
3. Rent Real USA Physical Non-VoIP Number
Rent a clean physical SIM line from AT&T, Verizon, or T-Mobile tailored for specific services.
| Parameter | Type | Description |
|---|---|---|
| service | string | Service code (e.g. wa for WhatsApp, tg for Telegram, openai for ChatGPT, go for Google). |
| max_price | float (optional) | Maximum price limit you are willing to pay. |
import requests
res = requests.post(
"https://usaverifypro.com/api/order",
headers={"Authorization": "Bearer YOUR_API_KEY"},
json={"service": "wa"} # WhatsApp
)
data = res.json()
print("Order ID:", data["id"])
print("Phone Number:", data["number"]) # e.g. +14159021234
4. Receive SMS OTP Code (Automatic Multi-Code)
Check the status of an active number rental to retrieve incoming SMS codes. Supports automatic multi-code resends.
{
"status": "STATUS_OK",
"code": "849201",
"codes": ["849201"],
"number": "+14159021234"
}
5. Cancel Order & Auto-Refund
Cancel an active order if you wish to release the line early. If no SMS was received, your balance is refunded 100% automatically.
{
"id": "1948201",
"status": "8" // 8 = Cancel & Refund
}
6. Zero-Dependency Python Client (usaverify.py)
Save this complete wrapper file as usaverify.py directly in your project root. It uses only standard requests and connects directly to our 4 core endpoints (/api/me, /api/order, /api/check_sms, /api/cancel):
import time
import requests
class USAVerify:
def __init__(self, api_key: str, base_url: str = "https://usaverifypro.com/api"):
self.api_key = api_key
self.base_url = base_url.rstrip("/")
self.session = requests.Session()
self.session.headers.update({
"Authorization": f"Bearer {self.api_key}",
"Content-Type": "application/json",
"User-Agent": "USAVerify-SDK/1.0.0"
})
def get_me(self) -> dict:
"""Get account profile and live balance.""" res = self.session.get(f"{self.base_url}/me")
res.raise_for_status()
return res.json()
def get_balance(self) -> float:
"""Get live wallet balance as float.""" return float(self.get_me().get("balance", 0.0))
def rent_number(self, service: str = "wa") -> dict:
"""Rent a physical Tier-1 US non-VoIP number for SMS OTP.""" res = self.session.post(f"{self.base_url}/order", json={"service": service})
res.raise_for_status()
return res.json()
def check_sms(self, order_id: str) -> dict:
"""Check status of active rental and retrieve received OTP.""" res = self.session.get(f"{self.base_url}/check_sms", params={"id": str(order_id)})
res.raise_for_status()
return res.json()
def get_sms_code(self, order_id: str, timeout: int = 120, poll_interval: int = 4) -> str:
"""Poll for incoming OTP code until received or timeout expires.""" start = time.time()
while time.time() - start < timeout:
data = self.check_sms(order_id)
if data.get("ok"):
code = data.get("code") or data.get("sms_code")
if code and code not in ["waiting", "pending"]:
return str(code)
time.sleep(poll_interval)
raise TimeoutError(f"SMS code not received within {timeout}s for order {order_id}")
def cancel_order(self, order_id: str) -> dict:
"""Cancel order early and trigger 100% automated refund.""" res = self.session.post(f"{self.base_url}/cancel", json={"id": str(order_id), "status": "8"})
res.raise_for_status()
return res.json()
Usage Quickstart
from usaverify import USAVerify
client = USAVerify(api_key="YOUR_API_KEY")
# 1. Rent physical line
order = client.rent_number(service="wa")
print(f"Rented Phone Number: {order['phone']} (Order ID: {order['id']})")
# 2. Wait for incoming OTP code
code = client.get_sms_code(order_id=order["id"], timeout=120)
print(f" Received SMS OTP Code: {code}")
Discover and generate automated client SDKs or integrate AI agent tools.