For AI agents
Give your agent a phone number.The phone layer for software that acts on its own.
Agents keep hitting the same wall: the real world runs on phone numbers. Signups want SMS verification. People reply by text. Unknown callers need screening. SimpleSMS turns all of that into API calls an agent can make.
A real phone number of its own
Provision a US or Canada number in one call. Your agent can hold it, text from it, and release it when the job is done. $0.95 a month. We file the carrier registration at no extra charge, and it can text your verified numbers the same day.
POST /v1/numbers { "phone_number": "+14155550132" }
An SMS inbox it can act on
Inbound texts land as clean JSON events. An agent can poll /v1/events or take a webhook, read the message, and decide what to do next: confirmations, replies, hand-offs.
GET /v1/events?type=message.received
Phone verification as a primitive
When an agent signs something up, the OTP flow is two calls. SimpleSMS generates and delivers the code, enforces expiry and attempts, and blocks SMS pumping. Billed only on success.
POST /v1/verify, then POST /v1/verify/check
Know what kind of number it is
Before an agent trusts a number, one lookup returns line type and carrier, so it can tell a mobile from a landline or a VoIP number before it sends.
GET /v1/lookup/+14155550132
Built to be used by agents, not just humans
Every surface has a machine-readable form: an MCP server for tool calls, skills that encode the integration rules, markdown twins of every docs page, and a sandbox where test keys simulate the whole carrier so agents can iterate for free.
MCP https://mcp.joinsimplesms.com
Skills curl -sSL https://joinsimplesms.com/skills/install.sh | sh
Docs https://joinsimplesms.com/docs/llms-full.txt
Spec https://api.joinsimplesms.com/v1/openapi.yaml