Skip to content

IOT SMS for automations and IoT

Let your systems text you.

Send alerts from servers, sensors, cron jobs and workflow tools with one HTTP call, or let an AI assistant send them through the UniSMS MCP server. A delivery webhook for every message, ₱0.50 per SMS and down to ₱0.35.

Start free on the default Sender ID · Works from anything that speaks HTTPS

Interface
REST API and MCP server
Price per SMS
₱0.50, down to ₱0.35
Delivery status
A webhook for every message
Credits
Never expire

What systems send

Alerts that find you, wherever you are.

One HTTP call from a script, a device or a workflow tool, or a tool call from your AI assistant.

POST /api/sms

Server and uptime alerts

Text the on-call engineer when a disk fills up, a job fails or a site goes down. Your monitoring script sends one message per alert.

db-01 disk at 92%. Please check before it fills up.

POST /api/sms

Device and sensor notifications

Gateways and controllers that can make an HTTPS request can text a threshold, a fault or a status change.

Farm-07: Water tank level low (18%). Pump 2 started automatically.

MCP · send_sms

Workflows and AI assistants

Connect Claude, Cursor, OpenCode or n8n to the UniSMS MCP server. They can send SMS, check delivery and read your credits as tool calls.

Daily report done. 1,284 orders processed, 0 failed payments.

One request

A disk alert from a cron job.

Drop one curl into your monitoring script. Tag the message with metadata to match the delivery webhook back to the host.

  • Works from bash, Python, Node.js, n8n's HTTP Request node, or anything that can make an HTTPS request.
  • Alerting your own team on Globe or DITO? The default Sender ID is enough to start.
  • Check your balance from a script with GET /api/account, or ask your AI assistant through the MCP server.
Read the SMS API docs →

disk-alert.sh

$ curl -X POST \
    https://unismsapi.com/api/sms \
    -u $UNISMS_SECRET_KEY: \
    -H "Content-Type: application/json" \
    -d '{
      "sender_id": "Unisoft",
      "recipient": "+639171234567",
      "content": "db-01 disk at 92%.",
      "metadata": {"host": "db-01"}
    }'
# 201 Created
{
  "message": {
    "reference_id": "msg_3f9c1e07-…",
    "status": "pending",
    "recipient": "+639171234567"
  }
}
# Then a webhook for each message:
{
  "event": "message.sent",
  "message": {
    "recipient": "+639171234567",
    "metadata": {"host": "db-01"}
  }
}

Why UniSMS

Built for scripts and agents.

One HTTP call

Basic auth with your API key and a JSON body. No SDK required.

An MCP server for AI tools

send_sms, get_sms and get_credits for Claude, Cursor, OpenCode and n8n.

Delivery you can track

A webhook for every message, so your system knows the alert went out.

No subscription

Pay only for messages sent. Failed ones are refunded, and prepaid credits never expire.

Getting started

Live in three steps.

  1. 01

    Create an account

    Get your API key. Verify your mobile number for 10 free SMS credits.

  2. 02

    Add one call

    Put a curl in your script or connect the MCP server to your AI tool, and send on the default Sender ID.

  3. 03

    Go wider when you need to

    To reach Smart, TNT and Sun numbers, apply for your own Sender ID. Telco approval takes 7–14 business days.

FAQ

Questions about automations.

Do I need my own Sender ID for alerts to my team?
Not if your team uses Globe or DITO. The default Sender ID reaches those networks. To reach Smart, TNT or Sun numbers, apply for your own Sender ID.
Can I send SMS from n8n?
Yes. Use n8n's HTTP Request node with POST /api/sms, or connect n8n to the UniSMS MCP server. The MCP docs walk through the setup.
Which AI tools work with the MCP server?
Claude Desktop, Claude Code, Cursor, OpenCode and n8n. The server exposes send_sms, get_sms and get_credits.
How do I know an alert was delivered?
Set a webhook URL and UniSMS posts message.sent, message.failed or message.retrying for every message, with your metadata. You can also look a message up with GET /api/sms/:reference_id.
Can I check my credit balance from a script?
Yes. GET /api/account returns your SMS credits and SID tokens, so a script can warn you before you run out.
Do credits expire?
No. Prepaid credits never expire, and failed messages are refunded automatically.

Your systems, finally talking back.

Create a free account, copy your API key and send your first alert in minutes.