Bulk SMS campaigns
Paste numbers, upload a CSV or pick contact groups. Personalise with {name} and see the exact cost before anything goes out.
Bulk SMS, OTP and SMS API for Sri Lankan businesses. Bulk campaigns, OTPs and alerts from one console and one simple API. No monthly fee, and your credit never expires.
Built for Sri Lankan shops, banks, schools, clinics, delivery companies and developers. Everything you need, and nothing you will not use.
Paste numbers, upload a CSV or pick contact groups. Personalise with {name} and see the exact cost before anything goes out.
Verification codes and order updates sent the moment your system asks.
OTP SMS for Sri LankaOne call to send. JSON in, JSON out, bearer keys you can lock to your server IPs.
SMS gateway APIUnicode is detected automatically. You always see the characters, parts and cost as you type.
Sinhala and Tamil SMSMessages arrive from your brand name, not a random number.
Pick a date and time in Sri Lanka time. Cancel before it goes out and get the credit back.
Status per number, live. Failed messages are refunded automatically.
Unlimited contacts in groups, reusable templates, an opt-out block list, and CSV import or export whenever you need it.
Business name, email and mobile. It is active immediately.
Your brand name, 3–11 characters. Until it is approved you can send with our shared sender.
Bank transfer or cash, then upload the slip. Your balance updates as soon as we confirm it.
Preview the exact cost, send now or schedule, and watch delivery number by number.
No setup fee, no monthly fee, no expiry. The more you send, the less each SMS costs. Try your own numbers.
An estimate from our public rate card. Your rate is set on your account from your monthly volume, and failed messages are refunded. Larger or committed volumes: ask for a quote.
Start sendingBearer keys, personalised bulk sends, scheduled sends, delivery webhooks and a part counter. Same features as the portal, as JSON.
# one request, any number of recipients curl -X POST https://avcsms.lk/api/v1/sms/send \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{"to": "0771234567", "message": "Your OTP is 482913", "sender_id": "MYSHOP"}'
$ch = curl_init('https://avcsms.lk/api/v1/sms/send'); curl_setopt_array($ch, [ CURLOPT_POST => true, CURLOPT_RETURNTRANSFER => true, CURLOPT_HTTPHEADER => ['Authorization: Bearer YOUR_API_KEY', 'Content-Type: application/json'], CURLOPT_POSTFIELDS => json_encode(['to' => '0771234567', 'message' => 'Your OTP is 482913']), ]); $reply = json_decode(curl_exec($ch), true);
const res = await fetch("https://avcsms.lk/api/v1/sms/send", { method: "POST", headers: { Authorization: "Bearer YOUR_API_KEY", "Content-Type": "application/json" }, body: JSON.stringify({ to: "0771234567", message: "Your OTP is 482913" }), }); console.log(await res.json());
import requests r = requests.post("https://avcsms.lk/api/v1/sms/send", headers={"Authorization": "Bearer YOUR_API_KEY"}, json={"to": ["0771234567", "0712345678"], "message": "ඔබේ OTP 482913"}) print(r.status_code, r.json())
/api/v1/sms/sendSend one or up to 10,000 messages
GET/api/v1/sms/{id}Status of one message
GET/api/v1/balanceBalance and rate
POST/api/v1/countParts and cost before sending
Practical guides for Sri Lankan businesses and developers, from the first campaign to an OTP integration.
From an empty account to a delivered campaign, in seven steps.
A cURL function, bulk sends, status checks, webhooks and Laravel.
Built-in fetch, bulk sends, status checks and an Express webhook.
The requests library, bulk sends, status checks and a Flask webhook.
Generate, store, send and check a one-time code the safe way.
Copy-and-adapt messages for shops, schools, clinics, finance and more.
Anything else? Talk to us. A real person answers.
Checking a message? Try the SMS character counter.
Open an account in two minutes, or ask us for a volume quote.