Developer API · Crypto billing · Zero KYC

SMS API with Crypto

Send text messages from your software, website, or backend. Pay with Bitcoin, USDT, Monero, and more. No ID verification needed.

Quickstart

Send an SMS in 4 lines of code

Simple JSON over HTTPS. Works with any language.

POST https://gsm7.com/api/v1/sms/send
Header: Authorization: Bearer YOUR_API_KEY
curl -X POST https://gsm7.com/api/v1/sms/send \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "to": "+14155552671",
    "from": "YOURBRAND",
    "message": "Your verification code is 482910"
  }'

Request parameters

Field Type Required Description
to string or array Required Phone number with country code (e.g. +14155552671). For bulk, pass an array of numbers.
message string Required The message text. 160 characters for standard text, 70 characters with emojis.
from string Optional Sender name (up to 11 characters) or number (up to 15 digits). Defaults to GSM7.

Sample response

{
  "success": true,
  "message": "SMS sent.",
  "data": {
    "message_id": "gsm7_msg_8c1f0e2a9b7d4c6e5f10",
    "recipient": "+14155552671",
    "sender_id": "YOURBRAND",
    "segments": 1,
    "rate_per_segment": 0.0085,
    "total_cost": 0.0085,
    "status": "delivered",
    "remaining_balance": 28.9915
  }
}
Questions

Frequently asked questions

Quick answers for developers integrating our API.

How do I authenticate?

Send your API key in the Authorization header as Bearer YOUR_API_KEY. You get your key immediately after signup.

Can I send to multiple numbers at once?

Yes. Pass an array of numbers or a comma-separated list in the "to" field.

What happens if my balance runs out?

The API returns an error stating insufficient balance. We never send on overdraft or allow negative balances.