Integrate SMS into Your Application in Minutes

Robust, scalable, and easy-to-use SMS APIs for developers.

curl -X POST https://api.send-text.com/v1/messages \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "to": "+1234567890",
    "message": "Hello from send-text.com!"
  }'

Quick Start Guides

const sendText = require('send-text');
const client = new sendText('YOUR_API_KEY');

// Send a message
await client.messages.create();

API Features

Send SMS

Send SMS messages to any phone number worldwide with our simple API.

Receive SMS

Set up webhooks to receive incoming SMS messages in real-time.

Delivery Reports

Track message delivery status with detailed delivery reports.

Two-Way Messaging

Enable two-way conversations with your customers.

Number Masking

Protect user privacy with phone number masking.

Global Reach

Send messages to over 200 countries worldwide.

Use Cases

Two-Factor Authentication

Secure your application with SMS-based 2FA.

Marketing Campaigns

Reach customers with targeted SMS marketing campaigns.

Order Notifications

Keep customers updated on their order status.

Appointment Reminders

Reduce no-shows with automated SMS reminders.

API Reference

ENDPOINT

/v1/messages

DESCRIPTION

Send an SMS message to a phone number.

PARAMETERS

NameTypeRequiredDescription
tostringYesRecipient phone number in E.164 format
messagestringYesMessage content
fromstringNoSender ID or phone number

EXAMPLE

Request
curl -X POST https://api.send-text.com/v1/messages \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "to": "+1234567890",
    "message": "Hello from send-text.com!"
  }'
Response
{
  "id": "msg_1234567890",
  "status": "queued",
  "to": "+1234567890",
  "message": "Hello from send-text.com!"
}

SDKs and Libraries

Node.js logo

Node.js

v2.1.0

Official Node.js SDK for seamless integration with JavaScript and TypeScript applications.

npm install @send-text/sdk
View Documentation
Python logo

Python

v1.8.2

Python SDK for easy integration with Django, Flask, and FastAPI applications.

pip install sendtext
View Documentation
PHP logo

PHP

v3.0.1

PHP SDK supporting Laravel, Symfony, and vanilla PHP applications.

composer require sendtext/sdk
View Documentation
Java logo

Java

v2.4.0

Java SDK with Spring Boot support and comprehensive documentation.

implementation 'com.sendtext:sdk:2.4.0'
View Documentation
Ruby logo

Ruby

v1.5.0

Ruby SDK for Rails and Sinatra applications with simple integration.

gem install sendtext
View Documentation
Go logo

Go

v1.2.1

Go SDK with built-in rate limiting and connection pooling.

go get github.com/sendtext/sdk
View Documentation
C# logo

C#

v2.2.0

.NET SDK supporting .NET Core and .NET Framework applications.

Install-Package SendText.SDK
View Documentation

Testing Tools

Test your SMS integration in real-time with our interactive API playground.

Parameters

Webhooks and Callbacks

Receive real-time updates about message delivery status and incoming messages through webhooks.

1

Configure Webhook URL

Set up your webhook endpoint in the dashboard to receive callbacks.

https://your-app.com/webhooks/sms
2

Verify Signature

Validate webhook authenticity using the provided signature.

const isValid = verifyWebhookSignature(
  request.headers['x-send-text-signature'],
  webhookSecret,
  request.rawBody
);
3

Handle Events

Process different webhook events in your application.

app.post('/webhooks/sms', (req, res) => {
  const event = req.body;
  
  switch(event.type) {
    case 'message.delivered':
      handleDelivered(event);
      break;
    case 'message.failed':
      handleFailed(event);
      break;
    case 'message.received':
      handleInbound(event);
      break;
  }

  res.sendStatus(200);
});

Event Types

message.delivered

Triggered when a message is successfully delivered

message.failed

Triggered when message delivery fails

message.received

Triggered when an inbound message is received

Ready to Get Started?

Set up webhooks in your dashboard to start receiving real-time updates.

Configure Webhooks

Rate Limits & Error Codes

Rate Limits

EndpointLimitNote
Send SMS100 requests per minuteHigher limits available on enterprise plans
Batch Send1000 messages per requestMaximum of 10 requests per minute
Status Checks1000 requests per minuteCached for 60 seconds

Error Codes

400Bad Request

The request was invalid or missing required parameters.

Solution: Check the request parameters and ensure they match the API specification.

401Unauthorized

Invalid or missing API key.

Solution: Ensure you are using a valid API key and it is included in the Authorization header.

429Too Many Requests

Rate limit exceeded.

Solution: Implement exponential backoff and stay within the rate limits.

500Internal Server Error

An error occurred on our servers.

Solution: Contact support if the issue persists.