SMS under your own name, from the API you already use
Transactional messages, managed OTP and replies from the recipient at R$ 0,29 per message. No monthly fee, no minimum, no contract — the same key and the same invoice as your data queries.
Create the account, set up your sender name and send. You pay per message.
Your access code is 482913. Valid for 5 minutes. Do not share it.
Your delivery arrives tomorrow between 9am and 12pm. Confirm? Reply YES.
YES
delivered to your webhookAn SMS thread: two messages go out under your company name and the recipient reply lands on your webhook.
Four steps to your first SMS
It is the same API as the data queries: the key you already have sends messages, and those messages land on the same invoice.
- 1
Create the account and grab the key
Self-service signup, no contract and no sales call. The key that queries a CPF is the same one that sends SMS.
- 2
Set up the sender name
You choose the name that shows up on the handset. Once approved, it signs every message you send.
- 3
Call the endpoint
Number, message and your reference. Delivery typically takes seconds, and sms-status tells you where each message stands.
- 4
Receive the reply
If the recipient replies, the text reaches your webhook signed. Anyone who replies SAIR is suppressed automatically.
// 1. Transactional send — goes out under your sender name $ curl -X POST -H "X-API-Key: SUA_CHAVE" \ "app.fontedata.com/api/v1/consulta/sms-enviar?numero=5511999999999&mensagem=Seu+pedido+1234+saiu+para+entrega&reference=pedido-1234" { "status": "enviado", "creditos": 1, "request_id": "sms_7b3e91" } // 2. Managed OTP — we generate, send and hold the code $ curl -X POST -H "X-API-Key: SUA_CHAVE" \ "app.fontedata.com/api/v1/consulta/otp-send?numero=5511999999999&code_length=6&ttl_seconds=300" { "status": "enviado", "expira_em": 300, "request_id": "otp_5c1d0e" } // 3. Verification is a single call $ curl -X POST -H "X-API-Key: SUA_CHAVE" \ "app.fontedata.com/api/v1/consulta/otp-verify?request_id=otp_5c1d0e&codigo=482913" { "verificado": true }
verificado: true — R$ 0,29 per credit · verification at no costWhat customers send over SMS
Every scenario below runs on the same five endpoints — only the text and the timing of the call change.
Before you accept the signup, confirm the phone belongs to whoever is signing up. Two calls: otp-send and otp-verify.
Second factor at login, on a password change, when registering a Pix key or approving a transfer. You set how many digits the code has and how long it lasts.
Order confirmed, out for delivery, payment due, password changed. The reference makes sure a queue retry never sends the same message twice.
"Reply YES to confirm." The answer lands on your webhook in real time, already tied to the number that received the message.
An SMS code for users who lost access to their email or changed handsets and no longer have the authenticator app — nothing to install.
Stalled queue, declined payment, blown limit. The on-call engineer gets it on the phone and can reply to log that they picked it up.
Five endpoints, one price
Sending consumes credit. Status checks and verification consume nothing.
sms-enviarsms-statusotp-sendotp-verifyotp-resendEvery 160 characters count as one credit. Longer messages consume proportionally more, rounded up, and the send response tells you exactly how many.
What is already switched on, without asking
Anyone who replies SAIR is suppressed immediately and gets a confirmation. Every future message to that number is blocked before it goes out — you keep no list of your own.
Repeated the call with the same reference? It does not send again and it does not charge again. A queue retry stops being a duplicate-message risk.
Replies arrive at the address you register in the portal, with an HMAC signature in the X-FonteData-Signature header. You verify the origin before processing.
500 messages per minute per account, plus protection against repeated sends to the same destination number. If your volume needs more, we adjust it.
In practice the message usually arrives within seconds, but final delivery depends on the recipient carrier. That is why sms-status exists: you check instead of hoping.
Only message people you have a legal basis to contact, for a specific purpose. Every send returns a request_id, which is your record of what went to whom and when.
OTP proves the phone. Data queries prove the owner.
Confirming the person is holding the handset is only half the problem.
An SMS code tells you that someone has access to that number. It does not tell you whose line it is, or whether the CPF they typed matches the account holder. At FonteData both halves live behind the same key: the OTP validates the handset, the query validates the person — and both land on the same invoice, drawn from the same prepaid balance.
- Phones and addresses for a CPF R$ 0,35
- Basic CPF lookup R$ 0,24
- Full personal record R$ 0,72
- Receita Federal — Individual R$ 0,54
- Lead enrichment R$ 0,29
- Death record check R$ 0,43
Per-query pricing, no bundles and no minimum.
When a code is not enough — account opening, a high-value contract, an out-of-pattern withdrawal — the same signup can ask for liveness and a face match against the ID document.
Explore Facial VerificationQuestions before your first send
No. You create the account, top up credit and send. There is no monthly fee, no monthly minimum and no lock-in: each message costs R$ 0,29 and is debited from your prepaid balance.
Your company name. You set the sender in the account settings, it goes through an approval step and from then on it signs every message you send. Recipients see your brand on the handset, not FonteData.
Every 160 characters count as one credit, rounded up: 161 characters cost 2 credits, 400 characters cost 3. The limit is 1,600 characters per message, and the send response already tells you how many credits were consumed.
Yes. Register your webhook in the portal and every reply reaches it, with an HMAC signature in the X-FonteData-Signature header so you can verify the origin before processing. A received message also costs R$ 0,29.
Yes. otp-resend generates a new code and invalidates the previous one — it is the "I did not get the code" button on your screen. A resend counts as a new message.
It is automatic and on by default. Anyone who replies SAIR is suppressed, gets a confirmation and stops receiving your messages. The block happens before the send, so it never even becomes a credit.
500 messages per minute per account, plus abuse protection per destination number that prevents repeated sends to the same handset. If your volume needs more, talk to us.
Not today. Sending is limited to Brazilian mobile numbers: the number must include country code 55 and the area code, digits only (for example, 5511999999999).
Create the account and send your first SMS today
No contract, no monthly fee, no minimum. R$ 0,29 per message, debited from the same balance as your data queries.
Already a FonteData customer? SMS runs on the key you already have.