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
Name | Type | Required | Description |
---|---|---|---|
to | string | Yes | Recipient phone number in E.164 format |
message | string | Yes | Message content |
from | string | No | Sender ID or phone number |
EXAMPLE
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!"
}'
{
"id": "msg_1234567890",
"status": "queued",
"to": "+1234567890",
"message": "Hello from send-text.com!"
}
SDKs and Libraries
Node.js
v2.1.0Official Node.js SDK for seamless integration with JavaScript and TypeScript applications.
npm install @send-text/sdk
Python
v1.8.2Python SDK for easy integration with Django, Flask, and FastAPI applications.
pip install sendtext
PHP
v3.0.1PHP SDK supporting Laravel, Symfony, and vanilla PHP applications.
composer require sendtext/sdk
Java
v2.4.0Java SDK with Spring Boot support and comprehensive documentation.
implementation 'com.sendtext:sdk:2.4.0'
Ruby
v1.5.0Ruby SDK for Rails and Sinatra applications with simple integration.
gem install sendtext
Go
v1.2.1Go SDK with built-in rate limiting and connection pooling.
go get github.com/sendtext/sdk
C#
v2.2.0.NET SDK supporting .NET Core and .NET Framework applications.
Install-Package SendText.SDK
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.
Configure Webhook URL
Set up your webhook endpoint in the dashboard to receive callbacks.
https://your-app.com/webhooks/sms
Verify Signature
Validate webhook authenticity using the provided signature.
const isValid = verifyWebhookSignature(
request.headers['x-send-text-signature'],
webhookSecret,
request.rawBody
);
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
Triggered when a message is successfully delivered
Triggered when message delivery fails
Triggered when an inbound message is received
Ready to Get Started?
Set up webhooks in your dashboard to start receiving real-time updates.
Configure WebhooksRate Limits & Error Codes
Rate Limits
Endpoint | Limit | Note |
---|---|---|
Send SMS | 100 requests per minute | Higher limits available on enterprise plans |
Batch Send | 1000 messages per request | Maximum of 10 requests per minute |
Status Checks | 1000 requests per minute | Cached for 60 seconds |
Error Codes
The request was invalid or missing required parameters.
Solution: Check the request parameters and ensure they match the API specification.
Invalid or missing API key.
Solution: Ensure you are using a valid API key and it is included in the Authorization header.
Rate limit exceeded.
Solution: Implement exponential backoff and stay within the rate limits.
An error occurred on our servers.
Solution: Contact support if the issue persists.