REST API v1 · Brazil

The simple SMS API built for Brazil.

Send OTPs, alerts, and campaigns with a few lines of code. Predictable REST, typed SDKs, and carrier failover. Prepaid BRL credits never expire — get R$10 free to test, no card required.

REST
clean, typed API
SDK
Node · zero deps
LGPD
native opt-out
Pricing

Pay only for what you send.

Prepaid volume credits. No expiration or monthly fee — the more you send, the lower the SMS price. Start with R$10 free; the first top-up is R$60 (500 SMS).

500 500 credits
Ideal for validating your integration.
R$0.120/ SMS
R$60.00 upfront
Buy credits
1k 1,000 credits
Ideal for validating your integration.
R$0.120/ SMS
R$120.00 upfront
Buy credits
5k 5,000 credits
Save 17% per SMS at this volume.
R$0.100/ SMS
R$500.00 upfront
Buy credits
10k 10,000 credits
Save 25% per SMS at this volume.
R$0.090/ SMS
R$900.00 upfront
Buy credits
100k 100,000 credits
Save 33% per SMS at this volume.
R$0.080/ SMS
R$8,000.00 upfront
Buy credits
250k 250,000 – 999,999 credits
Save 38% per SMS at this volume.
R$0.075/ SMS
R$18,750.00 upfront
Buy credits
Enterprise
1M+ sends per month
Dedicated SMPP, priority routing and custom pricing for high volume.
Custom quote
SMPP · API · Dedicated support
Talk to sales
Live demo

Receive a real SMS now.

Enter your Brazilian mobile number and watch delivery in real time. Limited to one send per number per day.

One SMS per number and device per day. Test delivery is available for Brazilian numbers only. A fixed test message is sent only to the number you provide.

Integration

Integrate in minutes, not sprints

A predictable REST API and official typed SDKs for Node, Python, Go, and PHP — with no third-party dependencies. Authentication is handled for you: copy, paste, and send. No SDK for your stack? REST works everywhere.

Node.js
import { SMSGo } from "@orynlabs/smsgo";
 
const smsgo = new SMSGo({ apiKey: process.env.SMSGO_KEY });
 
const sms = await smsgo.send({
phone: "+5511999990000",
message: "Your code is 184502",
});
 
console.log(sms.id, sms.status); // "a1b2c3…" "queued"
Developer experience first

Built by engineers, for engineers.

We are building the messaging platform we always wanted to use — one that simply works.

keytest_… (SMSGo-key)test
POST/v1/sms/send/single2xx
hooksms.status · test:truetest
balanceno chargetest

Test mode

Validate end to end with a test_ — key — the same endpoints and production-equivalent responses. Nothing is charged or actually sent: delivery is simulated and your webhooks fire with test: true.

Learn more
eventsms.status
urlhttps://app.seudominio.com.br/hooks
idmsg_3aF9
statusdelivered

Modular webhooks

Subscribe to every status change and receive HMAC-SHA256 signed payloads in your API, with exponential-backoff retries.

Learn more
How it works

From signup to your first SMS in under 5 minutes.

01

Create your account

Sign up in seconds and get R$10 in free credit — no credit card required.

02

Get your SMSGo-key

Copy the key from Account → API in the dashboard and paste it into your backend.

03

Send and track

Make one POST request and track each SMS from queue to delivery through the API or webhooks.

Why SMSGo

Everything between a sent SMS
and an SMS that converts.

Complete messaging infrastructure exposed through a clean, predictable API.

RESTful API

Predictable endpoints, clean JSON, and typed responses. Integrate in minutes.

Real-time delivery

Track every SMS: queued, sending, delivered, or failed — through the API or webhooks.

OTP & authentication

One-time codes with priority routing and ready-to-use templates.

Lists and contacts

Import, segment, and send to entire lists with per-contact personalization.

Scheduling

Schedule campaigns and reminders for the right time — Brazilian time zones included.

LGPD compliance

Automatic opt-out and an auditable consent trail.

Everything under control

Visibility into every send.

Track delivery, latency, and failures in real time — without leaving the dashboard.

MESSAGES · DASHBOARD (DEMO)
0
delivered queued
May 31Jun 7Jun 14Jun 21Jun 27
SMS × WhatsApp

SMS starts the conversation.
WhatsApp keeps it going.

Send an affordable SMS that arrives without an installed app, then bring the customer back to WhatsApp for free with a WhatsApp link.

SMS
arrives without an installed app
WhatsApp
brings customers to WhatsApp
free
when they reply
Built in public

Proof, not promises.

No borrowed logos. Trust comes from the code.

Open-source SDK

@orynlabs/smsgo on GitHub and npm. MIT licensed, typed, zero dependencies.

Signed webhooks

Every payload includes an HMAC-SHA256 signature in X-SMSGo-Signature. Verify the source before trusting it — examples included in the docs.

Stable errors

insufficient_balance, rate_limited, validation_error. Versioned enums with the correct HTTP status.

Two-step auth

SMSGo-key → token Bearer valid for 48 hours and cached by the SDK. Less exposure for your API key.

Frequently asked questions

Before you integrate.

Minutes. Create an account, get a Bearer token, and call POST /v1/sms/send/single. You receive free test credits, with no card required.
Every message moves through queued, sending, delivered, or failed. Query the API or receive each transition by webhook.
Yes. One-time codes receive priority routing and ready-to-use templates.
Yes. Automatic opt-out, managed blocklists, and auditable logs provide compliance by default.
You buy prepaid credits with no monthly fee, and they never expire.
Official SDKs are available for Node.js, Python, Go, and PHP, with no third-party dependencies. The REST API works with any stack.
Every request includes X-SMSGo-Signature. Recalculate the HMAC-SHA256 with your secret before trusting the payload.

From npm install
to your first SMS in minutes.

Get R$10 in free credit to test now. No card, no monthly fee.

$ npm install @orynlabs/smsgo