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