An SMS API your developers will actually like
Send, receive and report on text messages from any app or language. A clean REST API with no SDK to install, at the same 5¢ price.
# send your first message curl https://app.touchsms.com.au/api/v2/sms \ -u "$TOKEN_ID:$TOKEN_SECRET" \ -H "Content-Type: application/json" \ -d '{"messages":[{"to":"+61412345678", "from":"FreshCo","body":"Order ready"}]}' { "data": { "meta": { "creditBalance": 1000 }, "messages": [{ "status": "VALID" }] } }
A set of powerful SMS APIs that drop text messaging straight into your product. Build it yourself with our REST endpoints, or ask us for a tailor-made integration, either way the SMS functionality you need is already here.
From transactional sends like one-time passcodes to bulk marketing blasts of up to 1,000 messages per call, touchSMS is well documented, quick to integrate and built to grow with whatever you're shipping.
Up and running in three steps
Create your API key
Log in and open Settings → API Keys, then click Create API Key. You get a Token ID and Token Secret to authenticate your requests.
Send a request
POST to /api/v2/sms with a messages array, up to 1,000 in one call. Plain REST, no SDK to install.
Handle replies & receipts
Add a webhook subscription for message_received and delivery-status events, or poll /api/v2/inbounds when webhooks aren’t an option.
Send your first SMS in a few lines
There’s no SDK to install. Every endpoint is plain REST with predictable JSON, so you can call it from any language that can make a request.
- Batch up to 1,000 messages per request
- Dry-run endpoint to validate & price first
- Attach metadata to match replies & receipts
const auth = Buffer.from(
`${process.env.TOKEN_ID}:${process.env.TOKEN_SECRET}`
).toString("base64");
const res = await fetch(
"https://app.touchsms.com.au/api/v2/sms", {
method: "POST",
headers: {
Authorization: `Basic ${auth}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
messages: [{
to: "+61412345678",
from: "FreshCo",
body: "Hi Jordan your order is ready."
}]
})
});
const { data } = await res.json();Everything you need, nicely organised
Send SMS & MMS
Single or bulk sends of up to 1,000 SMS (10 MMS) per call, with personalisation, scheduling and metadata.
Validate & price
Runs the same validation as send and returns credit cost and message parts, without sending anything.
Poll replies
Fetch inbound messages newer than a timestamp or ID. For real time, use webhooks instead.
Verify (OTP)
Send and check one-time codes for phone verification, with expiry, templates and metadata.
Account & credits
Read your credit balance, default sender and settings. Also the simplest way to test your auth.
Sender IDs
List the verified sender IDs your account is allowed to send from.
Contacts & groups
List, create, show, update and delete contacts, optionally organised into groups.
Opt-outs & lists
Manage opt-outs and opt-out lists so unsubscribes are handled for compliance automatically.
Production-ready from day one
Using Cursor, VS Code or another AI assistant?
Point your assistant at our MCP server with your API key and it can send SMS, preview costs, read replies and manage contacts without you writing the calls.
Secure, reliable and ready to scale
Security & data protection
Every request is authenticated with account-specific API keys over enforced HTTPS, so your SMS traffic stays locked to your account. Enable or disable keys any time to instantly cut off access. Our servers run onshore across multiple AWS data centres, and your data is encrypted at rest.
Webhooks & callbacks
Need to process inbound replies or track what actually got delivered? Our webhook infrastructure pushes inbound messages and delivery receipts (DLRs) straight to your configured endpoints in real time. Prefer to pull instead of receive? Polling endpoints are available too.
Dedicated virtual numbers
Your number is the Caller ID your messages send from, and the address customers reply to. It is not mandatory for API use, but leasing a dedicated virtual number gives you a consistent two-way identity to send and receive messages through the API.
No developer onboard? We'll build the integration for you.
Interested in an SMS integration but short on engineering time? Talk to our local team about a tailor-made solution that fits the tools you already use.
Ship SMS today. No SDK to install.
get a key in minutes · REST API · local support