TODAY SMS

API

Uma API JSON via HTTPS. Envie sua chave API no cabeçalho Authorization. Os preços, os reembolsos e a contagem regressiva de 20 minutos são os mesmos do site.

Endereço base

https://today-sms.com/api/v1

Autenticação

Cabeçalho Authorization: Bearer YOUR_API_KEY. Crie a chave na página Chave API depois da sua primeira recarga. Até 300 requisições por minuto.

curl https://today-sms.com/api/v1/balance \
  -H "Authorization: Bearer YOUR_API_KEY"

GET /balance

Seu saldo em USD.

Exemplo de resposta

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

GET /apps

Apps com números agora: código, nome, menor preço, países.

Exemplo de resposta

[
  { "app": "telegram", "name": "Telegram", "from": "0.4515", "countries": 61 }
]

GET /prices?app=telegram

Países para um app, mais barato primeiro: código do país, código ISO, preço, números disponíveis.

Exemplo de resposta

[
  { "country": "indonesia", "iso": "id", "price": "0.4515", "stock": 702866 }
]

POST /numbers {"app":"telegram","country":"indonesia"}

Compra um número. O preço é descontado do seu saldo.

Exemplo de resposta

{
  "id": 1042,
  "phone": "+6281234567890",
  "price": "0.4515",
  "status": "waiting",
  "expires_at": "2026-10-14T09:20:00Z"
}

GET /numbers/{id}

Status e todos os SMS recebidos até agora.

Exemplo de resposta

{
  "id": 1042,
  "status": "received",
  "sms": [ { "code": "482913", "text": "Your code is 482913", "at": "2026-10-14T09:02:11Z" } ]
}

POST /numbers/{id}/cancel

Cancela um número sem SMS, 120 segundos depois da compra. Reembolso total.

Exemplo de resposta

{
  "id": 1042,
  "status": "canceled",
  "refunded": "0.4515"
}

POST /numbers/{id}/finish

Fecha um número depois que você recebeu o código.

Exemplo de resposta

{
  "id": 1042,
  "status": "finished"
}

Status

waitingNúmero pronto, ainda sem SMS
receivedChegou pelo menos um SMS
finishedFechado depois de um código
canceledCancelado, reembolsado
expiredSem SMS a tempo, reembolsado
checkingResposta do fornecedor pouco clara; reembolsado no fim da contagem regressiva se nenhum número aparecer

Erros

Os erros retornam um status diferente de 2xx e um corpo JSON com um código de erro.

{
  "error": "not_enough_balance"
}
unauthorizedChave API ausente ou errada
not_allowedA API é liberada depois da sua primeira recarga
bad_requestUm campo obrigatório está ausente ou errado
no_numbersNão há números para este app e país agora
not_enough_balanceRecarregue primeiro
too_many_openNúmeros abertos demais; finalize ou cancele alguns
too_earlyO cancelamento é permitido 120 segundos depois da compra
has_smsChegou um SMS; o número não pode ser cancelado
not_foundEste número não existe na sua conta
try_againO fornecedor não confirmou o cancelamento; tente de novo em um minuto
rate_limitedRequisições demais em um minuto