textbee Logotextbee.dev
Plans from $9.99/mo.View Plans
Free tier, no credit card

Text message API for developers

Send and receive text messages from your own phone number with one REST API. textbee runs on an Android phone with your SIM, so every text is a real SMS from a number people recognise and can reply to. No number rental, no per-text pricing, no 10DLC registration to start.

What the text message API does

A text message API and an SMS API are the same thing: SMS is the technical name for a text. textbee gives you one endpoint to send, a webhook or a cursor to receive, and delivery status for each message.

Everything the textbee text message API covers.
CapabilityHow it works
Send a textPOST /gateway/send-sms with one or many recipients in E.164 form
Receive textsSigned webhook per incoming message, or GET /gateway/messages with a cursor
Delivery statusWebhooks for sent, delivered and failed
Schedule a textPass scheduledAt and the API holds the message until then
Sender numberThe SIM in your own Android phone
Client librariesJavaScript SDK, or plain HTTPS from any language
No-coden8n, Zapier and Make nodes, plus an MCP server for AI agents
PriceFree for 300 texts a month, Pro $9.99 for 5,000, Scale $29.99 for 25,000 (see pricing)

Send your first text message

  1. 1

    Install the app and link your phone

    Get the APK from the download page, install it on an Android phone with a working SIM, then scan the code from your dashboard to link the device to your account.

  2. 2

    Create an API key

    In your dashboard, create an API key. It goes in the x-api-key header on every request. Keep it in an environment variable, never in source control.

  3. 3

    Send the text

    POST to /gateway/send-sms with the recipients and the message. The phone sends it over the SIM and the response carries a batch id you can follow for delivery status.

Shell
curl -X POST https://api.textbee.dev/api/v1/gateway/send-sms \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"recipients": ["+12015550123"], "message": "Hello from textbee"}'

The same call with the JavaScript SDK

JavaScript
import { Textbee } from '@textbee/sdk'

const textbee = new Textbee({ apiKey: process.env.TEXTBEE_API_KEY })

await textbee.sendSms({
  recipients: ['+12015550123'],
  message: 'Your appointment is tomorrow at 10:00. Reply C to confirm.',
})

The full request and response shapes are in the API reference, and you can try a call in the browser on the playground.

Receive text messages

Because the sender is a real number, replies come back to the same phone. Read them with a cursor, or have textbee push each one to your server as it arrives.

poll.sh
curl "https://api.textbee.dev/api/v1/gateway/messages?direction=received&limit=50" \
  -H "x-api-key: YOUR_API_KEY"
webhook.js
// One POST per incoming text, signed so you can verify it came from textbee.
app.post('/webhooks/textbee', (req, res) => {
  const { sender, message, receivedAt } = req.body
  console.log(`${sender} said: ${message} at ${receivedAt}`)
  res.sendStatus(200)
})

Signature verification and retry behaviour are in the webhook docs.

How it differs from a cloud texting API

The pricing and sender model of cloud providers next to textbee.
ProviderPriceSenderSetup
Cloud SMS providersPer text, plus a monthly number rental, plus carrier fees in the USA number you rent from them, with 10DLC registration for US trafficAccount review, number purchase, brand and campaign registration
textbeeFlat monthly plan, texts included, no per-text feeYour own phone numberInstall the app, scan a code, create an API key

Provider by provider numbers are on the comparison pages and the SMS pricing pages.

Honest limits

One phone sends roughly 10 to 15 messages a minute, so a large blast takes time to drain. Carriers can filter bulk patterns on consumer SIMs. Marketing messages still need consent from the recipient under the local rules.

  • The phone has to stay on, charged and connected to send.
  • Throughput is one phone. Add more devices to the same account for more volume.
  • Marketing at high volume in the US belongs on a registered 10DLC route from a cloud provider.

Send texts from your language

Each page has runnable samples for sending, webhooks, cursor polling and error handling in one language.

Frequently asked questions

Is a text message API the same thing as an SMS API?

Yes. SMS is the technical name for a text message, so a text message API and an SMS API are the same product. textbee uses both names. The API sends and receives ordinary texts that show up in the recipient's messaging app like any other.

Can I send a text to any phone number?

Yes. Texts go out over the SIM in your own Android phone, so you can reach any number that phone can text. There is no allow list, no verified-numbers step and no trial prefix on the message.

Do I need 10DLC registration to send texts in the US?

No registration step is part of textbee setup. 10DLC is how messaging platforms register brands for traffic on numbers they provision. textbee sends from the SIM in your own phone, so there is no brand, campaign or number to register. Consent rules and your carrier's fair use terms still apply, and high volume marketing in the US belongs on a registered route.

Can people reply to the texts I send?

Yes. Every text comes from a real phone number, so replies land on that phone and textbee delivers them to you: either as a POST to your webhook URL, or through GET /gateway/messages with cursor pagination.

How fast does a text arrive?

The phone hands the message to the carrier within seconds of the API call, and delivery from there is the same as any text you send by hand. One phone sends roughly 10 to 15 texts a minute, so a login code or a reminder is quick and a large blast takes time to drain.

Is there a free text message API tier?

Yes. The Free plan sends 300 texts a month, up to 50 a day, from one Android device, with no credit card. Pro is $9.99 a month for 5,000 messages and Scale is $29.99 for 25,000.

Your phone is already an SMS gateway. Switch it on.

Set up in minutes and send your first message for free. No credit card, no per-message fees, no carrier contracts.

Free tier forever No credit card required Open source